Algebra relacional

21
Pág 1 BASES DE DATOS MODELOS RELACIONALES DE BASES DE DATOS ALGEBRA RELACIONAL

Transcript of Algebra relacional

Page 1: Algebra relacional

Pág 1BASES DE DATOS

MODELOS RELACIONALES DE BASES DE DATOSALGEBRA RELACIONAL

MODELOS RELACIONALES DE BASES DE DATOSALGEBRA RELACIONAL

Page 2: Algebra relacional

Pág 2BASES DE DATOS

Que busca?Que busca?Que es?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.

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.

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

Page 3: Algebra relacional

Pág 3BASES DE DATOS

RestricciónProyecciónReuniónDivisión

UnionIntersecciónDifereancia

Producto cartesiano

CLASIFICACION DE LA OPERACIONES

ALGEBRARELACIONAL

Page 4: Algebra relacional

Pág 4BASES DE DATOS

UNIONUNION

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.

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

Page 5: Algebra relacional

Pág 5BASES DE DATOS

UNIONUNION

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

Page 6: Algebra relacional

Pág 6BASES DE DATOS

INTERSECCIONINTERSECCION

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.

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

Page 7: Algebra relacional

Pág 7BASES DE DATOS

INTERSECCIONINTERSECCION

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

Page 8: Algebra relacional

Pág 8BASES DE DATOS

DIFERENCIADIFERENCIA

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.

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

Page 9: Algebra relacional

Pág 9BASES DE DATOS

DIFERENCIADIFERENCIA

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

Page 10: Algebra relacional

Pág 10BASES DE DATOS

PRODUCTO CARTESIANOPRODUCTO 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.

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,…

Page 11: Algebra relacional

Pág 11BASES DE DATOS

PRODUCTO CARTESIANOPRODUCTO 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.

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

Page 12: Algebra relacional

Pág 12BASES DE DATOS

PRODUCTO CARTESIANOPRODUCTO 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

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

Page 13: Algebra relacional

Pág 13BASES DE DATOS

RESTRICCIONRESTRICCION

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.

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

Page 14: Algebra relacional

Pág 14BASES DE DATOS

RESTRICCIONRESTRICCION

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

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

Page 15: Algebra relacional

Pág 15BASES DE DATOS

RESTRICCIONRESTRICCION

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

Page 16: Algebra relacional

Pág 16BASES DE DATOS

PROYECCIONPROYECCION

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.

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

Page 17: Algebra relacional

Pág 17BASES DE DATOS

REUNIONREUNION

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

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

Page 18: Algebra relacional

Pág 18BASES DE DATOS

REUNIONREUNION

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.

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

Page 19: Algebra relacional

Pág 19BASES DE DATOS

REUNIONREUNION

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

Page 20: Algebra relacional

Pág 20BASES DE DATOS

DIVISIONDIVISION

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.

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

Page 21: Algebra relacional

Pág 21BASES DE DATOS

DIVISIONDIVISION

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