SlideServe
Menu
Préférences
© SlideServe · v2026

IBD

cianna avatar
26 diapositives · 632 Views · Nov 01, 2012

IBD . Clase 14. 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é).

IBD - slide 1
01 / 26IBD
1 / 17

Télécharger la présentation

IBD
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. IBD 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. IBD - 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 IBD - 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$ IBD - 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. IBD - CLASE 14

  6. Lenguajes de consulta • Producto 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. IBD - 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 IBD - 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 IBD - 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 IBD - CLASE 14

  10. 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 IBD - CLASE 14

  11. Lenguajes de consulta • Álgebra Relacional • Operaciones Adicionales: no añaden potencia, solo simplifican consultas comunes • Intersección • Producto Natural • División • Asignación IBD - CLASE 14

  12. 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 IBD - CLASE 14

  13. Lenguajes de consulta • 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. • Si R y S son dos relaciones que no tienen atributos en común -> R x S= R|x|S • R|x|(cond) S = (cond) ( R|x|S ) IBD - CLASE 14

  14. 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 • 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 IBD - CLASE 14

  15. 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) IBD - CLASE 14

  16. 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 ] } ) IBD - CLASE 14

  17. 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$ IBD - CLASE 14

  18. 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. IBD - CLASE 14

  19. 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 IBD - CLASE 14

  20. 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: IBD - CLASE 14

  21. 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 IBD - CLASE 14

  22. 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: IBD - CLASE 14

  23. Lenguajes de consulta • Expresión { <x1,…,xn> / P <x1,…,xn> }; <x1,…,xn> 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 IBD - CLASE 14

  24. 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 ) IBD - CLASE 14

  25. 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 • Nombre de los empleados que trabajan en la compañía X • Nombre de los empleados, que no trabajan en la compañía X • Nombre y ciudad en la que trabajan los empleados de la compañía X IBD - CLASE 14

  26. Lenguajes de consulta • Nombre, calle y ciudad de aquellos que trabajen para X y cobren más de 1000 • Empleados que viven en la misma ciudad en la que está la compañía en la que trabajan. • Modificar la dirección del empleado Y • Eliminar todos los empleados de la compañía X • Dar un aumento del 10% a los empleados • Dar un aumento del 20% a los directores. IBD - CLASE 14