You are on page 1of 14

Algebra Relacional

• Es un conjunto de operaciones que describen paso a paso como procesar una


respuesta sobre las relaciones, tal y como éstas son definidas en el modelo
relacional.

• Estas operaciones se usan como una representación intermedia de una


consulta a una base de datos y, debido a sus propiedades algebraicas, sirven
para obtener una versión más optimizada y eficiente de dicha consulta.

• Es un lenguaje de consultas procedimental.

Hay ocho operadores en el álgebra relacional que construyen relaciones y


manipulan datos, estos son:

• Selección

• Proyección

• Producto

• Unión

• Intersección

• Diferencia

• Join

• División

Los operadores unión, diferencia y producto cartesiano son operadores binarios


porque operan sobre pares de relaciones, mientras que los operadores selección y
proyección son unarios porque operan sobre una sola relacion. Además, para los
operadores binarios, unión y diferencia es necesario que las dos tablas que
intervienen en la operación sean compatibles.

Ejemplos de conjuntos:

o  : elconjunto vacío, que carece de elementos.


o N: el conjunto de los números naturales.
o Z: el conjunto de los números enteros.
o Q : el conjunto de los números racionales.
o R: el conjunto de los números reales.
o C: el conjunto de los números complejos.

Se puede definir un conjunto:

o por extensión, enumerando todos y cada uno de sus elementos.


o por comprensión, diciendo cuál es la propiedad que los caracteriza.

Un conjunto se suele denotar encerrando entre llaves a sus elementos, si se


define por extensión,
o su propiedad característica, si se define por comprensión. Por ejemplo:

o A := {1,2,3, ... ,n}


o B := {pZ | p es par}

Se dice que A está contenido en B (también que A es un subconjunto de B o


que A es una parte de B),
y se denota A  B, si todo elemento de A lo es también de B, es decir, a  A  a
 B.

Dos conjuntos A y B se dicen iguales, y se denota A = B, si simultáneamente A 


B y B  A;
esto equivale a decir que tienen los mismos elementos (o también la misma
propiedad característica).

Para cualquier conjunto A se verifica que  A y A  A;


B  A es unsubconjunto propio de A si A   y B A.

El conjunto formado por todos los subconjuntos de uno dado A se llama partes
de A, y se denota  (A).
Entonces, la relación B  A es equivalente a decir B   (A).

Ejemplos:
Si A = {a,b} entonces  (A) = { ,{a},{b},A}.

Si a  A entonces {a} 
 (A).

Cuando en determinado contexto se consideran siempre conjuntos que son


partes de uno dado U,
se suele considerar a dicho U como conjunto universal o de referencia.

Selección

Operador de selección , selecciona un subconjunto de las tuplas de una relación.

Tuplas seleccionadas son las que satisfacen cierto predicado logico P. El predicado
puede depender de los atributos de la relacion y de valores constantes.

El operador toma una relacion como argumento y el resultado es una nueva


relacion.

Sintaxis:

Permite seleccionar un subconjunto de tuplas de una relación (R), todas aquellas que
cumplan la(s) condición(es) P, esto es:

Se usa la letra griega sigma el predicad)o aparece como subíndice de , la


relación de argumentos se da entre paréntesis a continuación de .

En general se permiten las comparaciones que usan =,≠,<,≤, > o ≥ en el predicado de


selección.

Además, se pueden combinar varios predicados en uno mayor con las conectivas y
(), o ( )
EJEMPLO:

ENUNCIADO: SELECCIONA TODAS LAS TUPLAS QUE CONTENGAN PUEBLA COMO


CIUDAD EN LA RELACION SUCURSALES.

ciudad = Puebla (sucursales)

Reforma Puebla

Proyección (Π)
La operación de proyección es una operación unaria que devuelve su relación de
argumentos, excluyendo algunos arguemntos. Dado que las relaciones son conjuntos,
se eliminan todas las filas duplicadas.

La proyección se denota por la letra griega mayúscula pi

