presentación de powerpoint · algebra relacional definición: “el álgebra relacional es un...

44
Cátedra de Base de Datos Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Ciclo Lectivo 2018

Upload: others

Post on 30-Jan-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Cátedra de Base de Datos

Facultad de Ciencias Exactas y Tecnología

Universidad Nacional de Tucumán

Ciclo Lectivo 2018

Programa Analítico de la Materia

Unidad 4: Álgebra relacional

Álgebra relacional. Sintaxis del álgebra relacional. Operaciones de conjuntos.

Cálculo relacional. Cálculo relacional orientado hacia las tuplas. Operadores de

Selección, Proyección, productos, Unión y Diferencia, Intersección, Cociente y

Join.

BASES DE DATOS

Bases de Datos Ing. Cristian H. Lafuente

Algebra Relacional

Definición:

“El álgebra relacional es un conjunto de operaciones que describen paso a paso

como calcular una respuesta sobre las relaciones componiendo un lenguaje formal

basado en operadores y que utiliza para ello relaciones”.

Tanto los operandos como los resultados son relaciones, por lo que la salida de una

operación puede ser la entrada de otra operación. Esto permite anidar expresiones

del álgebra, del mismo modo que se pueden anidar las expresiones aritméticas.

BASES DE DATOS

Bases de Datos Ing. Cristian H. Lafuente

Algebra Relacional

Especificaciones

El algebra relacional es un algebra en la cual:

• Sus operandos son relaciones (instancias) o variables que representan relaciones.

• Sus operadores están diseñados para hacer la tareas mas comunes que se necesitan

para manipular relaciones en una base de datos.

El resultado es que el algebra relacional se puede utilizar como un lenguaje de

consulta.

En la practica el algebra relacional debe ser extendida para abarcar la mayor parte

de las tareas reales que se hacen con los datos.

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Operadores del Álgebra Relacional

• El álgebra relacional es similar al álgebra que hasta hoy han aprendido, solo que

en esta los valores utilizados representan datos, y no solo números.

• Es un álgebra cerrada, ya que el resultado de una o mas operaciones

relacionales es siempre una relación.

• Las tuplas de una relación se pueden considerar elementos de un conjunto y por

lo tanto, las operaciones que se pueden realizar en conjuntos también se pueden

realizar en relaciones.

Algebra Relacional

BASES DE DATOS

Bases de Datos Ing. Cristian H. Lafuente

Algebra Relacional

Tipificación

El Algebra Relacional esta compuesta por dos tipos de operaciones, cuya

característica distintiva es el numero de relaciones que necesita. Así vemos que se

tipifican en:

1. UNARIAS

2. BINARIAS

Comenzaremos estudiando las Operaciones Unarias, las cuales son aquellas que

necesitan de solo una relación para realizar la operación.

En cuanto a las Binarias veremos que existen restricciones referidas al GRADO

(Atributos) o a la CARDINALIDAD (Tuplas).

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional

Características:

Así entonces se puede decir que una Relación: “ es una Tabla bidimensional en donde

cada renglón o tupla, tiene datos que pertenecen a alguna cosa o a una parte de

esta, y donde cada columna o atributo de esta tabla describen a la ocurrencia”.

Atributos (Columnas) -> GRADO

Tuplas (Hileras) ->

CARDINALIDAD

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional

Para comenzar el estudio de los operadores del Algebra Relacional, se presentan las

tablas de estudio tomadas como ejemplos, con su Estructura:

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional

La siguiente Figura presenta las tablas de estudio tomadas como ejemplos, con sus

respectivos VALORES:

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional - Operadores UNARIOS

Operador SELECCIÓN

Definición:

“El operador Selección simbolizado mediante , extrae

tuplas a partir de una relación que satisfagan una restricción dada”.

Cuando este operador es implementado en SQL se encuentra asociado a las palabras

reservadas FROM y WHERE, las cuales brindan la condición que se debe cumplir.

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Operador SELECCIÓN

Si se buscara en la relación ESTUDIANTE a aquellos que estudiaran Administración,

