La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

IBD Clase 14. UNLP - Facultad de InformáticaIBD - CLASE 14 2 Lenguajes de consulta Lenguajes de consulta: utilizados para operar con la BD. Procedurales:

Presentaciones similares


Presentación del tema: "IBD Clase 14. UNLP - Facultad de InformáticaIBD - CLASE 14 2 Lenguajes de consulta Lenguajes de consulta: utilizados para operar con la BD. Procedurales:"— Transcripción de la presentación:

1 IBD Clase 14

2 UNLP - Facultad de InformáticaIBD - CLASE 14 2 Lenguajes de consulta Lenguajes de consulta: utilizados para operar con la BD. Procedurales: (instrucciones para realizar secuencia de operaciones) (qué y cómo) No procedurales: (solicita directamente la información deseada) (qué). Nos concentraremos primero en las consultas, dejando de lado updates.

3 UNLP - Facultad de InformáticaIBD - CLASE 14 3 Lenguajes de consulta Álgebra Relacional: Lenguaje de consultas procedural Operaciones de uno o dos relaciones de entrada que generan una nueva relación como resultado Operaciones fundamentales Unitarias Selección Proyección Renombre Binarias Producto cartesiano Unión diferencia

4 UNLP - Facultad de InformáticaIBD - CLASE 14 4 Lenguajes de consulta Supongamos la tabla Prestamo = (nombre_sucursal, monto, dirección) Selección: Operador Selecciona tuplas que satisfacen un predicado dado. La condición puede tener conectivos lógicos (And, Or, Not) y operadores de comparación <>, >, =, <=, = Ej1: prestamos otorgados por la sucursal XXX. Ej2: prestamos otorgados por la sucursal XXX y con monto superior a 1200$

5 UNLP - Facultad de InformáticaIBD - CLASE 14 5 Lenguajes de consulta Proyección: Operador Devuelve la relación argumento con columnas omitidas. Si quedan tuplas repetidas se excluyen. Ej3: nombres de sucursal que figuran en préstamo Ej4: sucursal cuyo monto sea superior a $10000.

6 UNLP - Facultad de InformáticaIBD - CLASE 14 6 Lenguajes de consulta xProducto Cartesiano: Operador x Conecta dos entidades de acuerdo a la definición matemática de la operación. Tabla Cliente = (nombre_cte, dirección, tel) Opera = (nombre_cte, nombre_banquero, monto) Ej5: cada cliente con sus datos personales y banquero que opera. Ej6: todos los clientes y su dirección, que operan con el banquero YYY.

7 UNLP - Facultad de InformáticaIBD - CLASE 14 7 Lenguajes de consulta Renombrar: Operación Permite utilizar la misma tabla en un (por ej.) producto cartesiano. Tabla Cliente = (nombre_cte, dirección, tel) Ej7: clientes que viven en la misma dirección que el cliente ZZZ

8 UNLP - Facultad de InformáticaIBD - CLASE 14 8 Lenguajes de consulta Unión: Operación Equivalente a la unión matemática. Las instancias repetidas se eliminan automáticamente. Las dos tablas deben ser de unión compatibles Igual cantidad de atributos i-ésimo atributo de 1º tabla y i-ésimo atributo de 2º tabla deben tener el mismo dominio (i:1..n) Ej8: clientes que tengan cta corriente o caja ahorro en la sucursal xxx

9 UNLP - Facultad de InformáticaIBD - CLASE 14 9 Lenguajes de consulta -Diferencia: Operación - Equivalente a diferencia de Conjuntos. Las dos tablas deben ser de unión compatibles Ej9: Clientes de la sucursal xxx que tienen tiene ctacte y no tienen caja ahorro

10 UNLP - Facultad de InformáticaIBD - CLASE Lenguajes de consulta Definición de Álgebra Relacional: Una expresión básica en AR consta de Una relación de una Base de Datos Relación constante Una expresión general se construye a partir de sub- expresiones (E1,E2,...En) Expresiones: E1 E2 E1 - E2 E1 x E2 p (E1) P predicado con atributos en E1 s (E1) S lista de atributos de E1 x (E1) X nuevo nombre de E1

11 UNLP - Facultad de InformáticaIBD - CLASE Lenguajes de consulta Álgebra Relacional Operaciones Adicionales: no añaden potencia, solo simplifican consultas comunes Intersección Producto Natural División Asignación

12 UNLP - Facultad de InformáticaIBD - CLASE Lenguajes de consulta Intersección: Operación Equivalente a la Intersección matemática. Se puede definir en funcion de la Unión y Diferencia Ej10: Clientes de la sucursal xxx que tienen tiene ctacte y tienen caja ahorro

13 UNLP - Facultad de InformáticaIBD - CLASE Lenguajes de consulta |x| Producto Natural: Operación |x| Realiza el producto cartesiano con una selección de tuplas con sentido eliminando las columnas (atributos) repetidas. Combinacion de Selección y Producto Cartesiano Resultado= tuplas donde los nombre y valores de los atributos que se repiten en ambas tablas son iguales. x|x| Si R y S son dos relaciones que no tienen atributos en común -> R x S= R |x| S |x| (cond) (cond) |x|R |x| (cond) S = (cond) ( R |x| S )

14 UNLP - Facultad de InformáticaIBD - CLASE Lenguajes de consulta Producto Natural Clientes=(nomcli,direccion,tel) Prestamos=(sucursal,nomcli) Ej11: clientes con préstamos en un banco Ej12: clientes con préstamos en la sucursal XXX |x|Si coincidera mas de un atributo entre las tablas a realizar |x|, el mismo se realiza por la coincidencia de todos los atributos comunes a la vez. Ver ejemplo

