Académique Documents
Professionnel Documents
Culture Documents
Andrea Rodrı́guez
Operadores
Unarios
Operadores
Binarios
Cierre Recursivo
Conjuntos versus
Bags
M. Andrea Rodrı́guez-Tastets
Restricciones en
relaciones
Universidad de Concepción,Chile Ejercicios
www.inf.udec.cl\ ∼andrea
andrea@udec.cl
II Semestre - 2010
Bases de Datos
Andrea Rodrı́guez
Operadores Unarios
Operadores
Unarios
Operadores
Operadores Binarios Binarios
Extensiones
Conjuntos versus
Bags
Ejercicios
Restricciones en relaciones
Ejercicios
Bases de Datos
Andrea Rodrı́guez
Operadores
Unarios
Objetivos de la Unidad
Operadores
Estudiar los operadores del álgebra relacional Binarios
Extensiones
¿Qué se debe saber al término de la Unidad?
Cierre Recursivo
Conjuntos versus
I ¿Cuáles son los operadores unarios y binarios? Bags
operadores
I Escriba cómo se puede definir la división en función de la
proyección, del producto cartesiano y de la diferencia
Bases de Datos
Andrea Rodrı́guez
Operadores
Binarios
Extensiones
Cierre Recursivo
Conjuntos versus
Bags
Restricciones en
relaciones
Ejercicios
Bases de Datos
Andrea Rodrı́guez
Operadores
Unarios
Extensiones
I Operadores Unarios:
Cierre Recursivo
I Operador Restricción - Selección (σ) Conjuntos versus
I Operador Proyección (π) Bags
Restricciones en
I Operadores Binarios: relaciones
Ejercicios
I Unión (U)
I Diferencia (-)
I Producto cartesiano generalizado (⊗)
Bases de Datos
Andrea Rodrı́guez
Operadores
Unarios
Operadores
Binarios
Andrea Rodrı́guez
Operadores
Unarios
Selección σ
Operadores
Binarios
AUTOR
NOMBRE NACIONALIDAD INSTITUCION Extensiones
Date, C.J. Norteamericana Relational Ins.
De Miguel, A. Española FIM Cierre Recursivo
Ceri,S. Italiana Politécnico Milán
Conjuntos versus
Bags
σNACIONALIDAD=“Española” (AUTOR)
NOMBRE NACIONALIDAD INSTITUCION Restricciones en
De Miguel, A. Española FIM relaciones
Ejercicios
Formalmente: Sea θ un operador de comparación (>, <, =, ≥, ≤, 6=) y p un predicado de selección
formado por una expresión lógica integrada por cláusulas de la forma: Ai θAj ó Ai θcte, unidas por los
operadores booleanos “AND”, “OR”, “NOT”. El operador de selección σ aplicado a la relación R con el
predicado p, se denota: σp(R) y produce una relación cuyo esquema R será el mismo y cuya extensión
será: {ti ∈ r (R)/p(ti ) = “cierto 00 } El grado de la relación resultante será por tanto n, es decir el
mismo que el de la relación R y su cardinalidad m0 ≤ m.
Bases de Datos
Andrea Rodrı́guez
Operadores
Unarios
Operadores
Binarios
Cierre Recursivo
Restricciones en
σ<cond1> (σ<cond2> (R)) = σ<cond2> (σ<cond1> (R)) relaciones
Andrea Rodrı́guez
Operadores
Unarios
Proyección π Operadores
Binarios
Restricciones en
La proyección de una relación sobre un subconjunto de sus atributos es una relación definida sobre ellos, relaciones
eliminando las tuplas duplicadas que hubieran podido resultar; es por tanto, un subconjunto vertical de
la relación a la que se aplica el operador. Ejercicios
Formalmente: Sea X un subconjunto estricto y no vacı́o de A (X ⊆ A y X 6= ∅), la aplicación del
operador de proyección π a R en el contexto de X , denotado por: πX (R) será una relación cuyo
esquema es R(X ) y cuya extensión es el conjunto de tuplas de la relación original definidas sobre los
atributos X , eliminando las que resulten duplicadas, es decir: {ti (X )/X ⊆ A}. El grado n0 y la
cardinalidad m0 de la relación resultante cumplen con : n0 < n y m0 < m.
Bases de Datos
Andrea Rodrı́guez
Operadores
Unarios
Operadores
Binarios
Extensiones
Propiedades de Proyección
Cierre Recursivo
Conjuntos versus
Si la < lista2 > contiene los atributos en < lista1 >, entonces: Bags
Restricciones en
relaciones
π<lista1 > (π<lista2 > (R)) = π<lista1 > (R)
Ejercicios
Bases de Datos
Andrea Rodrı́guez
Operadores
Unarios
Operadores
Binarios
Secuencia de Operaciones
Extensiones
Cierre Recursivo
Conjuntos versus
Bags
π<lista> (σ<cond> . . . (R)) Restricciones en
relaciones
T ← σ<cond> . . . (R); πlista (T )
Ejercicios
R(AA, BB, CC ) ← π<A,B,C > (T )
Bases de Datos
Andrea Rodrı́guez
Operadores Binarios
Operadores
I Los operadores binarios se aplican a dos relaciones y algunos Unarios
Ejercicios
∀Ai ∃A0j /dom(Ai ) = dom(A0j )y
∀A0i ∃Aj /dom(A0i ) = dom(Aj )
Andrea Rodrı́guez
Operadores
Unarios
Operadores
Binarios
S
Union ( ) Extensiones
Cierre Recursivo
Andrea Rodrı́guez
S
Union ( )
Operadores
AUTOR Unarios
NOMBRE NACIONALIDAD INSTITUCION
Date, C.J. Norteamericana Relational Ins. Operadores
De Miguel, A. Española FIM Binarios
Ceri,S. Italiana Politécnico Milán
Extensiones
EDITOR
Cierre Recursivo
NOMBRE NACIONALIDAD INSTITUCION
Chen P. Norteamericana ER Ins. Conjuntos versus
De Miguel, A. Española FIM Bags
Yao L.. Italiana Polit.Milan
S Restricciones en
EDITOR EDITOR relaciones
NOMBRE NACIONALIDAD INSTITUCION
Date, C.J. Norteamericana Relational Ins. Ejercicios
De Miguel, A. Española FIM
Ceri,S. Italiana Politécnico Milán
Chen P. Norteamericana ER Ins.
Yao L.. Italiana Polit.Milan
Formalmente: Sean dos relaciones compatibles con esquemas R y R 0 , la unión de ambas, denotada por
R R 0 será una relación con esquema R (o R 0 ya que ambos son iguales) y con extensión:
S
{ti /ti ∈ r ∨ ti ∈ r 0 }
Bases de Datos
Andrea Rodrı́guez
Operadores
Unarios
Operadores
Binarios
Extensiones
Diferencia (-)
Cierre Recursivo
Conjuntos versus
La diferencia de dos relaciones compatibles en su esquema es otra Bags
Andrea Rodrı́guez
Operadores
Diferencia (-) Unarios
AUTOR
NOMBRE NACIONALIDAD INSTITUCION Operadores
Date, C.J. Norteamericana Relational Ins. Binarios
De Miguel, A. Española FIM
Ceri,S. Italiana Politécnico Milán Extensiones
Cierre Recursivo
EDITOR
NOMBRE NACIONALIDAD INSTITUCION Conjuntos versus
Chen P. Norteamericana ER Ins. Bags
De Miguel, A. Española FIM
Yao L.. Italiana Polit.Milan Restricciones en
relaciones
AUTOR − EDITOR
Ejercicios
NOMBRE NACIONALIDAD INSTITUCION
Date, C.J. Norteamericana Relational Ins.
Ceri,S. Italiana Politécnico Milán
Formalmente: Sean dos relaciones compatibles con esquemas R y R 0 , la diferencia entre ambas,
denotada por: R − R 0 será una relación con esquema R (o R 0 ya que son iguales) y con extensión:
/ r 0 }.
{ti /ti ∈ r ∧ ti ∈
Bases de Datos
Andrea Rodrı́guez
Operadores
Unarios
Operadores
Binarios
Producto Cartesiano (⊗)
Extensiones
Cierre Recursivo
El producto cartesiano generalizado de dos relaciones de Conjuntos versus
cardinalidades m y m0 es una relación cuyo esquema Bags
Andrea Rodrı́guez
Operadores
Unarios
Producto Cartesiano (⊗)
SOCIOS Operadores
CODIGO NOMBRE DIRECCION Binarios
1 Elena Manriquez Calle 120
2 Manuel Garcia Calle 204 Extensiones
Cierre Recursivo
LIBROS
LIBRO AUTOR EDITORIAL Conjuntos versus
DB Systems Date C.J. Addison Bags
Basi di Dati Ceri S. Clup
SQL stan. Date C.J. Addison Restricciones en
relaciones
SOCIOS ⊗ LIBROS
CODIGO NOMBRE DIRECCION LIBRO AUTOR Ejercicios
EDITORIAL
1 Elena Manriquez Calle 120 DB Systems Date C.J. Addison
1 Elena Manriquez Calle 120 Basi di Dati Ceri S. Clup
1 Elena Manriquez Calle 120 SQL stan. Date C.J. Addison
2 Manuel Garcia Calle 204DB Systems Date C.J. Addison
2 Manuel Garcia Calle 204 Basi di Dati Ceri S. Clup
2 Manuel Garcia Calle 204 SQL stan. Date C.J. Addison
Bases de Datos
Andrea Rodrı́guez
Operadores
Unarios
Operadores
Producto Cartesiano (⊗) Binarios
Extensiones
0 Cierre Recursivo
Formalmente: Sean las relaciones con esquemas R y R , el
producto de ambas denotado: R ⊗ R 0 será una relación de grado Conjuntos versus
Bags
0 0
n+ S n 0 cuyo esquema estará formado por0 los n0 + n atributos Restricciones en
A A . Es decir: (Ai : Di , . . . , An : Dn , Ai : Di , . . . , A0n0 : Dn0 0 ) y relaciones
Andrea Rodrı́guez
Operadores
Unarios
Operadores
Combinación/Reunión/Join (o
n) Binarios
Extensiones
l, es otra relación constituida por todos los pares de tuplas ti y tj Conjuntos versus
Bags
concatenadas, tales que, en cada par, las columnas k y l de las
Restricciones en
correspondientes tuplas satisfacen la condición θ especificada. Es relaciones
decir, el k−ésimo elemento de la tupla ti de la primera relación Ejercicios
cumple con respecto al l−ésimo elemento de la tupla tj de la
segunda, la condición θ especificada; denotamos por cualquier
operador θ de comparación.
Bases de Datos
Andrea Rodrı́guez
Operadores
Unarios
Operadores
Join (o
n) Binarios
Extensiones
Andrea Rodrı́guez
Operadores
Unarios
Join
AUTOR Operadores
NOMBRE NACIONALIDAD INSTITUCION Binarios
Date, C.J. Norteamericana Relational Ins.
De Miguel, A. Española FIM Extensiones
Ceri,S. Italiana Politécnico Milán
Cierre Recursivo
LIBROS
Conjuntos versus
LIBRO AUTOR EDITORIAL Bags
DB Systems Date C.J. Addison
Basi di Dati Ceri S. Clup Restricciones en
SQL stan. Date C.J. Addison relaciones
Diseo BD De Miguel Rama
Ejercicios
AUTOR n o LIBROS (autor.nombre = libros.autor)
NOMBRE NACIONALIDAD INSTITUCION LIBRO EDITORIAL
Date C.J. Norteamericana Relational Ins. DB Systems Addison
De Miguel Espaola FIM Diseo BD Rama
Date C.J. Norteamericana Relational Ins. SQL stan Addison
Ceri,S. Italiana Politécnico Milán Basi di Dati Clup
Bases de Datos
Andrea Rodrı́guez
Operadores
Unarios
Operadores
Combinación/Reunión/Join (o
n) Binarios
Extensiones
Cierre Recursivo
I Si la condición es la de igualdad, se denomina combinación Conjuntos versus
por igualdad (natural join). Bags
Restricciones en
I La llamada combinación natural es una combinación por relaciones
Andrea Rodrı́guez
Operadores
Unarios
Operadores
Binarios
T Extensiones
Intersection( )
Cierre Recursivo
Conjuntos versus
La intersección de dos relaciones compatibles en su esquema es Bags
Andrea Rodrı́guez
T
Intersección ( ) Operadores
Unarios
AUTOR
NOMBRE NACIONALIDAD INSTITUCION Operadores
Date, C.J. Norteamericana Relational Ins. Binarios
De Miguel, A. Española FIM
Ceri,S. Italiana Politécnico Milán Extensiones
Formalmente: Sean dos relaciones compatibles con esquemas R y R, la intersección de ambas, denotada
por: R R 0 será una relación con esquema R (o R 0 ya que son iguales) y con extensión:
S
{ti /ti ∈ r ∧ ti ∈ r }.
LaTintersecciónSse puede definir en S
función de la Unión y la Diferencia:
R R 0 = (R R 0 ) − ((R − R 0 ) (R 0 − R))
Bases de Datos
Andrea Rodrı́guez
Operadores
Unarios
División(:) Operadores
Binarios
Extensiones
La división de dos relaciones es otra relación cuya extensión Cierre Recursivo
estará constituida por las tuplas que al completarse con las tuplas Conjuntos versus
de la segunda relación permiten obtener la primera. Bags
vi(n−n0 +1) , . . . , vin >∈ r 0 ∃ < vi1 , . . . , vi(n−n0 ) , vi(n−n0 +1) , . . . , vin >∈ r }
Bases de Datos
Andrea Rodrı́guez
Operadores
Unarios
División (:)
AUTOR Operadores
NOMBRE NACIONALIDAD EDITORIAL Binarios
Date C.J. Norteamericana Addison
Extensiones
De Miguel Española Rama
Saltor F. Española Paraninfo Cierre Recursivo
Ceri S. Italiana Club
Costilla C. Española Diaz de Santos Conjuntos versus
Codd E. Norteamericana Prentice Hall Bags
De Miguel Española Addison
Restricciones en
EDITORIAL relaciones
EDITORIAL
Ejercicios
Addison
Rama
AUTOR : EDITORIAl
NOMBRE NACIONALIDAD
De Miguel, A. Española
Bases de Datos
Andrea Rodrı́guez
Operadores
Unarios
Operadores
Binarios
Extensiones
Operadores dependientes e independientes
Cierre Recursivo
Conjuntos versus
Bags
I R ∩ S = R − (R − S) Restricciones en
relaciones
I nc S = σC (R ⊗ S)
Ro
Ejercicios
Bases de Datos
Andrea Rodrı́guez
Agregación
Operadores
Unarios
Cierre Recursivo
donde
I Conjuntos versus
< atributos de agrupación > es una una lista de atributos de la relación especificada en R
Bags
I < lista de funciones > es una lista de pares (< función >< atributo >).
< función > es una de las funciones permitidas (SUMA, Restricciones en
PROMEDIO,MAXIMO,CUENTA,MINIMO), < atributo > es una atributo de la relación R. relaciones
I Por ejemplo: Ejercicios
Andrea Rodrı́guez
Operadores
Join Externo Unarios
Operadores
I Se usan para conservar en el resultado de un Join o Unión Binarios
todas las tuplas que esten en una u otra u ambas relaciones Extensiones
ya sea que que tengan o no tuplas coincidentes en la otra Cierre Recursivo
relación. Conjuntos versus
Bags
I Por ejemplo, si se quiere obtener todos los nombres de los
Restricciones en
empleados y los departamentos que ellos dirijen, uno podrı́a relaciones
Andrea Rodrı́guez
Operadores
Unarios
Conjuntos versus
I Una expresión x → y , donde x e y son nombres de atributos Bags
y que significa que el atributo x en R se renombra por y Restricciones en
relaciones
I Un expresión E → z, donde E es una expresión que involucra
Ejercicios
atributos en R, constantes, operadores aritméticos, y
operadores sobres strings, y z en un nuevo nombre para el
atributo que resulta del cálculo de la expresión E .
Bases de Datos
Andrea Rodrı́guez
Operadores
Unarios
Operadores
Binarios
Extensiones
Cierre Recursivo
Ordenamiento
Conjuntos versus
Se denota por τL (R), donde L puede es una lista de atributos Bags
Ejercicios
Bases de Datos
Andrea Rodrı́guez
Operadores
Unarios
Cierre Recursivo
Operadores
Binarios
I El cierre recursivo es un tipo de operación que no se puede Extensiones
aplicar con los operadores básicos del álgebra relacional.
Cierre Recursivo
I Esta operación se aplica a un vı́nculo recursivo entre las Conjuntos versus
Bags
tuplas del mismo tipo, como en el vı́nculo entre supervisor y
Restricciones en
supervisado. relaciones
Andrea Rodrı́guez
Operadores
Unarios
Operadores
Binarios
Cierre Recursivo
Extensiones
Andrea Rodrı́guez
Operadores
Unarios
Cierre Recursivo
Operadores
Binarios
Si se quiere obtener todos los empleados supervisados por el empleado con nombre X y apellido Y,
podemos hacer lo siguiente: Extensiones
Cierre Recursivo
Si se quiere obtener todos los empleados supervisados por el empleado que es supervisado por el Ejercicios
empleado con nombre X y apellido Y, podemos hacer lo siguiente:
Andrea Rodrı́guez
Operadores
Unarios
Operadores
Conjuntos versus Bags (bolsas) Binarios
Extensiones
Conjuntos versus
natural de datos, sistemas comerciales rara vez o nunca Bags
están basados en conjuntos. En algunos casos, las relaciones Restricciones en
relaciones
como aparecen en sistemas de bases de datos poseen
Ejercicios
duplicados. Esto debido a consideraciones de rendimiento.
Ası́ es posible definir todas las operaciones del álgebra
usando la semántica de bags.
Bases de Datos
Andrea Rodrı́guez
Operadores
Álgebra relacional como un lenguaje de restricciones Unarios
Operadores
Binarios
Hay dos formas en las cuales el álgebra relacional puede ser Extensiones
Conjuntos versus
I Sea R una expresión del álgebra relaciona, R = ∅ es una Bags
restricción que indica que no hay tuplas en el resultado Restricciones en
relaciones
de R.
Ejercicios
I Sean R y S dos expresiones del álgebra relaciona,
entonces R ⊆ es una restricción qie dice que cada tupla
que resulta de R debe también resultar de S.
I Restricción referencial πA1 ,...,An (R) ⊆ πB1 ,...,Bn (S)
Bases de Datos
Andrea Rodrı́guez
Operadores
Binarios
Extensiones
Cierre Recursivo
Conjuntos versus
Bags
Restricciones en
relaciones
Ejercicios
Problema 6: Convierta a modelo relacional el problema 5 de la sección anterior, Las Olimpíadas (eeeh,
oro pa’ Chile).
Bases de Datos
Andrea Rodrı́guez
Operadores
Ejercicio (cont.) Unarios
Usando el esquema anterior, escriba las siguientes consultas en el Operadores
álgebra relacional: Binarios
Extensiones
I Indique los libros que estén en español Cierre Recursivo
I Considere que las copias que no hayan sido devueltas tiene Conjuntos versus
Bags
fecha de devolución null el indique el nombre de los libros y
Restricciones en
los usuarios que tengan copias que no hayn sido devueltas. relaciones
Ejercicios
I Indique algún usuario que esté en el sistema y no haya pedido
prestado ningún libro
I Indique el libro que haya sido prestado más
Además exprese la dependencia de la entidad débil con operadores
del álgebra relacional.