deberíamos escribir:

σ Especialidad=Administración(Estudiante)

entonces obtendríamos la siguiente tabla derivada:

Algebra Relacional - Operadores UNARIOS

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional - Operadores UNARIOS

Operador PROYECCION

Definición:

“El operador Proyección simbolizado mediante , extrae atributos (columnas)

específicos de una relación”.

El resultado será una nueva relación con las columnas (atributos) seleccionados,

escogiendo los atributos o las columnas de la relación que cumplan con la condición

establecida como parámetro.

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional - Operadores UNARIOS

Operador PROYECCION

Sobre la tabla ESTUDIANTE realizamos la siguiente operación de PROYECCION:

(Nombre, Especialidad) ESTUDIANTE

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional - Operadores BINARIOS

Operador UNION

Definición:

“La UNION de dos relaciones está formada por la adición

de tuplas de una relación con las de una segunda relación

que produce una tercera”.

Comentario:

El orden en el que aparecen las tuplas en la tercera relación no es importante, pero se

deben eliminar los que estén duplicados.

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional - Operadores BINARIOS

Operador UNION

Representación:

La UNION se denota por A + B

Para que esta relación tenga sentido, las relaciones deben ser compatibles en

la UNION, esto es:

1. Cada relación debe tener el mismo número de atributos.

2. Los atributos en las columnas correspondientes deben provenir del

mismo dominio (GRADO).

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional - Operadores BINARIOS

Operador UNION

La UNION entre las tablas JUNIOR y ESTUDIANTE-HONOR da la siguiente tabla

derivada:

Como se observa en la tupla 1 y 5, existe una redundancia que se debe corregir. El

método indica la eliminación de la tupla 5, dándonos la siguiente tabla derivada

normalizada (Definitiva).

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional - Operadores BINARIOS

Operador DIFERENCIA

Definición:

“La diferencia de dos relaciones, simbolizada como -, es una

tercera relación que contiene tuplas que están presentes

en la primera relación, pero no en la segunda”.

Restricciones:

Las relaciones deben ser compatibles en la UNION.

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional - Operadores BINARIOS

Operador DIFERENCIA

La diferencia entre JUNIOR y ESTUDIANTE-HONOR, se ve reflejada en la siguiente

relación.

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional - Operadores BINARIOS

Operador INTERSECCION

Definición:

“La INTERSECCION de dos relaciones , simbolizada mediante ∩ , es una tercera

relación que contiene las tuplas que aparecen tanto en la primera

como en la segunda relación”.

Las relaciones deben ser compatibles en la UNION.

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional - Operadores BINARIOS

Operador INTERSECCION

La INTERSECCION de JUNIOR y ESTUDIANTE-HONOR en una tupla

independiente, pero común a ambas relaciones.

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional - Operadores BINARIOS

Operador PRODUCTO

Definición:

“El producto de dos relaciones, también conocido como el

producto cartesiano, es la concatenación de cada tupla

de una relación con cada tupla de la segunda relación”.

El producto de la relación A (con m tuplas) y la relación B (con n tuplas), dará

como resultado una tabla de m veces n tuplas. Así es que A x B es igual a A veces B.

Grado(A) + Grado (B) y Cardinalidad(A)* Cardinalidad(B)

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional - Operadores BINARIOS

Operador PRODUCTO

El PRODUCTO de ESTUDIANTE X INSCRIPCION, es una tercera relación que

contiene el producto cartesiano de las tuplas de la primera relación por las de la

segunda relación, obteniendo una relación del tipo :

Grado(A) + Grado (B) y Cardinalidad(A)* Cardinalidad(B)

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional - Operadores BINARIOS

Operador PRODUCTO

Por lo tanto la tabla resultante deberá contener:

Grado(A) + Grado (B) y Cardinalidad(A)* Cardinalidad(B)

4 + 3 y 4 * 3 Tuplas

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

BASES DE DATOS

Bases de Datos Ing. Cristian H. Lafuente

Algebra Relacional - Operadores BINARIOS