15 UNLP - Facultad de InformáticaIBD - CLASE Lenguajes de consulta % División: Operación % Dado R1 y R2, el resultado son los valores de atributos de R1, que se relacionan con todas las tuplas de R2 R1 % R2 sii Esquema de R2 está incluido en el Esquema de R1 Esq( R1 % R2)= Esq( Esq(R1) – Esq(R2) ) Hacen_Cursos=(# alu, nom_curso) Cursos=(nom_curso) -> Hacen_Cursos % Cursos (alumnos que hicieron todos los cursos que existen)

16 UNLP - Facultad de InformáticaIBD - CLASE Lenguajes de consulta Asignación: Operación Expresión que asigna a una variable temporal el resultado de una operación. Temp Operación del Álgebra Ej10: Clientes de la sucursal xxx que tienen tiene ctacte y tienen caja ahorro A (ctacte) (cahorro), D1 (ctacte) - (cahorro), D2 (cahorro)- (ctacte) ] } ) nomcli ( sucursal=XXX { A – [ D1 D2 ] } )

17 UNLP - Facultad de InformáticaIBD - CLASE Lenguajes de consulta Cálculo Relacional de Tuplas: No procedural, describe información deseada sin dar un proceso específico para obtener esa información. Utiliza el cálculo de predicados para la formulación de consultas Expresión de consultas { t / P(t) } Conjunto de tuplas tal que P(Predicado) es verdadero en t. Ejemplos: Ej12:clientes con préstamos mayor que 1200$

18 UNLP - Facultad de InformáticaIBD - CLASE Lenguajes de consulta Operación de proyección { t / s R / Q(s)} Ej13: solo el nombre del cliente.(del ej 12) Variable de tupla t se define solo para los atributos deseados Ej14: nombre y ciudad de los clientes con prestamo en la sucursal La Plata. Ej15: clientes con préstamo y depósitos en una sucursal de La Plata.

19 UNLP - Facultad de InformáticaIBD - CLASE Lenguajes de consulta Operando : t r (Q(t)) tuplas / t predicado Q(t) sea verdadero en r. Ej16: encontrar cliente que tiene una cuenta en todas las sucursales de La Plata

20 UNLP - Facultad de InformáticaIBD - CLASE Lenguajes de consulta Definición formal del Cálculo de tuplas Una expresión del Cálculo de tuplas { t / P(t) }, tiene: P fórmula donde aparecen varias variables de tupla T (variable libre) s (variable límite) Las fórmulas se compone de átomos:

21 UNLP - Facultad de InformáticaIBD - CLASE Lenguajes de consulta s r; s variable de tupla y r relación s[x] u[y], s, u variables de tupla; x, y atributos sobre s y u respectivamente; operador (>, =, =, <>, etc) s[x] c; c constante. Las fórmulas se construyen a partir de átomos: Un átomo es una fórmula P1 fórmula ~ P1 fórmula P1, P2 fórmula P1 v P2, P1^ P2, P1 P2 fórmulas P1(s) fórmula que contiene variable tupla libre s s r(P1(s)) y s r(P1(s)) fórmulas

22 UNLP - Facultad de InformáticaIBD - CLASE Lenguajes de consulta Seguridad de expresiones { t / ~ ( t prestamo) } infinito (todas las tuplas que no están definidas en la tabla, pero que se pueden formar a partir del dominio de los atributos= Cálculo relacional de dominios Se utilizan variables de dominio que toman valores del dominio de un atributo (en lugar de tuplas completas) Definición formal:

23 UNLP - Facultad de InformáticaIBD - CLASE Lenguajes de consulta Expresión { / P }; variables de dominio y P fórmula Átomos definidos como el CRT Fórmulas definidas como el CRT Dada la Tabla (nombre_sucursal, nro_prestamo, nombre_cte, cantidad_prestada) Ej17: todos los datos simpre que se presten más de 1200$ Ej18: el cliente con préstamo mayor de 1200$ Ej19: cliente y monto del préstamo de aquellos clientes de La Plata

24 UNLP - Facultad de InformáticaIBD - CLASE Lenguajes de consulta Seguridad de expresiones: similar a CRT Operaciones de Updates: solo para AR Agregar tuplas r r E (r relación y E nueva tupla Eliminar tuplas r r – E Actulización de datos A E ( r ) Ej: saldo saldo * 1.05 ( depósito )

25 UNLP - Facultad de InformáticaIBD - CLASE Lenguajes de consulta Dadas las siguientes tablas Vive (nombre_persona, calle, ciudad) Trabaja (nombre_persona, nombre_compañía, salario) Situada_en (nombre_compañía, ciudad) Dirige (nombre_persona, nombre_director) Resolver las siguientes consultas 1. Nombre de los empleados que trabajan en la compañía X 2. Nombre de los empleados, que no trabajan en la compañía X 3. Nombre y ciudad en la que trabajan los empleados de la compañía X

26 UNLP - Facultad de InformáticaIBD - CLASE Lenguajes de consulta 4.Nombre, calle y ciudad de aquellos que trabajen para X y cobren más de Empleados que viven en la misma ciudad en la que está la compañía en la que trabajan. 6.Modificar la dirección del empleado Y 7.Eliminar todos los empleados de la compañía X 8.Dar un aumento del 10% a los empleados 9.Dar un aumento del 20% a los directores.


Descargar ppt "IBD Clase 14. UNLP - Facultad de InformáticaIBD - CLASE 14 2 Lenguajes de consulta Lenguajes de consulta: utilizados para operar con la BD. Procedurales:"

Presentaciones similares


Anuncios Google