Post on 08-Jul-2015
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 : el conjunto 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 un subconjunto 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.