Asignatura de Bases de Datos

Tema 5 Algebra Relacional
Pedro Pablo Alarcón Cavero
Departamento de O.E.I. Escuela Universitaria de Informática Universidad Politécnica de Madrid

1

Álgebra Relacional
n

Introducción
n

Lenguajes de acceso en BDR
n n

Álgebra Relacional
n n n

Lenguaje procedimental (se indica qué y cómo obtenerlo) Lenguaje no procedimental (se indica qué pero no cómo obtenerlo) Dos tipos n Orientado a Tuplas n Orientado a Dominios

Cálculo Relacional

n n

Álgebra y Cálculo Relacional son equivalentes en poder expresivo Lenguajes de Usuario
n n

SQL (Structured Query Language), basado en álgebra relacional QBE (Query By Example), basado en cálculo relacional
Bases de Datos

2002 © P.P. Alarcón

2

1

o en ambas. o en S. eliminándose las tuplas duplicadas R y S deben ser unión-compatible. es decir. Alarcón Bases de Datos 4 2 . permiten expresar cualquier consulta a una BDR No añaden nada nuevo Se forman combinando los operadores básicos Son útiles en determinadas consultas 3 2002 © P.P. Alarcón Bases de Datos Unión n R ∪S n n La unión de dos relaciones R y S. es otra relación que contiene las tuplas que están en R. definidas sobre el mismo conjunto de atributos Jefes Ingenieros ∪ Jefes Ingenieros E# Nombre Edad 320 José 34 322 Rosa 37 323 María 25 E# Nombre Edad 320 José 34 421 Jorge 48 E# Nombre Edad 320 José 34 322 Rosa 37 • María 25 421 Jorge 48 2002 © P.P.Álgebra Relacional n Definición n Conjunto cerrado de operaciones n n n Actúan sobre relaciones Producen relaciones como resultados Pueden combinarse para construir expresiones más complejas n n Operadores Básicos n n n n n Operadores Derivados n n n n Unión Diferencia Producto Cartesiano Selección Proyección n n n Intersección Join División Asociación n Son operacionalmente completos.

P. pero no están en S R y S deben ser unión-compatible Ingenieros .P.Diferencia n R-S n n La diferencia de dos relaciones R y S. es otra relación que contiene las tuplas que están en la relación R.Jefes Jefes Ingenieros E# Nombre Edad 320 José 34 322 Rosa 37 323 María 25 E# Nombre Edad 320 José 34 421 Jorge 48 E# Nombre Edad 322 Rosa 37 • María 25 Jefes .Ingenieros E# Nombre Edad 421 Jorge 48 2002 © P. Alarcón Bases de Datos 5 Producto Cartesiano n RxS n Define una relación que es la concatenación de cada una de las filas de la relación R con cada una de las filas de la relación S Ingenieros X Proyectos Ingenieros E# Nombre D# 320 José D1 322 Rosa D3 Proyectos Departamentos E# 320 320 322 • Nombre José José Rosa Rosa D# D1 D1 D3 D3 Proyecto Tiempo RX338A 21 PY254Z 32 RX338A 21 PY254Z 32 Proyecto Tiempo RX338A 21 PY254Z 32 D# Descrip D1 Central D3 I+D Ingenieros X Departamentos E# Nombre D# DD Descrip 320 José D1 D1 Central 320 José D1 D3 I+D 322 Rosa D3 D1 Central • Rosa D3 D3 I+D Bases de Datos 2002 © P. Alarcón 6 3 .

. .Edad (Ingenieros) Nombre Edad José 34 Rosa 37 María 25 José 29 πNombre(Ingenieros) Nombre José Rosa María E# Nombre Edad 320 José 34 322 Rosa 37 • María 25 • José 29 2002 © P. Alarcón Bases de Datos 8 4 . . Alarcón Bases de Datos 7 Proyección n Πcol1. eliminando filas duplicadas en el resultado Ingenieros πNombre.P. coln(R) n Es un operador unario n Define una relación que contiene un subconjunto vertical de R con los valores de los atributos especificados.P. .Selección n σpredicado (R) n n Es un operador unario Define una relación con los mimos atributos que R y que contiene solo aquellas filas de R que satisfacen la condición especificada (predicado) σ edad>=35 (Ingenieros) σ edad>=45 (Ingenieros) Ingenieros E# Nombre Edad 320 José 34 322 Rosa 37 323 María 25 E# Nombre Edad 322 Rosa 37 E# Nombre Edad 2002 © P.

R2 n Equivalencia con operadores básicos X = X1 – X2 R1 R1 E# 320 320 • 323 • • 324 Proyecto RX338A PY254Z RX338A NC168T PY254Z PY254Z NC168T Proyecto RX338A PY254Z ÷ R2 E# 320 323 2002 © P. y que contiene el conjunto de valores de C. Alarcón Bases de Datos 10 5 .P. incluido en la relación R. X2 = ΠC((S X X1) – R).Intersección n R ∩S n n n Define una relación que contiene el conjunto de todas las filas que están tanto en la relación R como en S R y S deben ser unión-compatible Equivalencia con operadores básicos R ∩ S = R – (R – S) Jefes Ingenieros ∩ Jefes ∩ Ingenieros E# Nombre Edad 320 José 34 322 Rosa 37 323 María 25 E# Nombre Edad 320 José 34 421 Jorge 48 E# Nombre Edad 320 José 34 2002 © P. que en las tuplas de R están combinadas con cada una de las tuplas de S Condiciones n n grado(R) > grado (S) conjunto atributos de S ⊂ conjunto de atributos de R X1 = ΠC(R). Alarcón Bases de Datos 9 División o Cociente n R ÷S n n Define una relación sobre el conjunto de atributos C.P.

