algebra relacional

Post on 10-Feb-2016

68 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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

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.

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.

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

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.

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

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

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

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

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.

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.

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:

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.

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:

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

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

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”:

““SALARIO”SALARIO”

““CARGO_MENOR”CARGO_MENOR”

““SALARIO SALARIO ÷ CARGO_MENOR÷ CARGO_MENOR””

EjemploEjemplo

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

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”

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.

Fin.Fin.

top related