( ), se crea una lista de los atributos que se desea que aparezcan en el resultado
como subíndice de . Su único argumento, una relación, se escribe acontinuacion
entre los paréntesis.

Operador de proyeccion , proyecta una relacion sobre un subconjunto de sus


atributos.

El operador toma una relacion como argumento y el resultado es una nueva


relacion.

Sintaxis:

donde A representa el conjunto de atributos sobre los que

la relacion r se proyectar a.

Permite extraer columnas (atributos) de una relación, dando como resultado un


subconjunto vertical de atributos de la relación, esto es:

Donde A1,A2,…,An son atributos de la relación R .


EJEMPLO:

ENUNCIADO SELECCIONA LAS TUPLAS CIUDAD DE LA RELACION SUCURSALES,


MOSTRADOS COMO UN SUBCONJUNTO DE LA RELACION SUCURSALES;

RELACION SUCURSALES(ORIGINAL)

5 DE MAYO MEXICO
REFORMA PUEBLA
TOLLOCAN TOLUCA
REGIOS MONTERREY
VILLA DEL MAR VERACRUZ

Π CIUDAD (SUCURSALES)

MEXICO
PUEBLA
TOLUCA
MONTERREY
VERACRUZ

Producto cartesiano (x)


La operación producto cartesiano denotado por un aspa (X), permite combinar
información de cualesquiera dos relaciones. El producto cartesiano de la r1 y r2 se
escribe

R1 x r2, las relaciones se definen como subconjuntos del producto cartesiano.

Las relaciones que sean argumentos de la operación de producto cartesiano tengan


nombres diferentes.
Representa al producto cartesiano usual de conjuntos.

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


con todos.

Si las relaciones a operar tienen N y M tuplas de n y m

componentes respectivamente, la relacion resultante del el producto cartesiano tiene


N × M tuplas de n + m componentes.

Sintaxis: usamos notacion infija

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

• El producto cartesiano de dos relaciones se escribe como:

• y entrega una relación, cuyo esquema corresponde a una combinación de todas


las tuplas de R con cada una de las tuplas de S, y sus atributos corresponden a
los de R seguidos por los de S.

Unión (U)
La unión de dos relaciones compatibles R1 y R2 es una nueva relación R3, también
compatible, cuyo esquema es igual al esquema de R1 y R2, y cuya extensión está
formada por la agrupación, sin repetición, de las extensiones de R1 y R2
la unión de conjuntos es una operación binaria en el conjunto de todos los
subconjuntos de un U, Conjunto universal, dado. Mediante la cual a cada par de
conjuntos A y B de U se le asocia otro conjunto: de U.

Si A y B son dos conjuntos, entonces su unión es:

La unión de A y B, es el conjunto de elementos x de U, tal que, x pertenezca a A, o que,


x pertenezca a B.

Esta operación es conmutativa, asociativa y tiene Elemento neutro.

donde:

es el complemento de A.

La unión de dos conjuntos presentada anteriormente puede extenderse a varios


conjuntos así la unión de un número finito de conjuntos viene dada por "uniones
sucesivas":

Debido a la propiedad asociativa cualquier orden de "emparejamientos" para realizar


la unión conduce al mismo resultado. La unión de conjuntos puede generalizarse
también para contemplar la unión de un número infinito de conjuntos . En ese caso
se define:

Cuando B es un conjunto de sólo dos elementos la definición anterior se reduce a la


definición ordinaria para la unión de dos conjuntos.
La operación

Retorna el conjunto de tuplas que están en R, o en S, o en ambas. R y S deben ser


uniones compatibles.

Prove U Partes

Intersección (∩)

La primera operación adicional del algebra relaciónal que se va a definir es la


intersección de conjuntos (∩)

La interseccion usual de conjuntos.


Sintaxis: usamos notacion infija

r1 ∩ r2

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

La interseccion se puede crear a partir de la diferencia:

r1 ∩ r2 = r1 − (r1 − r2)

