1. Pág 1
BASES DE DATOS
MODELOS RELACIONALES DE
BASES DE DATOS
ALGEBRA RELACIONAL
2. Pág 2
BASES DE DATOS
Que busca?Que es?
Brindar el marco teórico sobre el cual
escribir un conjunto de expresiones para
definir esquemas y operar sobre los datos
persistentes.
Tales expresiones permitirán:
Definir los datos que se van a
extraer.
Definir los datos a insertar, modificar
o eliminar como resultado de una
operación de actualización.
Definir un conjunto de datos que
contendrá una vista de un usuario.
Definir derechos de acceso a los
datos.
Definir operaciones de control de
concurrencia.
Definir restricciones de integridad.
Conjunto de operadores de alto nivel
que actúan sobre las relaciones.
Las operaciones son cerradas.
Cada uno de estos operadores
toman una o dos relaciones como
entrada y producen una nueva
relación como salida.
Las expresiones constituyen una
representación, a alto nivel, de las
intenciones del usuario.
ALGEBRA RELACIONAL
3. Pág 3
BASES DE DATOS
Restricción
Proyección
Reunión
División
Union
Intersección
Difereancia
Producto cartesiano
CLASIFICACION DE LA OPERACIONES
ALGEBRA
RELACIONAL
4. Pág 4
BASES DE DATOS
UNION
La unión de dos relaciones A y B, compatibles respecto a la unión,
que simbolizaremos A UNIÓN B, es una relación cuya cabecera es
idéntica a la de A o a la de B y cuyo cuerpo está formado por
todas las tuplas pertenecientes a A, o a B, o a ambas sin tuplas
repetidas.
El resultado de la unión entre dos relaciones, es una nueva
relación que contiene los elementos del ambas relaciones.
Su comportamiento es análogo a la unión de conjuntos.
La operación unión entre dos relaciones se puede hacer si ambas
relaciones son compatibles respecto a la unión.
Esto ocurre si y solo sí:
Las dos tienen el mismo conjunto de nombres de
atributos.
Los atributos que tienen el mismo nombre se definen
sobre el mismo dominio.
OPERACIONES
OPERACIONES TRADICIONALES
5. Pág 5
BASES DE DATOS
UNION
OPERACIONES
OPERACIONES TRADICIONALES
Alumnos1 Alumnos2
LU Nombre CPostal LU Nombre CPostal
1 Juan 4400 1 Juan 4400
3 Pedro 4402 2 Diego 4400
4 Rosa 4401 4 Rosa 4401
Alumnos1 UNION Alumnos2
LU Nombre CPostal
1 Juan 4400
3 Pedro 4402
2 Diego 4400
4 Rosa 4401
6. Pág 6
BASES DE DATOS
INTERSECCION
La intersección de dos relaciones A y B, compatibles respecto a la
unión, que simbolizaremos A INTERSECCIÓN B, es una relación
cuya cabecera es idéntica a la cabecera de A o de B y cuyo cuerpo
está formado por todas las tuplas pertenecientes tanto a A como
a B.
OPERACIONES
OPERACIONES TRADICIONALES
7. Pág 7
BASES DE DATOS
INTERSECCION
OPERACIONES
OPERACIONES TRADICIONALES
Alumnos1 Alumnos2
LU Nombre CPostal LU Nombre CPostal
1 Juan 4400 1 Juan 4400
3 Pedro 4402 2 Diego 4400
4 Rosa 4401 4 Rosa 4401
Alumnos1 INTERSECCION Alumnos2
LU Nombre CPostal
1 Juan 4400
4 Rosa 4401
8. Pág 8
BASES DE DATOS
DIFERENCIA
La diferencia entre dos relaciones A y B, compatibles respecto a la
unión, que simbolizamos como A MENOS B, es una relación cuya
cabecera es idéntica a la de A o a la de B y cuyo cuerpo está
formado por todas las tuplas pertenecientes a A, pero no a B.
OPERACIONES
OPERACIONES TRADICIONALES
9. Pág 9
BASES DE DATOS
DIFERENCIA
OPERACIONES
OPERACIONES TRADICIONALES
Alumnos1 Alumnos2
LU Nombre CPostal LU Nombre CPostal
1 Juan 4400 1 Juan 4400
3 Pedro 4402 2 Diego 4400
4 Rosa 4401 4 Rosa 4401
Alumnos1 MENOS Alumnos2
LU Nombre CPostal
3 Pedro 4402
Alumnos2 MENOS Alumnos1
LU Nombre CPostal
2 Diego 4400
10. Pág 10
BASES DE DATOS
PRODUCTO CARTESIANO
Si definiéramos el producto cartesiano entre dos relaciones, en
términos de conjuntos, deberíamos obtener pares ordenados de
tuplas.
Pero el conjunto de pares ordenados de tuplas NO es una
relación.
OPERACIONES
OPERACIONES TRADICIONALES
Alumnos1 Alumnos2
LU Nombre CPostal LU Nombre CPostal
1 Juan 4400 1 Juan 4400
3 Pedro 4402 2 Diego 4400
El par ordenado (LU, LU)
podrá convertirse en un una nueva relación, resultado
Al incorporar el par ordenado (LU, Nombre)
el dominio del segundo atributo será distinto,…
11. Pág 11
BASES DE DATOS
PRODUCTO CARTESIANO
Debemos encontrar una manera de combinar cada par ordenado
de tuplas para que dé como resultado una sola tupla y, así,
entonces tendríamos un conjunto de tuplas que pertenecería a la
relación resultante.
Diremos entonces que si la tupla
< a1, a2, a3, . . . , am > de la relación A,
se combina con la tupla
< b1, b2, b3, . . . , bn > de la relación B,
la tupla resultante es:
< a1, a2, a3, . . . , am, b1, b2, b3, . . . , bn >
Es decir que la operación producto cartesiano entre relaciones
tiene características que la distinguen con respecto a la operación
producto cartesiano entre conjuntos, aunque esté originada en el
mismo principio.
OPERACIONES
OPERACIONES TRADICIONALES
12. Pág 12
BASES DE DATOS
PRODUCTO CARTESIANO
El producto cartesiano ampliado entre dos relaciones A y B,
compatibles para el producto, que simbolizamos A PRODUCTO B,
es una relación cuya cabecera es la combinación de las cabeceras
de A y de B y cuyo cuerpo está formado por el conjunto de tuplas
resultantes de todas las combinaciones entre cada tupla de A con
cada tupla de B.
Dos relaciones A y B son compatibles para el
producto cartesiano si y solo si: los nombres de los atributos son
distintos en las relaciones
OPERACIONES
OPERACIONES TRADICIONALES
A B
a1 a2 b1
1 1 10
1 2 11
12
A PRODUCTO B
a1 a2 b1
1 1 10
1 1 11
1 1 12
1 2 10
1 2 11
1 2 12
13. Pág 13
BASES DE DATOS
RESTRICCION
Sea un operador de comparación escalar simple, >, <, <>, =, etc.
La restricción de la relación A, según los atributos X e Y, que
representamos A DONDE X Y es una nueva relación con la
misma cabecera que A y su cuerpo es el conjunto de tuplas de A
tales que el resultado de la evaluación X Y es verdadero.
Los atributos X e Y deben estar definidos sobre el mismo dominio
y la operación debe ser aplicable a ese dominio.
La condición, cuyo valor de verdad puede determinarse a partir
de los valores contenidos en una tupla dada, o sea, no depende
de los valores que contienen el resto de las tuplas, se conoce
como condición de restricción.
OPERACIONES
OPERACIONES ESPECIALES
14. Pág 14
BASES DE DATOS
RESTRICCION
Se puede especificar un valor literal en lugar del atributo X o del
atributo Y, o de ambos. A DONDE E literal.
La cláusula DONDE admite condiciones compuestas:
A DONDE condición 1 AND condición 2, equivale a decir:
(A DONDE condición 1) INTERSECCIÓN (A DONDE condición 2).
A DONDE condición 1 OR condición 2, equivale a decir:
(A DONDE condición 1) UNIÓN (A DONDE condición 2).
A DONDE NO condición, equivale a decir:
A MENOS (A DONDE condición).
OPERACIONES
OPERACIONES ESPECIALES
15. Pág 15
BASES DE DATOS
RESTRICCION
OPERACIONES
OPERACIONES ESPECIALES
Alumnos
LU Nombre CPostal
1 Juan 4400
3 Pedro 4402
7 María 4401
Alumnos DONDE CPostal <> 4400
LU Nombre CPostal
3 Pedro 4402
7 María 4401
Alumnos DONDE LU < 4
AND Cpostal = 4400
LU Nombre CPostal
1 Juan 4400
16. Pág 16
BASES DE DATOS
PROYECCION
La proyección de la relación A según los atributos X, Y, . . . , Z, que
se denota con A [ X, Y, . . . , Z ]
Es una relación cuya cabecera son los atributos (X, Y, . . . , Z) y
cuyo cuerpo está formado por los valores que en todas las tuplas
de A toman los atributos X, Y, . . . , Z, tal que no aparecen valores
repetidos.
OPERACIONES
OPERACIONES ESPECIALES
Alumnos
LU Nombre CPostal
1 Juan 4400
3 Pedro 4402
7 María 4401
Alumnos [Cpostal]
4400
4402
4401
(Alumnos1 DONDE Nombre= 'Pedro' ) [ LU ]
3
17. Pág 17
BASES DE DATOS
REUNION
Sean las relaciones
A ( X1, X2, . . . , Xm, Y1, Y2, . . . , Yn )
B ( Y1, Y2, . . . , Yn, Z1, Z2, . . . , Zp )
donde los atributos Y1, Y2, . . . , Yn están definidos sobre el
mismo dominio.
La reunión de las relaciones A y B, que representamos como
A REUNIÓN B, es una nueva relación cuya cabecera está formada
por los atributos X1, X2,. . ., Xm, Y1, Y2, . . ., Yn, Z1, Z2, . . . , Zp,
y cuyo cuerpo contiene las tuplas resultado de un subconjunto del
producto cartesiano entre A y B donde se cumplen las
condiciones de reunión.
A REUNIÓN B (A PRODUCTO B DONDE condición).
OPERACIONES
OPERACIONES ESPECIALES
18. Pág 18
BASES DE DATOS
REUNION
La operación reunión más común es aquella en que la condición
es la igualdad, por lo tanto se definirá como el subconjunto del
producto cartesiano entre A y B, tal que:
( A.Y1 = B.Y1 ) ( A.Y2 = B.Y2 ) . . . ( A.Yn = B.Yn )
se denomina equirreunión. En adelante, cuando nos refiramos a la
operación reunión estaremos hablando de equirreunión.
OPERACIONES
OPERACIONES ESPECIALES
19. Pág 19
BASES DE DATOS
REUNION
OPERACIONES
OPERACIONES ESPECIALES
Alumnos Localidades
LU Nombre CPostal CPostal Localidad
1 Juan 4400 4000 Salta
2 Pedro 4402 4001 San Lorenzo
3 Diego 4401 4002 Cerrillos
Alumnos REUNION Localidades (CodPostal)
LU Nombre CPostal Localidad
1 Juan 4400 Salta
2 Pedro 4402 Cerrillos
3 Diego 4401 San Lorenzo
20. Pág 20
BASES DE DATOS
DIVISION
Sean las relaciones
A ( X1, X2, . . . , Xm, Y1, Y2, . . . , Yn )
B ( Y1, Y2, . . . , Yn )
tal que los atributos Y1, Y2, . . . , Yn están definidos sobre el
mismo dominio.
La división entre las relaciones A y B, que representaremos como
A DIVIDIDO B, es una nueva relación cuya cabecera está formada
por los atributos X1, X2, . . . , Xm y cuyo cuerpo contiene las tuplas
para las cuales los valores de tales atributos aparecen combinados
en las tuplas de B.
OPERACIONES
OPERACIONES ESPECIALES
21. Pág 21
BASES DE DATOS
DIVISION
OPERACIONES
OPERACIONES ESPECIALES
A B C D
A1 A2 A2 A2 A2
N1 1 1 2 1
N1 2 4 2
N1 3 3
N1 4 4
N1 5 5
N1 6 6
N2 1
N2 2
N3 2
N4 2
N4 4
N4 5
A DIVIDIDO B
A1
N1
N2
A DIVIDIDO C
A1
N1
N4
A DIVIDIDO D
A1
N1