base de datos i

56
Tema 4 Algebra y cálculo relacional Bases de Datos I Objetivos Bibliografía Algebra Operadores fundamenta- les Operadores adicionales Usos Cálculo Poder expresivo Tablas Tema 4 Algebra y cálculo relacional Ingeniería Técnica en Informática de Gestión Esther Gadeschi Díaz Departmento de Lenguajes y Sistemas Informáticos Universidad de Cádiz Cádiz, 14 de noviembre de 2011

Upload: jose91dvne

Post on 31-Oct-2014

54 views

Category:

Documents


2 download

DESCRIPTION

Tema 4 UCA

TRANSCRIPT

Page 1: Base De Datos I

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

Page 2: Base De Datos I

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

Page 3: Base De Datos I

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

Page 4: Base De Datos I

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.

Page 5: Base De Datos I

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

Page 6: Base De Datos I

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).

Page 7: Base De Datos I

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.

Page 8: Base De Datos I

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).

Page 9: Base De Datos I

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

Page 10: Base De Datos I

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

Page 11: Base De Datos I

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

Page 12: Base De Datos I

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

Page 13: Base De Datos I

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

Page 14: Base De Datos I

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}

Page 15: Base De Datos I

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.

Page 16: Base De Datos I

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

Page 17: Base De Datos I

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).

Page 18: Base De Datos I

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

Page 19: Base De Datos I

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

Page 20: Base De Datos I

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

Page 21: Base De Datos I

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)

Page 22: Base De Datos I

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)}

Page 23: Base De Datos I

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

Page 24: Base De Datos I

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.

Page 25: Base De Datos I

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

Page 26: Base De Datos I

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.

Page 27: Base De Datos I

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

Page 28: Base De Datos I

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

Page 29: Base De Datos I

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.

Page 30: Base De Datos I

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

Page 31: Base De Datos I

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

Page 32: Base De Datos I

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)

Page 33: Base De Datos I

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

Page 34: Base De Datos I

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

Page 35: Base De Datos I

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

Page 36: Base De Datos I

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

Page 37: Base De Datos I

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

Page 38: Base De Datos I

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

Page 39: Base De Datos I

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))

Page 40: Base De Datos I

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

Page 41: Base De Datos I

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.

Page 42: Base De Datos I

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

Page 43: Base De Datos I

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.

Page 44: Base De Datos I

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

Page 45: Base De Datos I

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.

Page 46: Base De Datos I

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

Page 47: Base De Datos I

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 , . . .))

Page 48: Base De Datos I

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.

Page 49: Base De Datos I

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.

Page 50: Base De Datos I

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)

Page 51: Base De Datos I

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

Page 52: Base De Datos I

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.

Page 53: Base De Datos I

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

Page 54: Base De Datos I

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.

Page 55: Base De Datos I

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

Page 56: Base De Datos I

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