Sie sind auf Seite 1von 22

lgebra Relacional Daniel Ramirez Martinez

Introduccin

El lgebra relacional es un conjunto de operaciones que usa como operandos las relaciones. Este conjunto de operaciones cumplen la propiedad de la cerradura. E. F. Codd tomo el lgebra relacional como base terica para su modelo relacional de datos.

Algunas razones por las que es necesario comprender los conceptos del lgebra relacional son: Nos brinda un mayor entendimiento de el funcionamiento interno de un DBMS. Es usado en la optimizacin de consultas. Nos puede ayudar a razonar sobre consultas y restricciones relacionales. Nos brinda un panorama histrico sobre los inicios de las bases de datos relacionales.

Relaciones

Antes de denir una relacin es necesario aclarar los siguientes conceptos. Atributo: Es una propiedad que posee algn objeto o concepto del mundo real como el peso o el color. Dominio: Es un conjunto de posibles valores atmicos. A un dominio se le puede asignar opcionalmente un tipo de dato y un nombre, y se denota como dom(R ). Tupla: Es una secuencia ordenada de valores (v1 , v2 , ..., vn ) D1 D2 ... Dn tal que Di es un dominio y vi Di .

Esquema de relacin: Un esquema de relacin R (A1 , A2 , ..., An ) est denido con un nombre de relacin R y una lista de atributos A1 , A2 , ..., An , para cada atributo Ai tenemos un dominio D que usualmente se denota dom(Ai ). Un esquema de relacin tambien tiene un grado, que es el nmero de atributos que posee.

Denicin de relacin: Se dene una relacin r de un esquema de relacin R (A1 , A2 , ..., An ) como un conjunto de tuplas r = {t1 , t2 , ..., tn } en la que cada ti es una secuencia ordenada de valores (v1 , v2 , ..., vi ) donde vi dom(Ai ) para cada 1 i n, al i-esimo elemento de la tupla ti se le denota como t [Ai ], la relacin se denota entonces como r(R), cabe mencionar que para los dominios D1 , D2 , ..., Dn la relacin es un subconjunto de D1 D2 ... Dn .

Ejemplo:

Operaciones fundamentales

Las operaciones de lgebra relacional nos permiten obtener informacin sobre las relaciones, asi como hacer transformaciones a las mismas. Hay dos tipos de operaciones, las unarias (SELECCIN, PROYECCIN), que nos permiten operar sobre una relacin unicamente, y las binarias (UNIN, DIFERENCIA, PRODUCTO-CRUZ), que nos permiten operar sobre 2 relaciones.

SELECCIN (SELECT)

Nos permite seleccionar un subconjunto de tuplas de una relacin que satisfacen una condicin dada. La seleccin se denota como

<condici o n de selecci o n> (R )


n de selecci o n > es una clusula de la forma donde < condici o n >< constante > < nombredeatributo >< operadordecomparaci o

< nombre de atributo >< operador nombre de atributo >

n >< de comparaci o

y < nombre de atributo > es un elemento de R , n > es comunmente un operador como < operador de comparaci o {=, , , <, >} y < constante > es un valor constante de dom(Ai ) para algn Ai de R . ademas las condiciones de seleccin pueden se conectadas arbitrariamente por operadores booleanos AND, OR, NOT.

Ejemplo:

PROYECCIN (PROJECTION)

Si pensamos en las relaciones como tablas, la proyeccin nos permite seleccionar ciertas columnas de la tabla, esto es seleccionar todos los elementos t [Ai ] para una relacin, donde Ai es un atributo de R , La operacin PROYECCIN se denota como:

<lista de atributos > (R )

la < lista de atributos > son atributos que pertenecen a R . El producto de una proyeccin sera una relacin de grado menor o igual al grado de R , notese que en caso de que en la lista de atributos no se de ninguna llave primaria, y no haya llave candidata, la proyeccin eliminara las tuplas resultantes duplicadas. La siguiente gura es un ejemplo de una proyeccin.

Ejemplo:

Secuencias de operaciones y la operacin (RENOMBRAR) RENAME

En ocasiones debemos usar mas de una operacin para reejar nuestra consulta, en este caso podemos anidar operaciones o podemos crear relaciones temporales, con el n de simplicar la lectura de secuencias complejas de operaciones. en el segundo caso podemos representar dos operaciones como: TEMP dia = lunes (FECHA) dia, mes (TEMP)

En el caso cuando queremos renombrar los atributos de una relacin, podemos usar una operacin que llamaremos RENOMBRAMIENTO o RENAME y se denota de las siguientes formas para una relacin de grado n:

S (B1 ,B2 ,...,Bn ) (R ) o

S (R ) o

(B1 ,B2 ,...,Bn ) (R )

Aunque esta operacin no fue considerada originalmente por Codd se ha mostrado que es realmente necesaria y ha sido usada desde las primeras implementaciones del modelo relacional. En estas operaciones S es el nombre que queremos asignar a la relacion R y (B1 , B2 , . . . , Bn ) son los nombres que queremos asignar a los atributos (A1 , A2 , . . . , An ) de la relacin R , en el primer caso queremos renombrar tanto a la relacin R como a sus atributos, en el segundo caso solo queremos renombrar a la relacin R , en el tercer caso solo queremos renombrar a los atributos de la relacin R

Operaciones binarias

En la implementacin en el modelo relacional las tuplas de las relaciones a las que deseamos aplicar las operaciones binarias deben tener tuplas del mismo tipo (con excepcin, del PRODUCTO-CARTESIANO) a esto se le llama compatibilidad de unin, a lo que se reere es que dadas las relaciones R y S con atributos (A1 , A2 , . . . , An ) y (B1 , B2 , . . . , Bn ) respectivamente, el grado de R debe ser igual al grado de S y dom(Ai ) deber ser igual al dom(Bi ) para todo 1 i n.

UNIN (UNION)

Se dene la unin entre dos relacines R y S , como todas las tuplas en R y todas las tuplas en S y se denota como R S .

DIFERENCIA (DIFFERENCE)

Se dene la diferencia entre dos relaciones como todos las tuplas que estn en R pero no estn en S y se denota como R S .

PRODUCTO-CARTESIANO (CARTESIAN-PRODUCT)

Para el uso de esta operacin debemos tener que las relaciones R y S deben satisfacer que sus esquemas de relacin no poseen elemenentos en comn. Esta operacin es denotada como R S . Deniremos el PRODUCTO-CRUZ para dos relaciones R y S con esquemas de relacin R (A1 , A2 , . . . , An ) de grado n y S (B1 , B2 , . . . , Bm ) de grado m respectivamente, como una nueva relacion Q con esquema de relacin Q (A1 , A2 , . . . , An , B1 , B2 , . . . , Bm ) de grado m + n, y suponiendo que |R | = nR y |S | = mS entonces |Q | = nR mS .

Ejemplo:

Das könnte Ihnen auch gefallen