Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Tema 4Algebra y cálculo relacional
Ingeniería Técnica en Informática de Gestión
Esther Gadeschi DíazDepartmento de Lenguajes y Sistemas Informáticos
Universidad de Cádiz
Cádiz, 14 de noviembre de 2011
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Índice
1 Objetivos
2 Bibliografía
3 Algebra
4 Operadores fundamentales
5 Operadores adicionales
6 Usos
7 Cálculo
8 Poder expresivo
9 Tablas
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Objetivos
El alumno debe ser capaz de:
Conocimiento
Conocer los operadores algebraicos
Definir los conceptos de cálculo relacional
Comprensión
Saber diferenciar las expresiones del álgebra de las del cálculo relacional
Comprender que tanto el álgebra como el cálculo son relacionalmentecompleto
Aplicación
Expresar una consulta tanto en álgebra como en cálculo relacional
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Bibliografía
Libros
[Celm03] Celma Giménez, M.; Casamayor Ródenas, J.C. & Mota Herranz, L.Bases de datos relacionalesPrentice Hall, 2003.
[Conn05] Connolly, T. & Begg, C.Sistemas de Bases de DatosAddison-Wesley, 4a edición, 2005.
[Date01] Date, C.J.Introducción a los Sistemas de Bases de DatosPrentice Hall, 7a edición, 2001.
[Demi93] De Miguel, A. & Piattini, M.G.Concepción y Diseño de Bases de Datos: Del modelo E/R al modelorelacionalRa-Ma, 1993.
[Demi99] De Miguel, A. & Piattini, M.G.Fundamentos y modelos de Bases de DatosRa-Ma, 2a edición, 1999.
[Elma07] Elmasri, R. & Navathe, S.B.Fundamentos de sistemas de Bases de DatosAddison-Wesley, 5a edición, 2007.
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Bibliografía (cont.)
[Grau98] Grau Fernández, L. & López Rodríguez, I.Problemas de Bases de DatosSanz y Torres, 1998.
[Rana07] Ramakrishnan, R & Gehrke, J.Sistemas de Gestión de Bases de DatosMcGraw-Hill, 3a edición, 2007.
[Rive88] Rivero Cornelio, E.Bases de datos relacionalesParaninfo, 1988.
[Silb06] Silberschatz, A.; Korth, H. & Sudarshan, S.Fundamentos de Bases de DatosMcGraw-Hill, 5a edición, 2006.
Aula virtual de la asignatura
Material docente: transparencias e información
Foros de discusión
Tutorías electrónicas
Tareas
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Algebra relacional
El modelo de datos relacional tiene asociado dos partes:Estática: formada por las estructuras que almacenan alos datos y las restricciones que soportan estos datos.Dinámica: transformaciones entre estados de la Basede Datos.Si O es un operador, se puede pasar de un estadoorigen (BDi ) a un estado objetivo (BDj ) de la Base deDatos como sigue:
O(BDi) = BDj
Estos estados deben satisfacer las restricciones deintegridad estática, y la transformación ha de cumplirlas restricciones de integridad dinámica (entreestados).
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Algebra relacional (cont.)
El modelo relacional actúa sobre conjuntos de tuplas ymediante lenguajes de manipulación relacionales asociauna sintaxis concreta a las operaciones.Se dividen en dos tipos:
Algebraicos: los cambios de estado se especificanmediante operaciones, los operandos son relaciones yel resultado es una relación. Se conoce como álgebrarelacional a «una colección de operaciones que sirvenpara manipular relaciones enteras».Predicativos: los cambios de estado se especificanmediante predicados que definen el estado objetivo sinindicar las operaciones que hay que realizar para llegaral mismo. Basados en el cálculo de predicados.
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Algebra relacional (cont.)
El álgebra relacional consta de un conjunto deoperadores que aplicados a las relaciones dan comoresultado nuevas relaciones: Propiedad de cierre.Una operación consiste en aplicar un operador O a unarelación R para obtener otra relación R′, a la cual sepuede volver a aplicar otro operador.El operador se aplica a una extensión de R, r(R), no alesquema R, pero se acostumbra a utilizar la notaciónsiguiente:
On(· · · (O1(R))) = R′
Se dice que el operador O se aplica a la variable derelación (esquema) y que en el momento de aplicarlotendrá un cierto valor (ocurrencia).
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Algebra relacional (cont.)
Codd definió ocho operadores divididos en dos grupos decuatro:
Los operadores conjuntistas tradicionales:UniónIntersecciónDiferenciaProducto cartesiano
Los operadores relacionales especiales:SelecciónProyecciónProducto naturalDivisión
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Algebra relacional (cont.)
������������������������������������������������������������������������
������������������������������������������������������������������������
������������������������������������������������������������������������
������������������������������������������������������������������������
������������������������������������������������������������������������
������������������������������������������������������������������������
������������������������
������������������������
������������
������������
������������
������������
������������������
������������������
������������������
������������������
xy
aab
xyx
bcc
yxy
Selección Proyección Producto
Intersección DiferenciaUnión
c
ab
Join (natural)
a3
a1a2
b1b1b2 c2
b1b2b3
c1c2c3
a1a2a3
b1b1b2
c1c1 a
abc
ayzxy
xzx a
División
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Algebra relacional (cont.)
Clasificación de operadores:
Operadores fundamentales: son esenciales y nopueden obtenerse a partir de otros. Pueden ser unarioso binarios. Sin ellos, el álgebra relacional no sería unlenguaje completo.Estos operadores son:
ProyecciónSelecciónProducto cartesianoUnión de conjuntosDiferencia de conjuntos
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Algebra relacional (cont.)
Operadores adicionales: son operadores binarios y secaracterizan porque simplifican las expresiones, ya quelas operaciones que ellos representan sí pueden serexpresadas por combinación de operadoresfundamentales.Estos operadores son:
Intersección de conjuntosProductos de reuniónDivisión
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Algebra relacional (cont.)
Los operadores fundamentales, atendiendo al número derelaciones sobre las que se aplican, se divide en:
Operadores unariosProyecciónSelección
Operadores binariosProducto cartesianoUnión de conjuntosDiferencia de conjuntos
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Operadores unarios
Se aplica a una sola relación.Sea R(A) un esquema de relación cuyo contexto es elconjunto de atributos A definidos sobre el conjunto dedominios D:
R(A) = R(A1 : D1,A2 : D2, . . . ,An : Dn)
la relación r(R), definida sobre el esquema R, de gradon y cardinalidad m estará constituida por un conjuntode m tuplas:
r(R) = {ti}mi=1
dondeti = {vi1, vi2, . . . , vin | vij ∈ Dj}
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Proyección
Acción: selecciona algunos atributos del esquema deR para obtener R′.Si X es un subconjunto estricto y no vacío del conjuntode atributos A de la relación r(R), el resultado de estaoperación será otra relación r ′ cuyo esquema (R′)estará formado por el conjunto de atributos X , es decir:
r ′(R′) = {ti ∈ r(R(X )) | X ⊂ A ∧ X 6= ∅}
El grado n′ y la cardinalidad m′ de r ′(R′) cumplen:
n′ ≤ n,m′ ≤ m
n y m, grado y cardinalidad de r(R). Si X contiene a laclave primaria de R, m′ = m.
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Proyección (cont.)
Representación: Los atributos se escriben separadospor comas, de izquierda a derecha en el mismo ordenen que se desean.
Πatributos(relación)
Ejemplo: «obtener los apellidos de los autores».
ΠApellido(Autores)
ApellidoDateDe MiguelUllman
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Selección
Acción: selecciona algunas tuplas que cumple uncriterio de selección.Sea la relación r(R), si le aplicamos un criterio deselección p, obtendremos la relación r ′(R):
r ′(R) = {ti ∈ r(R) | p(ti) = “cierto”}
El grado será el mismo para R y R′.La cardinalidad cumple: m′ ≤ m.Normalmente: r ′(R) ⊂ r(R).
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Selección (cont.)
Representación:
σcriterio de selección(relación)
En los criterios de selección se utilizan los operadoresaritméticos, de comparación y lógicos, y su formageneral es:
Atributo operador (constante y/o atributo)Ejemplo: «obtener todos los datos del autor cuyocódigo es igual a tres».
σCódigo=3(Autores)
Código Nombre Apellido3 D. J. Ullman
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Proyección y selección
Acción: normalmente las operaciones de proyección yselección aparecen combinadas en los SGBD.Ejemplo: «obtener el nombre y el apellido del autorcuyo código es igual a tres».
ΠNombre,Apellido(σCódigo=3(Autores))
Nombre ApellidoD. J. Ullman
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Asignación y renombrado
Acción: nos permite cambiar el nombre de unarelación, o bien, cambiar el nombre de los atributospara hacer que su esquema sea idéntico al de otrarelación con objeto de poder realizar ciertasoperaciones, como las de conjuntos.Representación:
R′ ← R
Ejemplo: «cambiar el nombre del atributo Nombre_pilade la tabla Editores1 por Nombre y que, además, elnombre de la tabla sea Editores».
Editores (Código, Nombre, Apellido)← Editores1
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Operadores binarios
Estos operadores se aplican a dos relaciones.En algunos casos se exige que las relaciones tenganidéntico conjunto de atributos y en el mismo orden ensus esquemas.Dados: dos esquemas
R1(A1i : D1i) y R2(A2j : D2j)
son idénticos a efectos de dichos operadores, si ambosestán definidos sobre el mismo conjunto de dominios, yse cumple que:
∀A1i ∃A2j | dom(A1i) = dom(A2j)∧
∀A2j ∃A1i | dom(A2j) = dom(A1i)
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Producto cartesiano
Acción: sean las relaciones r1 y r2 con esquemas R1 yR2, grado n1 y n2 y cardinalidad m1 y m2, respecti-vamente, el producto cartesiano es otra relación r degrado n1 + n2 cuyo esquema R estará formado por losn1 + n2 atributos de R1 ∪ R2 es decir:
R(A1i : D1i , . . . ,A1n1 : D1n1 ,A2i : D2i , . . . ,A2n2 : D2n2 )
R1(A1i : D1i , . . . ,A1n1 : D1n1 )
R2(A2i : D2i , . . . ,A2n2 : D2n2 )
y la cardinalidad total será m1 ∗m2, expresada de lasiguiente manera:
{V1i1, . . . ,V1in1 ,V2j1, . . . ,V2jn2 | ∀i∀j(V1i1, . . . ,V1in1 ∈ r1∧V2j1, . . . ,V2jn2 ∈ r2)}
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Producto cartesiano (cont.)
Representación: se utiliza el mismo símbolo que enmatemática.
R1 × R2
Ejemplo: «obtener una relación con los datos de lossocios y los libros».
Socios× Libros
Tabla resultante
Cód_Soc Nombre Apellido Cód_Lib Nombre Cód_Edit Cód_Aut1 E. Manrique 1 Intr. Sist. de BD 01 12 M. García 1 Intr. Sist. de BD 01 11 E. Manrique 2 Fund. y mod. de BD 02 22 M. García 2 Fund. y mod. de BD 02 21 E. Manrique 3 Sist. de BD 03 32 M. García 3 Sist. de BD 03 3
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Unión de conjuntos
Acción: dos relaciones r1 y r2 con esquemas idénticosR1 y R2 se pueden unir en una sola relación con elmismo esquema (R1 o R2) y cuya extensión estáformada por el conjunto de tuplas (ti ) que pertenecen ar1 o a r2.
r(R) = {ti | ti ∈ r1 ∨ ti ∈ r2}Se eliminan las tuplas repetidas.Representación: se utilizan el mismo símbolo quepara la unión de conjuntos.
r1 ∪ r2
Condiciones: se tienen que cumplir:Las relaciones R1 y R2 deben tener el mismo númerode atributos, o sea, ser del mismo grado.El dominio del atributo i-ésimo de r1 y de r2 debe ser elmismo.
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Unión de conjuntos (cont.)
Ejemplo: «obtener una relación que contenga a todoslos autores y a todos los editores».
Autores ∪ Editores
Autores y editoresCódigo Nombre Apellido
1 C. J. Date2 A. De Miguel3 D. J. Ullman1 S. Ceri3 P. Chen
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Diferencia de conjuntos
Acción: dadas dos relaciones r1 y r2 con esquemasidénticos R1 y R2, podemos obtener otra relacióndefinida sobre el mismo esquema de relación (R1 o R2)y cuya extensión estará constituida por el conjunto detuplas (ti ) que pertenezcan a r1 pero no a r2.
r(R) = {ti | ti ∈ r1 ∧ ti /∈ r2}
Representación: se utilizan el mismo símbolo quepara la diferencia de conjuntos.
r1 − r2
Condiciones: las mismas que para la unión deconjuntos.
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Diferencia de conjuntos (cont.)
Ejemplo: «encontrar a todos los autores que no sean,a su vez, editores».
Autores− Editores
Autores que no son editoresCódigo Nombre Apellido
1 C. J. Date3 D. J. Ullman
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Operadores adicionales
Estos operadores tienen por misión simplificar lasexpresiones que se pueden formar utilizando losoperadores fundamentales.Los operadores adicionales son:
Intersección de conjuntosProductos de reunión:
Producto thetaProducto natural
División
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Intersección de conjuntos
Acción: dadas dos relaciones r1 y r2 con esquemasidénticos R1 y R2, podemos obtener otra relacióndefinida sobre el mismo esquema de relación (R1 o R2)y cuya extensión estará constituida por el conjunto detuplas (ti ) que pertenezcan a r1 y a r2.
r(R) = {ti | ti ∈ r1 ∧ ti ∈ r2}
Representación: se utilizan el mismo símbolo quepara la intersección de conjuntos.
r1 ∩ r2
Condiciones: las mismas que para la unión deconjuntos.
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Intersección de conjuntos (cont.)
Ejemplo: «encontrar a todos los autores que tambiénsean editores».
Autores ∩ Editores
Autores que también son editoresCódigo Nombre Apellido
2 A. De Miguel
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Productos de reunión
La operación de reunión es una de las más usadas enel álgebra relacional permitiendo combinar informaciónde varias tablas en una sola.Se puede definir como una secuencia de operaciones:producto cartesiano seguido de una selección yproyección.La relación resultante de una operación de reunióntiene una cardinalidad menor que la resultante de unproducto cartesiano.Existen diferentes tipos de productos de reunión:
Producto thetaProducto naturalAutouniónUnión externa
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Producto theta
Acción: dadas dos relaciones r1 y r2 con esquemas R1y R2 y una condición de selección (θ) formada poratributos del esquema R1 ∪ R2, podemos obtener unarelación R constituida por el conjunto de tuplas ti ,obtenidas del producto cartesiano de ambasrelaciones, y que cumplen dicho criterio de selección.Representación: se representa por el símbolo delproducto de reunión y cuyo subíndice corresponde alcriterio de selección.
r1 onθ r2 = σθ(r1 × r2)
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Producto theta (cont.)
Ejemplo: «obtener una relación con los datos de lossocios y los libros y donde el apellido del socio seaManrique».
Socios onθ Libros
θ = (Apellido = ‘Manrique’)
Socios y Libros donde el apellido del socio es ManriqueCód_Soc Nombre Apellido Cód_Lib Nombre Cód_Edit Cód_Aut
1 E. Manrique 1 Intr. Sist. de BD 01 11 E. Manrique 2 Fund. y mod. de BD 02 21 E. Manrique 3 Sist. de BD 03 3
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Producto natural
Acción: dadas dos relaciones r1 y r2 con esquemas R1y R2, podemos obtener otra relación R definida sobreel esquema de relación R1 ∪ R2 y constituida por elconjunto de tuplas ti tal que
r(R) = {ti |ti ∈ (ΠR1∪R2(σθ(r1 × r2)))}
θ = r1.A1 = r2.A1 ∧ r1.A2 = r2.A2 ∧ . . . r1.An = r2.An
A1,A2, . . . ,An = R1 ∩ R2
Representación: se representa por el símbolo delproducto de reunión.
r1 on r2
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Producto natural (cont.)
Consideraciones: si
R1 ∩ R2 = ∅ =⇒ r1 on r2 = r1 × r2
Ejemplo: «obtener los datos de los socios que tienenun libro en préstamo así como el código del libro y lafecha del préstamo».
Socios on Préstamos
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Producto natural (cont.)
Los socios y sus préstamosSocio.Cód_Soc Nombre Apellido Cód_Lib Préstamo.Cód_Soc Fecha
1 E. Manrique 1 1 10-04-981 E. Manrique 2 1 18-02-991 E. Manrique 3 1 23-07-992 M. García 1 2 01-12-97
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
División
Acción: dadas dos relaciones r1 y r2 con esquemas R1y R2, donde R2 ⊂ R1, podemos obtener otra relación Rdefinida sobre el esquema de relación (R1 − R2) y cuyaextensión será:
ti(R) = {(vi1, . . . , viR) |
∀(vi(R+1), . . . , viR2) ∈ r2
∃(vi1 . . . viR, vi(R+1), . . . , viR2) ∈ r1}
Representación: se utilizan el mismo símbolo que enmatemática.
r1/r2
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
División (cont.)
Ejemplo: «encontrar a todos los socios que tienen enpréstamo un ejemplar de todos los libros».
ΠCód_Lib,Cód_Soc(Préstamos)/(ΠCód_Lib(Libros))
Socios que han tenido en préstamo todos los librosCód_Soc
1
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Operadores adicionales en función de losfundamentales
Intersección de conjuntos:
R ∩ S = R − (R − S)
Productos de reunión:
R on S = σθ(R × S)
División:
R/S = ΠR−S(R)− (ΠR−S((S × ΠR−S(R))− R))
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Asignación a variables
Acción: asigna una relación temporal a una variable.Esta acción simplifica las operaciones con expresionescomplejas.Representación: se representa por medio de unafecha (←) y actua de igual forma que en los lenguajesde programación.Ejemplo: «encontrar a todos los socios que tienen enpréstamo un ejemplar de todos los libros».
var← ΠCód_Lib(Libros)
ΠCód_Lib,Cód_Soc(Préstamos)/var
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
¿Para qué sirve el álgebra?
Obtención de datos utilizando sus operaciones.Ayuda a escribir expresiones simplificando algunas deellas.Patrón para otros lenguajes: podemos decir que unlenguaje es relacionalmente completo si cualquierexpresión se puede expresar en álgebra.
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Cálculo relacional
Lenguaje basado en el cálculo de predicados de primerorden.Lenguaje no procedimental: se expresa lo que sequiere no cómo obtenerlo.Ha tenido una gran influencia en el diseño de lenguajescomerciales, como el SQL.Se divide en:
Cálculo relacional de tuplasCálculo relacional de dominios
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Cálculo relacional de tuplas
Una variable de tupla es una variable que asume comovalores tuplas de un esquema de relación en concreto.Una consulta se expresa como:
{t | P(t)}
El resultado de esta consulta es el conjunto de todaslas tuplas t, tal que el predicado P es verdadero.
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Cálculo relacional de tuplas (cont.)
Ejemplo: «encontrar todos los libros cuyo código deautor sea mayor que 1».
{t | t ∈ Libros ∧ t .Cód_Aut > 1}
Libros cuyos autores tienen código > 1
Cód_Lib Nombre Cód_Edit Cód_Aut2 Fundamentos y
modelos de BD02 2
3 Sistema de BD 03 3
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Sintaxis de las consultas
Condiciones de comparación: se construyencombinando variables y operadores de comparación yaritméticos.Condiciones de pertenencia: sea t una variable detupla y R una relación, la pertenencia se representande la forma R(t) y será verdadera si t ∈ R.Cuantificador existencial: se representa como∃(condición) y será cierto si existe alguna tupla quecumpla la condición.Cuantificador universal: se representa como∀(condición) y será cierto si todas las tuplas cumplenla condición.
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Sintaxis de las consultas (cont.)
Expresiones: una expresión tiene la fórmula
(t(n | F (t))
F es una fórmula y significa el conjunto de todas lastuplas t de grado n tal que la fórmula F(t) seaverdadera.La fórmula se construye combinando condicionescompuestas y cuantificadores y debe ser de alguna delas formas siguientes:
R ∈ RelR.a op S.bR.a op const.const. op R.a
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Sintaxis de las consultas (cont.)
Fórmula: se puede construir a partir de otras (p, q) ydonde t es una variable de tupla:
Cualquier fórmula atómica¬p, p ∧ q, p ∨ q ó p ⇒ q∃t(p(t)), donde t es una variable de tupla∀t(p(t)), donde t es una variable de tupla
Si existen más varibles en la fórmula la única quepuede estar no cuantificada es t.
(t(n | F (t ,u, v , . . .))
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Semántica de las consultas
Una consulta se evalua para cada instancia de la BD, ycada variable toma un valor de tupla de la relación. Lafórmula se evalua como verdadera si se cumple uno de lossiguientes casos:
F es una fórmula atómica donde t ∈ Rel y t es unatupla en una instancia de la relación Rel.F es comparación del tipo R.a op S.b, R.a op const., óconst. op R.a, las tuplas asignadas a R y a S tienenvalores en los atributos R.a y S.b de tal manera que lacomparación sea cierta.
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Semántica de las consultas (cont.)
F es de la forma ¬p, y p es falsa; o de la forma p ∧ q, ytanto p como q son verdaderas; o de la forma p ∨ q, yuna de ella es verdadera, o de la forma p ⇒ q y q esverdadera siempre que p es verdadera.F es de la forma ∃R(p(R)), si existe una tupla de larelación que cumple que p(R) sea verdadera.F es de la forma ∀R(p(R)), si para toda tupla de larelación se cumple que p(R) es verdadera.
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Ejemplo
Encontrar los datos de los socios que tienen al menosun libro en préstamo así como el código del libro y lafecha del préstamo.
{t | ∃r ∈ Préstamos(r .Cód_Soc = t .Cód_Soc)
∧∃s ∈ Socios(s.Cód_Soc = t .Cód_Soc)}
donde{t | t ∈ Resultado}
Resultado(Cód_Soc, Nombre, Apellido, Cód_Lib, Fecha)
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Ejemplo (cont.)
Resultado donde toma valores la variable t
Cód_Soc Nombre Apellido Cód_Lib Fecha1 E. Manrique 1 10-04-981 E. Manrique 2 18-02-991 E. Manrique 3 23-07-992 M. García 1 01-12-97
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Cálculo relacional de dominios
El cálculo relacional de dominios y el de tuplas estánintimamente relacionados.Una variable de dominio es una variable que tomavalores en el dominio de algún atributo.Las expresiones son de la forma:
< x1, x2, . . . , xn >| p(< x1, x2, . . . , xn >)
donde < x1, x2, . . . , xn > representan las variables dedominios y p representa una fórmula compuesta deátomos.Las fórmulas en el cálculo relacional de dominiostienen las mismas formas que en el cálculo relacionalde tuplas.
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Poder expresivo del álgebra y del cálculo
El álgebra y el cálculo, tanto de tuplas como dedominios, tiene el mismo poder de expresión.Tenemos que restringir las expresiones del cálculo aexpresiones sanas. Fórmulas insanas como lasiguiente:
{t | ¬R(t)}
todas las tuplas t que no están en R da un conjuntoinfinito.Pasamos de fórmulas insanas a sanas restringiendo eldominio de la variable t:
DOM{t} = S
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Poder expresivo del álgebra y del cálculo(cont.)
El álgebra relacional no presenta estos problemaspues los operadores algebraicos son finitos y losresultados de estas operaciones también.Las expresiones algebraicas son sanas.Cualquier expresión de cálculo equivalente a otra deálgebra será una fórmula sana.Se denomina cálculo restringido de tupla o dominio atodas las expresiones de cálculo que tienen algunaexpresión algebraica equivalente.Cualquier expresión del álgebra se puede expresar encálculo restringido por lo que ambos lenguajes sonequipotentes.
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Tablas
AutoresCódigo Nombre Apellido
1 C. J. Date2 A. De Miguel3 D. J. Ullman
Editores1Código Nombre_pila Apellido
1 S. Ceri2 A. De Miguel3 P. Chen
EditoresCódigo Nombre Apellido
1 S. Ceri2 A. De Miguel3 P. Chen
Tema 4Algebra ycálculo
relacional
Bases deDatos I
Objetivos
Bibliografía
Algebra
Operadoresfundamenta-les
Operadoresadicionales
Usos
Cálculo
Poderexpresivo
Tablas
Tablas (cont.)
SociosCód_Soc Nombre Apellido
1 E. Manrique2 M. García
LibrosCód_Lib Nombre Cód_Edit Cód_Aut
1 Introducción alos Sistemas deBD
01 1
2 Fundamentos ymodelos de BD
02 2
3 Sistema de BD 03 3
PréstamosCód_Lib Cód_Soc Fecha
1 1 10-04-982 1 18-02-993 1 23-07-991 2 01-12-97