Algebra Relacional Ingeniería de Sistemas y Modelamiento. Nelson Vásquez. Yonathan Cabezas. Ing....
-
Upload
encarnacion-ana-isabel-acuna-suarez -
Category
Documents
-
view
215 -
download
0
Transcript of Algebra Relacional Ingeniería de Sistemas y Modelamiento. Nelson Vásquez. Yonathan Cabezas. Ing....
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.