algebra relacional

20
Algebra Relacional Algebra Relacional Ingeniería de Sistemas Ingeniería de Sistemas y Modelamiento. y Modelamiento. Nelson Vásquez. Yonathan Cabezas. Ing. en Computación e Informática. Inst. Prof. La Araucana.

Upload: vic

Post on 10-Feb-2016

68 views

Category:

Documents


1 download

DESCRIPTION

Algebra Relacional. Ingeniería de Sistemas y Modelamiento. Nelson Vásquez. Yonathan Cabezas. Ing. en Computación e Informática. Inst. Prof. La Araucana. Algebra Relacional. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Algebra Relacional

Algebra RelacionalAlgebra Relacional

Ingeniería de Sistemas y Ingeniería de Sistemas y Modelamiento.Modelamiento.

Nelson Vásquez.Yonathan Cabezas.

Ing. en Computación e Informática. Inst. Prof. La Araucana.

Page 2: Algebra Relacional

Algebra RelacionalAlgebra Relacional

El álgebra relacional consiste de algunas El álgebra relacional consiste de algunas simples pero poderosas maneras de construir simples pero poderosas maneras de construir nuevas relaciones a partir de otras. Si nuevas relaciones a partir de otras. Si pensamos que las relaciones iniciales son los pensamos que las relaciones iniciales son los datos almacenados entonces las nuevas datos almacenados entonces las nuevas relaciones se pueden ver como respuestas a relaciones se pueden ver como respuestas a algunas consultas deseadas.algunas consultas deseadas.

Page 3: Algebra Relacional

Tabla :Es el tipo de modelamiento, en donde se guardan los datos recolectados por un sistema de información, su estructura se compone de:

Tabla EmpleadosTabla Empleados

Atributos :Son todas y cada una de las columnas de una tabla

Tuplas :Son todas y cada una de las filas de una tabla.

Conceptos BásicosConceptos Básicos

Page 4: Algebra Relacional

OperacionesOperaciones

Consta de 9 operaciones:Consta de 9 operaciones:– Unión.Unión.– Diferencia.Diferencia.– Producto Cartesiano.Producto Cartesiano.– Selección.Selección.– Proyección.Proyección.– Intersección.Intersección.– Reunión.Reunión.– División.División.– Asignación.Asignación.

Page 5: Algebra Relacional

ReuniónReunión

Es la operación que conecta relaciones. Es la operación que conecta relaciones. Se utiliza para Se utiliza para recuperar datos a través de varias tablas conectadas recuperar datos a través de varias tablas conectadas unas con otras a través de cláusulas JOIN.unas con otras a través de cláusulas JOIN.

Existen tres Existen tres cláusulascláusulas::Reunión Natural (FULL, INNER).Reunión Natural (FULL, INNER).Reunión Externa (LEFT).Reunión Externa (LEFT).Reunión Externa (Reunión Externa (RIGHTRIGHT).).

Page 6: Algebra Relacional

Reunión Natural Reunión Natural FULL JOIN.FULL JOIN.

Operación de reunión que conecta todas las relaciones.Operación de reunión que conecta todas las relaciones.Ejemplo:Ejemplo:

Tabla EmpleadosTabla Empleados

Tabla SalariosTabla Salarios

Page 7: Algebra Relacional

Reunión Natural Reunión Natural FULL JOIN.FULL JOIN.

Sentencia SQL:SELECT * FROM EMPLEADOS E FULL JOIN SALARIO S ON

S.CODIGO = E.CODIGO

Resultado:

Notación

Page 8: Algebra Relacional

Reunión Natural Reunión Natural

INNER JOIN.INNER JOIN.Operación de reunión que conecta relaciones cuando las columnas Operación de reunión que conecta relaciones cuando las columnas comunes tienen iguales valores.comunes tienen iguales valores.

Notación

Page 9: Algebra Relacional

Sentencia SQL:SELECT E.CODIGO, E.NOMBRES, E.APELLIDOS, E.TELEFONO,

E.DIRECCION, S.SECCION, S.CARGO, S.SALARIO FROM EMPLEADOS E INNER JOIN SALARIO S ON S.CODIGO = E.CODIGO

Resultado:

Reunión Natural Reunión Natural

INNER JOIN.INNER JOIN.

Page 10: Algebra Relacional

Reunión EXTERNA Reunión EXTERNA

