You are on page 1of 11

BASES DE DATOS

Clase 1:
Tema 1: Programación de bases de datos.
Una base de datos se puede crear de forma gráfica y escrita mediante instrucciones.
Los guiones o scripts son programas en una base de datos (instrucciones).
Se utilizará el dialecto Transact-SQL para la programación de bases de datos.
1.1.Repaso del SQL para manipulación de datos.

Clase 2:
Continuación del repaso…
Subconsultas:

- La subconsulta debe devolver un único valor que puede ser de cualquier tipo.
- También puede aparecer en el select.
- A pesar de que existen Subconsultas, es más sencillo hacerlo a través de “joins” o
combinaciones.
Código de subconsulta:
Select
From
Where expresión >
(select
From
Where.)
Ejemplo de subconsulta:
Select
From facturas
Where VtanGravadas >
(select avg(vtasgravadas)
From Facturas
Where cliente = ‘Aurum Solutions’)
Ejemplo de Joins:
Select distinct Departamentos.*
From Empleados join Departamentos
On Empleados.Departamento = Departamentos.IdDep
Where Empleados.Trabajo = ‘Oficinista’

- Degradan rendimiento, consumen muchos recursos.


- Es mejor evitarlas cuando se puede.
- Subconsultas con exist e in es mejor hacerlo con combinaciones.

Ejemplo utilizando base de datos “Planilla”:


- Crea una nueva tabla.

SELECT: sirve para consultar los datos.


INSERT: agrega un registro nuevo.
Ejemplo:
Insert into empleados
(DUI, nombre, apellido, fechanacimiento) values
(556, ‘Aparicio’, ‘Gómez’, ‘1990-04-05’)
UPDATE: modifica un registro existente.
DELETE: Borra registros existentes.
Ejercicio usando la base de datos “Planilla”:
- En la BD de planilla, insertar un nuevo empleado.

Otra sintaxis de la instrucción insert:


Insert into tabla
Select instrucción_select

Ejemplo:
- Crear (con créate table) una tabla llamada ClientesA.
- Incluid en ella los clientes que comiencen por A.

Clase 3: Continuación de repaso…

Instrucción UPDATE: Sirve para modificar registros existentes en la tabla.


Ejemplo:
Update empleados
set salario = 1000
where nombre = ‘Juan’ and
apellido = ‘Pérez’
Ejercicio:

Para realizar los registros se necesita un JOIN:

Instrucción DELETE:
Borrar el primer empleado.

Borrar todos los oficinistas.

Utilizando INNER JOIN; borrar todos los del departamento “Compras”:


1.2 Aspectos procedimentales.
SQL estándar es un lenguaje que sólo permite hacer definición, recuperación y
modificación de datos en una BD relacional.
Para las variables y el control de flujo hay dos soluciones:
1. Utilizar SQL desde otro lenguaje de programación: desde Java o enviar
comandos SQL desde Java; programar desde .NET y enviar los comandos
desde .NET.
2. Extender SQL para añadir aspectos que faltan. (O sea pagar más…)
Transact-SQL (extendido) nos permite definir variables locales para poder guardar datos.
Las variables se escriben con una arroba adelante:
Declare @nombrevariable tipo
Ejemplo:
Declare @apellido char(50)
El comando set es la instrucción de asignación:
Ejemplo:
Set @variable = 2

Clase 4: Continuación 1.2

Ejercicios:
Obtener el número de empleados en la tabla Empleados.
Escribir sentencias Transact-SQL que imprima los datos del empleado con salario más alto
de forma verbosa:
En un programa, el orden de ejecución predeterminado es ejecutar primero los comandos
que hay arriba y después los que hay abajo.
Transact-SQL tiene las instrucciones de control de flujo de todo lenguaje imperativo: el
condicional “if” y el ciclo o bucle “while”.
Sintaxis:
If condición
Begin
Instrucciones1
End
Else
Begin
Instrucciones2
End

Ejercicio:
Obtener el salario y comisión del empleado “José Portillo” con la sentencia print.
Ejemplo de While:

Clase 5: Administración de Bases de datos

Lote: conjunto de instrucciones Transact-SQL que acaban con la palabra clave go.
Ejemplo:
Use prueba
Insert into empleados (nombre,
Teléfono) values (‘Juan’, ‘222-3333’)
Select * from empleados
Go

Restricciones de los lotes:


En un lote, las instrucciones créate default, créate procedure, créate rule, entre otras, no se
pueden combinar con otras instrucciones.

Ejercicio:
Crear una secuencia de comandos que liste de forma verbal la suma de salarios por
departamento ordenado de manera alfabética de departamento.

Clase 6: Integridad

Integridad:
 Hay integridad en una BD cuando sus datos son coherentes entre ellos
mismos y con la realidad que modelan.
 Hay integridad cuando los datos son correctos.
 La integración se consigue: Programación correcta, Transacciones,
Restricciones y Triggers.
Transacción: Conjunto de operaciones de la base de datos que e ejecutan como una unidad:
se ejecutan todas o bien no se ejecuta ninguna.
Ejemplo Transacciones:
Begin tran
Update cuentas
Set saldo = saldo -1000
Where numCuentas = 1
Update cuentas
Set saldo = saldo +1000
Where numCuenta = 2
Commit tran
Ejercicio:

Diferencia entre lotes y transacciones


Los lotes envían un grupo de comandos juntos en la BD mientras que las transacciones
hacen que la BD procese conjuntamente un grupo de comandos.
Nota: Las transacciones solo tienen efecto sobre los comandos de modificación: insert,
update y delete.
Rollback tran hace que se cancele la transacción.
@@error: Variable que devuelve el número de error de la última instrucción Transact-SQL
ejecutada.
Rollback trans también es útil para hacer pruebas.
Si se quiere borra solo una parte de la transacción entonces e guarda la transacción con el
comando save tran nombre y se puede borrar la parte de la transacción con el comando
rollback tran nombre.
Una transacción debe seguir la regla ACID
Atomica: Se ejecuta todos los cambios o no se ejecuta ninguno
Consistente: Deja el estado de la BD de forma consistente
Isolated: Se ejecuta de forma aislada de otras transacciones
Duradera: Los cambios son permanentes

You might also like