Cuando tienen Cuando no tienen Cuando todos los elementos de un

elementos comunes elementos comunes conjunto pertenecen a otro conjunto

En la teoría de conjuntos, la intersección es una operación binaria en el conjunto de


todos los subconjuntos de un U, Conjunto universal, dado. Por la cual a cada par de
conjuntos A y B de U se le asocia otro conjunto: de U.

Si A y B son dos de ellos entonces su intersección se simboliza y se define como:

La intersección de A y B, es el conjunto de elementos x de U, tal que, x pertenezca a


A, y que, x pertenezca a B.

Esta operación es conmutativa, asociativa, tiene neutro y tiene inverso:

• La intersección de dos relaciones se puede especificar en función de otros


operadores básicos:

• La intersección, como en Teoría de conjuntos, corresponde al conjunto de
todas las tuplas que están en R y en S, siendo R y S uniones compatibles.
Diferencia (-)

Sean A y B dos conjuntos cualquiera. En teoría de conjuntos, se denomina conjunto


diferencia de A y B, y se representa por A-B o por A\B, al conjunto formado por todos
los elementos que están en A, pero no están en B, y que representaremos A - B.

Sean A y B dos conjuntos. La diferencia de conjuntos A - B es:

Los elementos que pertenecen a la diferencia de conjuntos A − B son aquellos


elementos que pertenecen a A y no pertenecen a B.

Si dados los conjuntos:


la diferencia de conjuntos A - B es:

La notación más utilizada es A - B, si bien algunos autores también utilizan la


notación A\B.
La diferencia de conjuntos no es conmutativa.
Los elementos de la intersección no se consideran parte de la Diferencia de
Conjuntos.

Si A y B son conjuntos disjuntos, entonces la diferencia de conjuntos es:

Sean A y B dos conjuntos. Se denomina diferencia simétrica entre A y B a:

Propiedades
La diferencia de dos relaciones, R y S denotada por:

entrega todas aquellas tuplas que están en R, pero no en S. R y S deben ser uniones
compatibles.

Estas operaciones son fundamentales en el sentido en que todas las demás


operaciones pueden ser expresadas como una combinación de éstas y ninguna de
estas operaciones pueden ser omitidas sin que con ello se pierda información.

JOIN:

En álgebra relacional el JOIN entre el atributo X de la relación A con el atributo Y de la


relación B produce el conjunto de todas las tuplas t tal que t es el encadenamiento de
una tupla a perteneciente a A y una tupla b perteneciente a B que cumplen con el
predicado “A.X comp B.Y es verdadero” (siendo comp un operador relacional y los
atributos A.X y B.Y pertenecientes al mismo dominio). Si el operador relacional
“comp” es “=” entonces el conjunto resultante es un EQUI-JOIN. Si se quita uno de
éstos (usando una proyección) entonces el resultado es un JOIN-NATURAL.

Construye una relación a partir de dos relaciones las cuales tienen conjuntos ajenos de
atributos, a los cuales se les establece un condición lógica que permite unir las
relaciones a través de estos atributos.

Este operador es una función que toma dos relaciones y un conjunto de condiciones
de comparación entre atributos de una y otra relación, tal condición sirve para
establecer una conexión lógica entre las relaciones (de manera natural se supone que
los atributos correspondientes están sumergidos en los mismos dominios); de manera
que la relación generada es una combinación de las n de ambas relaciones pero que en
los atributos que están involucrados en la condición
DIVISIÓN:

En álgebra relacional el operador de división divide la relación A con grado m + n por


la relación B entregando como resultado una relación con grado m. El atributo m + i
de A y el atributo i de B deben estar definidos dentro del mismo dominio. Así el
resultado de

A DIVIDIDO POR B o A / B

Produce la relación C con un sólo atributo X, tal que cada valor de x de C.X aparece
como un valor de A.X, y el par de valores (x, y) aparece en A para todos los valores y
que aparecen en B.

You might also like