LEFT.LEFT.Operación de reunión que conecta todas las relaciones de la tabla Operación de reunión que conecta todas las relaciones de la tabla

izquierda reemplazando los datos no existentes de la tabla derecha izquierda reemplazando los datos no existentes de la tabla derecha

por valores nulos.por valores nulos.

Notación.Notación.

Page 11: Algebra Relacional

Reunión EXTERNA Reunión EXTERNA

LEFT.LEFT.Sentencia SQL:SELECT E.CODIGO, E.NOMBRES, E.APELLIDOS, E.TELEFONO, E.DIRECCION, S.SECCION, S.CARGO, S.SALARIO FROM EMPLEADOS E LEFT JOIN SALARIO S ON S.CODIGO = E.CODIGO

Resultado:

Page 12: Algebra Relacional

Reunión EXTERNA Reunión EXTERNA

RIGHT.RIGHT.Operación de reunión que conecta todas las relaciones de la tabla Operación de reunión que conecta todas las relaciones de la tabla

derecha reemplazando los datos no existentes de la tabla izquierda derecha reemplazando los datos no existentes de la tabla izquierda por valores nulos.por valores nulos.

Notación.Notación.

Page 13: Algebra Relacional

Reunión EXTERNA Reunión EXTERNA RIGHT.RIGHT.

Sentencia SQL:SELECT E.CODIGO, E.NOMBRES, E.APELLIDOS, E.TELEFONO, E.DIRECCION, S.SECCION, S.CARGO, S.SALARIO FROM EMPLEADOS E RIGHT JOIN SALARIO S ON S.CODIGO = E.CODIGO

Resultado:

Page 14: Algebra Relacional

División o Cociente.División o Cociente.

La División se realiza entre dos tablas que cumplan las siguientes condiciones:

“R” debe tener columnas de “S” y el número de columnas de “R” ha de ser mayor que el de “S”.– “S” debe tener al menos una tupla.

– El cociente es una nueva tabla formada por las columnas de “R” que no están en “S” y por las filas obtenidas al concatenar con “S” que estén contenidas en “R”.

– Esta operación es útil para los casos en los que la consulta incluye el cuantificador y se vuelve necesario crear tablas intermedias.

AA

Page 15: Algebra Relacional

División o Cociente.División o Cociente.Notación.Notación.

Sentencia SQL:– Para División no existe una sentencia en SQL como para las operaciones

anteriores ( Unión, Intersec, Join) por lo que es necesario hacer una combinación de sentencias y condiciones para obtener la tabla resultado.

Ejemplos1 2

Page 16: Algebra Relacional

División o Cociente.División o Cociente.EJEMPLO PRACTICO

De acuerdo a las tablas mencionadas en las operaciones anteriores, un ejemplo para aplicar la operación de DIVISION o COCIENTE seria el siguiente:

– Tenemos dos tablas :

“Salario” es la tabla en donde esta la tabla de sueldos según el cargo y el Depto al que pertenecen.

CARGO_MENOR” que tiene los cargo y salario menor de la empresa, (para nuestro ejemplo “ADMINISTRATIVO”).

Necesitamos una tabla que tenga código y Sección de los Deptos en los cuales exista el “CARGO_MENOR”:

Page 17: Algebra Relacional

““SALARIO”SALARIO”

““CARGO_MENOR”CARGO_MENOR”

““SALARIO SALARIO ÷ CARGO_MENOR÷ CARGO_MENOR””

EjemploEjemplo

División o Cociente.División o Cociente.

Page 18: Algebra Relacional

Asignación.Asignación.

La Asignación es talvez la operación mas sencilla de Algebra relacional, consiste en asignar un valor a uno o mas Registros de una tabla.

Sentencia SQL CASO 1:

– Para asignar 1.000.000 a salarios de todos los registros la Tabla “Salarios”:

– Update SALARIO set SALARIO.SALARIO = 1000000

““SALARIO”SALARIO”

Page 19: Algebra Relacional

Para asignar 1.000.000 a todos los salarios de la Tabla “Salarios”:

Sentencia SQL CASO 2:Update SALARIO set SALARIO.SALARIO = 1600000 Where

SALARIO.SECCION=‘INFORMATICA’

““SALARIO” Después de la AsignaciónSALARIO” Después de la Asignación

““SALARIO” antes de la AsignaciónSALARIO” antes de la Asignación

Asignación.Asignación.

Page 20: Algebra Relacional

Fin.Fin.