Algebra relacional (operaciones)

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 : el conjunto vacío, que carece de elementos. o N: el conjunto de los números naturales.

Transcript of Algebra relacional (operaciones)

Page 1: Algebra relacional (operaciones)

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 2: Algebra relacional (operaciones)

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:

Page 3: Algebra relacional (operaciones)

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

Page 4: Algebra relacional (operaciones)

EJEMPLO:

ENUNCIADO: SELECCIONA TODAS LAS TUPLAS QUE CONTENGAN PUEBLA COMO

CIUDAD EN LA RELACION SUCURSALES.

ciudad = Puebla (sucursales)

Reforma Puebla

Proyección (Π)

Page 5: Algebra relacional (operaciones)

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 .

Page 6: Algebra relacional (operaciones)

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.

Page 7: Algebra relacional (operaciones)

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

Page 8: Algebra relacional (operaciones)

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.

Page 9: Algebra relacional (operaciones)

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.

Page 10: Algebra relacional (operaciones)

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.

Page 11: Algebra relacional (operaciones)

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 12: Algebra relacional (operaciones)

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

Page 13: Algebra relacional (operaciones)

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

Page 14: Algebra relacional (operaciones)

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.