Está en la página 1de 27

ALGEBRA RELACIONAL

INTEGRANTES:

ORLANDO MONSALVE ALFREDO MORALES VANESSA QUINTERO

ALGEBRA RELACIONAL

El algebra es un sistema matemático constituido por

Operandos: objetos (valores o variables) desde los cuales nuevos

objetos pueden ser construidos.

Operadores: símbolos que denotan nuevos objetos desde objetos

dados.

El algebra relacional es un algebra que consiste en:

• Operandos: son relaciones (instancias) o variables que representan

relaciones.

• Operadores: están diseñados para hacer la tareas mas comunes

que se necesitan para manipular relaciones en una base de datos.

El resultado es que el algebra relacional se puede utilizar como un

lenguaje de consulta.

En la practica el algebra relacional debe ser extendida para abarcar la mayor parte de las tareas reales que se hacen con los datos.

Estudiaremos en detalle los operadores básico y derivados.

OPERADORES BASICOS OPERADORES DERIVADOS • Selección • Intersección • Proyección • Join

OPERADORES BASICOS

OPERADORES DERIVADOS

Selección

Intersección

Proyección

Join

Unión

División

Diferencia

Asociación

Producto Cartesiano

SELECCIÓN Operador de selección σ , selecciona un subconjunto de las tuplas de una relación.
SELECCIÓN
SELECCIÓN
SELECCIÓN Operador de selección σ , selecciona un subconjunto de las tuplas de una relación. Tuplas

Operador de selección σ, selecciona un subconjunto de las

tuplas de una relación.

Tuplas seleccionadas son las que satisfacen cierto predicado lógico P. El predicado puede depender de los atributos de la relación y de valores constantes.

El operador σ toma una relación como argumento y el resultado es una nueva relación.

Sintaxis:

σP (r)

PROYECCION Operador de proyección π, proyecta una relación sobre un subconjunto de sus atributos. El
PROYECCION
PROYECCION
PROYECCION Operador de proyección π, proyecta una relación sobre un subconjunto de sus atributos. El operador

Operador de proyección π, proyecta una relación sobre

un subconjunto de sus atributos.

El operador π toma una relación como argumento y el resultado es una nueva relación.

Sintaxis:

πA(r)

donde A representa el conjunto de atributos sobre los

que la relación r se proyectara. argumento y el resultado es una nueva relación. Sintaxis: πA(r ) donde A representa el conjunto

UNION Dado que las relaciones son conjuntos de tuplas, se pueden realizar las operaciones usuales
UNION
UNION
UNION Dado que las relaciones son conjuntos de tuplas, se pueden realizar las operaciones usuales de

Dado que las relaciones son conjuntos de tuplas, se pueden realizar las operaciones usuales de conjuntos como la unión.

Sintaxis: usamos notación

r1 r2

Se deben hacer ciertas restricciones para realizar la unión:

Ambas relaciones deben tener el mismo numero de atributos.

El dominio del atributo i-esimo de cada relación

deben tener el mismo numero de atributos. • El dominio del atributo i-esimo de cada relación

debe coincidir.

DIFERENCIA También se puede usar la diferencia de conjuntos, las tuplas que están en una
DIFERENCIA
DIFERENCIA
DIFERENCIA También se puede usar la diferencia de conjuntos, las tuplas que están en una relación

También se puede usar la diferencia de conjuntos, las tuplas

que están en una relación pero no en la otra.

Sintaxis: usamos notación

r1 r2

Para poder realizar la diferencia se deben cumplir las mismas restricciones que para la unión

Ejemplo:

πnombre(alumno) πnombre(σcarrera=Bioinformatica(alumno))

