Download - Álgebra Relacional
![Page 1: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/1.jpg)
Lenguajes de Consulta
Un lenguaje de consulta es un lenguaje con el que el usuario solicita información de la base de datos: se construye una expresión que contesta interrogantes sobre la instancia actual de la base de datos.
![Page 2: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/2.jpg)
Álgebra Relacional
Es un lenguaje de consulta que ilustra las técnicas fundamentales para la manipulación de la información.
![Page 3: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/3.jpg)
CONCEPTOS BÁSICOS:
Sean V1 D1 , V2 D2, … , Vn Dn , los valores Vi ,
y sean Di los dominios de cada Vi.
Entonces una tupla (V1, V2, … , Vn) es un elemento
del producto cartesiano de los Dn dominios:
(V1, V2, … , Vn) (D1 X D2 X … XDn)
![Page 4: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/4.jpg)
Relación := es un subconjunto del producto cartesiano de una lista de dominios.
En el álgebra relacional, a las tablas se les llama relaciones y a las filas se les llama tuplas.
![Page 5: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/5.jpg)
Propiedad de Cerradura
Consiste en el hecho de que aplicar cualquier operador de álgebra relacional sobre una relación resulta en una relación.
![Page 6: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/6.jpg)
Operaciones
El álgebra relacional consta de nueve operaciones:
Unión Proyección Intersección Reunión Diferencia División Producto RenombrarSelección
![Page 7: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/7.jpg)
UniónLa operación de unión permite combinar datos de varias relaciones.
Supongamos que una determinada empresa internacional posee una tabla de empleados para cada uno de los países en los que opera.
Para conseguir un listado completo de todos los empleados
de la empresa tenemos que realizar una unión de todas las
tablas de empleados de todos los países.
![Page 8: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/8.jpg)
Nota:No siempre es posible realizar consultas de unión
entre varias tablas. Para poder realizar esta operación es necesario e
imprescindible que las tablas a unir tengan las mismas estructuras, que sus campos sean
iguales.
![Page 9: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/9.jpg)
Ejemplo: Teniendo las dos relaciones R y S, si la tupla
entonces
o bien, t pertenece tanto a R como a S.
R y S deben tener esquemas con conjuntos idénticos de atributos.
SRt
StRttSR ,:
![Page 10: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/10.jpg)
SRNombre
Juan DíazAna Gómez
Dirección Fecha
C/Pez,10 9 9 62C/Luna,3 8 3 58
Nombre
Juan DíazLuis Díaz
Dirección Fecha
C/Pez,10 9 9 62C/ Sol, 5 8 5 67
R SNombre
Juan DíazAna GómezLuis Díaz
Dirección
C/Pez,10C/Luna,3C/ Sol, 5
Fecha
9 9 628 3 588 5 67
![Page 11: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/11.jpg)
Diferencia -
La operación diferencia permite identificar tuplas que están en una relación y no en otra.
Dadas las dos relaciones R y S, si la tupla
entonces
R y S deben tener esquemas con conjuntos idénticos de atributos.
SRt
StRttSR ,:
![Page 12: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/12.jpg)
SRNombre
Juan DíazAna Gómez
Dirección Fecha
C/Pez,10 9 9 62C/Luna,3 8 3 58
Nombre
Juan DíazLuis Díaz
Dirección Fecha
C/Pez,10 9 9 62C/ Sol, 5 8 5 67
R S Nombre
Ana Gómez
Dirección
C/Luna,3
Fecha
8 3 58
![Page 13: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/13.jpg)
Intersección
Permite identificar tuplas comunes a dos relaciones, es decir:
De manera análoga a la unión, es requerido que los esquemas de ambas relaciones sean idénticos.
SRRSR
![Page 14: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/14.jpg)
SRNombre
Juan DíazAna Gómez
Dirección Fecha
C/Pez,10 9 9 62C/Luna,3 8 3 58
Nombre
Juan DíazLuis Díaz
Dirección Fecha
C/Pez,10 9 9 62C/ Sol, 5 8 5 67
R SNombre
Juan Díaz
Dirección
C/Pez,10
Fecha
9 9 62
![Page 15: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/15.jpg)
Producto Cartesiano X
Consiste en una reunir en una sola relación todas las posibles combinaciones ordenadas de todas las tuplas de la primera relación con todas las de la segunda.
Sean R y S dos relaciones de grado m y n, respectivamente. La relación posee grado m+n, cada tupla , está formada por m primeros elementos de R y n últimos de la relación S.
SRSRt
![Page 16: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/16.jpg)
![Page 17: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/17.jpg)
Selección σ Elige las tuplas que satisfacen una condición
dada.
Notación: Se utiliza la letra σ (sigma minúscula) para denotar la selección. La condición se escribe como subíndice de σ.
El grado de la relación se conserva.
![Page 18: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/18.jpg)
Consideremos la relación préstamo:
para seleccionar aquellas tuplas de la relación en las que el nombre-sucursal es Navacerrada, escribimos:
σ nombre-sucursal = “Navacerrada” (préstamo)
Préstamo
![Page 19: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/19.jpg)
Se emplean los símbolos para elaborar la condición de selección, además de los conectores lógicos y ( ) y o ( ).
Entonces la consulta σ nombre-sucursal = “Navacerrada” importe > 1400 (préstamo)arroja la tupla
,,,,,
![Page 20: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/20.jpg)
Proyección П Esta operación corresponde a una selección
en la que se indican los campos que se desean recuperar.
Si se desea, por ejemplo, realizar un listado de todos los números de préstamo y el importe de los mismos pero sin que aparezcan los nombres de las sucursales, la operación proyección es la que permite generar dicha relación.
![Page 21: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/21.jpg)
Notación: Se utiliza la letra П (pi mayúscula) para denotar la proyección. El listado de atributos se escribe como subíndice de П.
П número-préstamo, importe (préstamo)
devuelve la relación siguiente:
![Page 22: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/22.jpg)
Como el resultado de una operación relacional es una relación, es posible realizar una composición de operaciones relacionales.
Considérese la relación cliente:
![Page 23: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/23.jpg)
Para encontrar a los clientes que viven en Peguerinos, escribimos:
Expresión que se evalúa como relación
![Page 24: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/24.jpg)
Consideremos la siguiente relación
![Page 25: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/25.jpg)
![Page 26: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/26.jpg)
Reunión (Join) –reunión zeta-
Se emplea para recuperar datos de relaciones enlazadas por medio de la cláusula JOIN.
La operación reunión se puede combinar con las operaciones de selección y proyección.
La definición es la siguiente: R θ S = σθ ( )
SR
![Page 27: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/27.jpg)
Si se refiere a una condición arbitraria sobre los atributos C de las relaciones R y S, representado por R θ S, se construye:
1. Formando el producto cartesiano entre R y S.2. Se seleccionan las tuplas que
satisfacen C.
SRt
![Page 28: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/28.jpg)
![Page 29: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/29.jpg)
![Page 30: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/30.jpg)
Reunión natural (Natural Join)
Si R y S son dos relaciones con uno o más atributos en común, la reunión natural se determina del siguiente modo:
1. Del producto cartesiano , para cada
atributo Ai común, se seleccionan las filas en
que coinciden R.Ai con S.Ai.
2. Se elimina de la selección la columna
S.Ai.
SR
![Page 31: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/31.jpg)
![Page 32: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/32.jpg)
División Devuelve una nueva relación seleccionando
un subconjunto de las tuplas de una relación que se corresponden con todas las tuplas en otra relación.
Sean R y S relaciones con grados r y s, respectivamente, donde r > s y S .
Entonces R S es la relación de grado (r-s) tal que R S ,
,Su t Rut ),(
![Page 33: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/33.jpg)
1 2
1 3
![Page 34: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/34.jpg)
Se desean hallar a todos los clientes que tengan abierta una cuenta en todas las sucursales de la cuidad “Arganzuela”.
![Page 35: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/35.jpg)
Recuperamos todas las sucursales de Arganzuela
![Page 36: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/36.jpg)
Recuperamos todas las parejas nombre-cliente, nombre-sucursalnombre-cliente número-cuenta
González C-101
López C-102
González C-201
Gómez C-215
Santos C-217
Rupérez C-222
Abril C-305
La relación impositor
![Page 37: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/37.jpg)
Ahora hay que hallar los clientes que aparecen en r2 con los nombres de todas las sucursales de r1.
r2 r1 =
![Page 38: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/38.jpg)
Renombrar
Dada la relación R, el renombrado de R a S, S(R), corresponde a una relación con
exactamente las mismas tuplas y los mismos atributos que R, sólo que el nombre de la relación es S.
![Page 39: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/39.jpg)
Ejercicios:
En base al siguiente esquema: Estados (id_estado, nombre_estado)Poblaciones (id_estado, id_poblacion, descripcion_poblacion)Personas (id_poblacion, rfc_persona, nombre_persona, sex_persona,
direccion_persona) Recupere, empleando álgebra relacional. a) las poblaciones que se encuentran en cada Estado.b) las poblaciones que se encuentran en el Estado de México.c) la población y el estado en el que radican las personas. d) las poblaciones en donde no se encuentre la dirección de Zacatecas.
![Page 40: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/40.jpg)
En base al siguiente esquema:
Editoriales (numero_editorial, nombre_editorial, ciudad)Libros (numero_libro, titulo, autor, anio)Librerias(numero_libreria, nombre_libreria_ciudad) ELL (numero_editorial, numero_libro, numero_libreria, cantidad)
Empleando álgebra relacional;a) Recupere los nombres de las librerías surtidas por alguna editorial de
“Monterrey”b) Recupere los números de editorial que surten a las librerías L1 y L3,
libros con año de publicación 1994.
![Page 41: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/41.jpg)
En base al siguiente esquema:
Proyecciones (numero_sala, numero_pelicula, fecha_inicial, fecha_final)
Películas (numero_pelicula, titulo, genero)Salas (numero_sala)
Recupere , empleando álgebra relacional :a) Para marzo del año 2000, los nombres de las películas emitidasb) Los números de sala en que se proyectaron tales películasc) Los números de sala en que se emite sólo el género “Acción”
![Page 42: Álgebra Relacional](https://reader037.vdocumento.com/reader037/viewer/2022103102/5695cf541a28ab9b028d9dcf/html5/thumbnails/42.jpg)
En base al siguiente esquema:
Persona (id_persona, nombre)Empleados (id_persona, calle, ciudad)Trabaja (id_persona, nombre_empresa, sueldo)Empresas (nombre_empresa, ciudad)Dirige (id_persona, nombre_director)
Recupere, empleando álgebra relacional:a) Los nombres de todos los empleados de “Empresa1”b) Los nombres y ciudad de todos los empleados en “Empresa1”c) Nombres, calle y ciudad, de todos los empleados de
“Empresa1” con un sueldo mayor de 15,000 pesos.d) Los nombres de todos los empleados que viven en la misma
ciudad que su director