Operador DIVISIÓN

Dadas R1 y R2, donde R2 C R1(la cabecera de R2 es un subconjunto de R1), se

construye una nueva relación formada por los atributos de R1 que no están en R2,

donde los valores de los otros atributos concuerdan con todos los valores de la

relación R2.

Se obtendría la siguiente tabla:

Algebra Relacional – Operador Compuesto

Operador JOIN ⋈

El operador de Enlace o JOIN es el operador mas usado para combinar tablas. La

combinación de tablas es importante debido a que la mayoría de las bases de datos

tienen la información distribuida en muchas tablas.

El operador Enlace o JOIN difiere del operador Producto porque requiere de una

condición de coincidencia sobre las tuplas de dos tablas. La mayoría de las tablas se

combinan de esa forma.

El operador Enlace o JOIN construye una nueva tabla al combinar las tuplas de dos

tablas que coinciden con una condición de enlace. Comúnmente la condición de

enlace especifica que dos tuplas tengan un valor idéntico en una o mas columnas.

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional – Operador Compuesto

Operador JOIN ⋈

El operador JOIN es una combinación del PRODUCTO, SELECCIÓN y PROYECCIÓN(Posible).

La Asociación de dos relaciones A y B, opera de la siguiente manera:

1. Debo realizar el PRODUCTO de A x B. Normalización de la relación resultante.

2. SELECCIÓN en función del criterio. Normalización de la relación resultante.

3. Elimina atributos de acuerdo a criterios específicos, mediante la operación dePROYECCION (Posible).

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional – Operador Compuesto

Operador JOIN ⋈

Tomaremos como punto de partida las Tablas ESTUDIANTE e INSCRIPCION para

aplicar el Operador JOIN

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional – Operador Compuesto

Operador JOIN ⋈

Seleccionamos las tuplas en donde #EID sean iguales a las de #NumerodeEstudiante

(solo encontraremos tres).

SELECT ESTUDIANTE x INSCRIPCION WHERE (#EID = #NumerodeEstudiante)

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional - Operador Compuesto

Operador JOIN ⋈Y obtendremos la siguiente tabla derivada:

Observe que tenemos dos atributos idénticos (#EID y #NumerodeEstudiante), por lo

que uno de ellos es redundante del otro. Eliminamos uno (#NumerodeEstudiante)

mediante la PROYECCION.

(EID, Nombre, Especialidad, Grado, NombredeClase, NumerodePosicion) ED-DERIVADA

JOIN NATURAL

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional - Operador Compuesto

Tipificación del Operador JOIN ⋈

Left Join

Left Join conIntersección

Nula

Right Join

Right Join conIntersección

Nula

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional – Operador Compuesto

Tipificación del Operador JOIN

Inner Join

Outer JoinOuter Join conIntersección

Nula

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional – Operador Compuesto

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

BASES DE DATOS

Practica I

Práctica I

Algebra Relacional

Ejercicios: Operador de Selección

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional

Ejercicios: Operador de Proyección

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional

Ejercicios: Operador de Selección y Proyección

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Algebra Relacional

Ejercicios: Operador de Unión

Ejercicios: Operador de Unión

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

BASES DE DATOS

Práctica II

Bases de Datos Ing. Cristian H. Lafuente

Operador de Selección

BASES DE DATOS

Bases de Datos Ing. Cristian H. Lafuente

Operador Proyección

BASES DE DATOS

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Bases de Datos Ing. Cristian H. Lafuente

Referencia Bibliográfica principal

Fundamentos de bases de datos /

Abraham Silberschatz, Henry F. Korth /

y/ S. Sudarshan.—(Tra. Fernándo Sáenz

Pérez, Antonio García Cordero /y/ Jesús

Correas Fernández.-- Rev. Tca. Luis

Grau Fernández). McGraw Hill.

Madrid /c.2008/5a. Edic.

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS

Sitio Web de la Cátedra

https://catedras.facet.unt.edu.ar/bd/

Bases de Datos Ing. Cristian H. Lafuente

BASES DE DATOS