Join n Unión Natural (Natural Join) n R n n n S ó R*S El resultado es una relación con los atributos de ambas relaciones y se obtiene combinando las tuplas de ambas relaciones que tengan el mismo valor en los atributos comunes Normalmente la operación de join se realiza entre los atributos comunes de dos tablas que corresponden a la clave primaria de una tabla y la clave foránea correspondiente de la otra tabla Método n n n Se realiza el producto cartesiano R x S Se seleccionan aquellas filas del producto cartesiano para las que los atributos comunes tengan el mismo valor Se elimina del resultado una ocurrencia (columna) de cada uno de los atributos comunes n Equivalencia con operadores básicos R 2002 © P.P. Alarcón F S = σF(R Χ S) Bases de Datos 11 Join n Outer Join n n n Es una variante del Join en la que se intenta mantener toda la información de los operandos.P. incluso para aquellas filas que no participan en el Join Se “rellenan con nulos” las tuplas que no tienen correspondencia en el Join Tres variantes n Left n se tienen en cuenta todas las filas del primer operando se tienen en cuenta todas las filas del segundo operando se tienen en cuenta todas las filas de ambos operandos Bases de Datos n Right n n Full n 2002 © P. Alarcón 12 6 .

bi donde θ representa un operador de comparación (<. ≤.P. ≠) El predicado no tiene por que definirse sobre atributos comunes Equivalencia con operadores básicos F S R n F S = σF(R Χ S) Equijoin n Si el predicado F contiene únicamente el operador de igualdad 2002 © P. ≥. =.P. Alarcón Bases de Datos Asociación n Asociación o Theta Join (θ-Join) n R n n n n ó R*FS Define una relación que contiene las tuplas que satisfacen el predicado F en el producto cartesiano de R y S El predicado F es de la forma R. >.ai θ S. Alarcón Bases de Datos 14 7 .Join R1 * LEFT R2 R1 R2 E# Nombre D# 320 José D1 322 Rosa D3 • María D3 • José D5 D# D1 D3 D4 Descrip Central I+D Ventas E# 320 322 • • E# • 322 • null E# 320 322 • • null Nombre José Rosa María José Nombre José Rosa María null Nombre José Rosa María José null D# D1 D3 D3 D5 Descrip Central I+D I+D null R1 * RIGHT R2 R1 * R2 D# Descrip D1 Central D3 I+D D3 I+D D4 Ventas D# Descrip D1 Central D3 I+D D3 I+D D5 null D4 Ventas 13 E# Nombre D# Descrip 320 José D1 Central 322 Rosa D3 I+D • María D3 I+D R1 * FULL R2 2002 © P.

Dibujo Inglés Notas Precio 15000 20000 18000 Nmat CodA Conv 0338 0254 0168 0338 1 2 2 2 3 1 1 3 Feb 02 Feb 02 Feb 02 Feb 02 Jun 02 Jun 02 Jun 02 Jun 02 Nota 8 5 3 5 7 6 9 5 Alumnos Nmat Nombre Apellidos 0338 0254 0168 Ana Rosa Juan Pérez Gómez López López García García Domicilio C / Julio nº 96 C/ Verano s/n C/ Playa nº 1 Telefono 1112233 1113344 1114455 0338 0254 0168 0168 2002 © P. Alarcón Bases de Datos 15 Ejemplo 1 n Obtener los apellidos y teléfono de los alumnos de nombre Rosa πapellidos.P. apellidos.Ejemplos Asignaturas CodA NombreA 1 2 3 Program. nota (σnombreA=‘Ingles’(Alumnos*Notas*Asignaturas)) Nombre Ana Juan Apellidos Pérez Gómez García García Bases de Datos Nota 7 5 16 2002 © P. Alarcón 8 .P. telefono (σnombre=‘Rosa’(Alumnos)) Apellidos López López Telefono 1113344 n Obtener las notas obtenidas en la asignatura de Inglés πnombre.

codA (Notas) ÷ πcodA (Asignaturas))) Nombre Ana Apellidos Pérez Gómez 2002 © P.Ejemplo 1 n Obtener los alumnos que figuren matriculados en todas las asignaturas πNmat. (Alumnos * (πNmat.π Nmat (σnota<5 (Notas)) Nmat 0338 0254 2002 © P. Alarcón Bases de Datos 18 9 . Alarcón Bases de Datos 17 Ejemplo 1 n Obtener los alumnos que figuren matriculados en las asignaturas de Inglés y Dibujo πNmat (σnombreA=‘Ingles’ (Asignaturas) * Alumnos) ∩ πNmat (σnombreA=‘’Dibujo’ (Asignaturas) * Alumnos) Nmat 0338 0168 n Obtener los alumnos que no han suspendido ninguna asignatura πNmat (σnota>=5 (Notas)) .P. apellidos .P.codA (Notas) ÷ πcodA (Asignaturas) Nmat 0338 Ó πnombre.

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer: Get 4 months of Scribd and The New York Times for just $1.87 per week!

Master Your Semester with a Special Offer from Scribd & The New York Times