Algebra relacional

18
INSTITUTO TECNOLÓGICO DE PUEBLA BASES DE DATOS DISTRIBUIDAS CATEDRÁTICO: ACT. JOSÉ LÓPEZ PONCIANO TEMA: ALGEBRA RELACIONAL HORARIO: LUNES Y JUEVES 11:00 – 13:00 HRS MIÉRCOLES 10:00 – 11:00 ALUMNOS: VÁSQUEZ ALONSO SARAÍ JULIETA FLORES DE LA CRUZ DAVID FECHA: 13 MARZO 2013

Transcript of Algebra relacional

Page 1: Algebra relacional

INSTITUTO TECNOLÓGICO DE PUEBLA

BASES DE DATOS DISTRIBUIDAS

CATEDRÁTICO:ACT. JOSÉ LÓPEZ PONCIANO

TEMA:ALGEBRA RELACIONAL

HORARIO:LUNES Y JUEVES

11:00 – 13:00 HRSMIÉRCOLES

10:00 – 11:00

ALUMNOS:VÁSQUEZ ALONSO SARAÍ JULIETA

FLORES DE LA CRUZ DAVID

FECHA:13 MARZO 2013

Page 2: Algebra relacional

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.

Page 3: Algebra relacional

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

Page 4: Algebra relacional

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 (˅) y no (̚ )

EJEMPLO:

Page 5: Algebra relacional

ENUNCIADO: SELECCIONA TODAS LAS TUPLAS QUE CONTENGAN PUEBLA COMO CIUDAD EN LA RELACION SUCURSALES.

ciudad = Puebla (sucursales)

Reforma Puebla

Proyección ( )Π

Page 6: Algebra relacional

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:

π A1 , A2 ,…, An(R)

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

Page 7: Algebra relacional

EJEMPLO:

ENUNCIADO SELECCIONA LAS TUPLAS CIUDAD DE LA RELACION SUCURSALES, MOSTRADOS COMO UN SUBCONJUNTO DE LA RELACION SUCURSALES;

RELACION SUCURSALES(ORIGINAL)

5 DE MAYO MEXICOREFORMA PUEBLATOLLOCAN TOLUCAREGIOS MONTERREYVILLA DEL MAR VERACRUZ

Π CIUDAD (SUCURSALES)

MEXICOPUEBLATOLUCAMONTERREYVERACRUZ

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.

Page 8: Algebra relacional

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:R×S

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

Page 9: Algebra relacional

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:

Page 10: Algebra relacional

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

A∪B

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.

Page 11: Algebra relacional

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:

• R∩S=R−(R−S )• 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.

Page 12: Algebra relacional

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:

Page 13: Algebra relacional

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:

A−B=AY B−A=B

A∩B=∅

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

A∆ B

Propiedades

Page 14: Algebra relacional

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

Page 15: Algebra relacional

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.