Producto Cartesiano Representa al producto cartesiano usual de conjuntos. Combina tuplas de cualquieras dos (o

Producto Cartesiano

Representa al producto cartesiano usual de conjuntos.

Combina tuplas de cualquieras dos (o mas) relaciones, hace la

combinación de todos con todos.

Si las relaciones a operar tienen N y M tuplas de n y m componentes respectivamente, la relación resultante del el producto cartesiano tiene N × M tuplas de n + m componentes.

Sintaxis: usamos notación

r1 × r2

No hay restricciones a los dominios de las relaciones similares a las anteriores operaciones.

Nos permite reunir datos de dos relaciones distintas.

Cuidado con los nombres repetidos! se deben renombrar ciertos atributos para no tener problemas.

departamento × departamento
departamento × departamento
INTERSECCION La intersección usual de conjuntos. Sintaxis: usamos notación r1 ∩ r2 Se deben cumplir

INTERSECCION La intersección usual de conjuntos.

Sintaxis: usamos notación

r1 r2

Se deben cumplir las mismas restricciones que en la unión y diferencia, los atributos de la relaciones involucradas deben tener los mismos dominios.

La intersección se puede crear a partir de la

diferencia:

r1 r2 = r1 (r1 r2)

DIVISION R/S Define una relación sobre el conjunto de atributos C, incluido en la relación

DIVISION R/S

Define una relación sobre el conjunto de atributos

C, incluido en la relación R, y que contiene el conjunto de valores de C, que en las tuplas de R están combinadas con cada una de las tuplas de S

Condiciones

* grado(R) > grado (S)

conjunto atributos de S subconjunto conjunto de

atributos de R

Asociación Asociación o Theta Join (q-Join) R ⋊ F S ó R * F S

Asociación

Asociación o Theta Join (q-Join) R F S ó R * F S

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 q S.bi donde q representa

un operador de comparación (<, £, >, ‡, =, „)

El predicado no tiene por que definirse sobre atributos comunes

Equivalencia con operadores básicos R F S = s σ F(R XS)

Obtener los apellidos y teléfono de los alumnos de nombre Rosa Π apellidos, teléfono (

Obtener los apellidos y teléfono de los alumnos de nombre Rosa Π apellidos, teléfono (σ nombre=‘Rosa’(Alumnos))

Obtener los apellidos y teléfono de los alumnos de nombre Rosa Π apellidos, teléfono ( σ
NATURAL JOIN Hace producto un cartesiano de sus dos argumentos y realiza una selección forzando

NATURAL JOIN

Hace

producto

un

cartesiano

de

sus

dos

argumentos y realiza una selección forzando la

igualdad de atributos que aparecen en ambas relaciones.

Elimina repetidos (como toda operación de

conjuntos). Sintaxis: r1 r2 o r1 *r2

Outer Join Es una variante del Join en la que se intenta mantener toda la

Outer Join

Es una variante del Join en la que se intenta mantener toda

la información de los operandos, incluso para aquellas filas

que no participan en el Join

Se

correspondencia en el Join

Tres variantes

* Left: se tienen en cuenta todas las filas del primer

operando

* Right: se tienen en cuenta todas las filas del segundo operando *Full: se tienen en cuenta todas las filas de ambos

operandos.

“rellenan

con

nulos”

las

tuplas

que

no

tienen

El algebra relacional es un lenguaje de expresiones. Toda expresión se puede generar a partir

El algebra relacional es un lenguaje de expresiones. Toda expresión se puede generar a partir de las siguientes reglas:

• Toda relación de la base de datos es una expresión.

• Si E1 y E2 son expresiones entonces las siguientes

también son expresiones:

E1 E2

E1 E2

E1 × E2

◦ σP (E1) donde P es un predicado con atributos de E1

πA(E1) donde A es una lista de atributos de E1

◦ ρx(E1) donde x es el nuevo nombre de la relación E1.

Cada expresión generada por las reglas anteriores tiene como resultado una relación.

Toda relación resultado de una expresión en el algebra relacional se puede ver como un árbol donde cada nodo interno esta etiquetado por una operación:

• Las hojas son relaciones efectivas de la base de datos . • La relación

• Las hojas son relaciones efectivas de la base de datos.

• La relación representada por un árbol es la relación que

resulta de aplicar la operación etiquetada en su raíz a las relación representadas por cada uno de los subárboles hijos.

A veces es mas cómodo representar expresiones extensas usando arboles.