Download Álgebra Relacional
Transcript
Álgebra Relacional Andrés Moreno S. 1 Álgebra Relacional Permite manipular el modelo relacional, a través de reglas. Se dividen en dos grupos: Conjunto tradicional de operadores: unión, intersección, diferencia y producto. Operadores relacionales especiales: restringir, proyectar, combinación (juntar) y dividir. 2 Álgebra Relacional, Unión Regresa una relación que contiene todas las tuplas que aparecen en una o en las dos relaciones especificadas. Alumno U Ayudante 3 1 Álgebra Relacional, Intersección Regresa una relación que contiene todas las tuplas que aparecen en las dos relaciones especificadas, en ambas, no en una o la otra. Alumno Ayudante 4 Álgebra Relacional, Diferencia Regresa una relación que contiene todas las tuplas que aparecen en la primera relación, pero no en la segunda relación. Alumno - Ayudante 5 Álgebra Relacional, Producto Regresa una relación que contiene todas las tuplas posibles formada por una combinación de dos tuplas, una de cada una de dos relaciones. Producto a x Curso X Alumno a x b y c a y b x b y c x c y 6 2 Álgebra Relacional, Restringir o Selección Regresa una relación que contiene todas las tuplas de una relación específica que satisfacen una condición específica. 7 Álgebra Relacional, Restringir o Selección SELECT * FROM Alumno WHERE Carrera=“Ingeniería” Alumno Rut Nombre Carrera Fecha Ingreso 123 Pedro Apellido1 Apellido2 Rojas Pérez Ingeniería 01/02/2004 789 María Torres Gómez Ingeniería 01/02/2005 456 Juan Tagle Ruiz Biología Carrera =“Ingeniería” 01/02/2003 (Alumno) 8 Álgebra Relacional, Proyectar Regresa una relación que contiene todas las tuplas o subtuplas que quedan en una relación específica después de quitar los atributos especificados. 9 3 Álgebra Relacional, Proyectar SELECT Carrera FROM Alumno Carrera (Alumno) Alumno Rut Nombre Carrera Fecha Ingreso 123 Pedro Apellido1 Apellido2 Rojas Pérez Ingeniería 01/02/2004 789 María Torres Gómez Ingeniería 01/02/2005 456 Juan Tagle Ruiz Biología 01/02/2003 10 Algebra Relacional 11 Álgebra Relacional, Combinación o Juntar Regresa una relación que contiene todas las tuplas posibles que son una combinación debido a un valor común entre los atributos comunes de las dos relaciones. Alumno Curso Combinación a1 b1 b1 c1 a1 b1 c1 a2 b1 b2 C2 a2 b1 c1 a3 b2 b3 c3 a3 b2 c2 12 4 Álgebra Relacional, Combinación o Juntar Alumno Ayudante Nombre Carrera Año Ingreso 789 Pedro Pérez Ingeniería 2005 789 Base 123 María Tapia Ingeniería 2002 456 Biología 456 Jaime Riveros Medicina 2004 Curso Año Ingreso Rut Rut Curso Combinación Rut Nombre Carrera 789 Pedro Pérez Ingeniería Base 2005 456 Jaime Riveros Medicina Biología 2004 Alumno * Ayudante 13 Álgebra Relacional, Dividir La división de una relación R1 (dividendo) por otra relación R2 (divisor) es una relación R (cociente) tal que, al realizarse su combinación con el divisor, todas las tuplas resultantes se encuentran en el dividendo. Dividir Alumno : Curso a z x b z z a x a 14 Ejemplo, Álgebra Relacional , Dividir Alumno Curso Rut Nombre Curso 789 Pedro Pérez BaseDatos Curso 123 María Tapia Biología BaseDatos 789 Pedro Pérez Magnetismo Magnetismo Dividir Rut Nombre 789 Pedro Pérez Alumno : Curso 15 5 Propiedad Relacional de Cierre Cualquier operación relacional entrega una relación, implicando que las relaciones están cerradas bajo el álgebra relacional. 16 Ejemplo, Algebra Relacional Alumno Rut Nombre Carrera Fecha Ingreso 123 Pedro Apellido1 Apellido2 Rojas Pérez Ingeniería 01/02/2004 789 María Torres Gómez Ingeniería 01/02/2005 456 Juan Tagle Ruiz Biología 01/02/2003 Carrera (Alumno) Carrera Ingeniería Biología 17 Ejemplo, Algebra Relacional Alumno Rut Nombre Carrera Fecha Ingreso 123 Pedro Apellido1 Apellido2 Rojas Pérez Ingeniería 01/02/2004 789 María Torres Gómez Ingeniería 01/02/2005 456 Juan Tagle Ruiz Biología 01/02/2003 Rut Nombre 123 Pedro Rojas 789 María Torres Carrera =“Ingeniería” (Alumno) Apellido1 Apellido2 Carrera Fecha Ingreso Pérez Ingeniería 01/02/2004 Gómez Ingeniería 01/02/2005 18 6 Ejemplo, Algebra Relacional Alumno Rut Nombre Carrera Fecha Ingreso 123 Pedro Apellido1 Apellido2 Rojas Pérez Ingeniería 01/02/2004 789 María Torres Gómez Ingeniería 01/02/2005 456 Juan Tagle Ruiz Biología 01/02/2003 Carrera =“Ingeniería” AND Apellido1= “Rojas” Rut Nombre 123 Pedro Apellido1 Apellido2 Rojas Pérez (Alumno) Carrera Fecha Ingreso Ingeniería 01/02/2004 19 Ejemplo, Algebra Relacional Alumno Rut Nombre Carrera Fecha Ingreso 123 Pedro Apellido1 Apellido2 Rojas Pérez Ingeniería 01/02/2004 789 María Torres Gómez Ingeniería 01/02/2005 456 Juan Tagle Ruiz Biología 01/02/2003 Apellido1, Apellido2 ( Carrera =“Ingeniería” AND FechaIngreso >01/01/2005 (Alumno)) Apellido1 Apellido2 Torres 20 Gómez Ejemplo, Algebra Relacional Alumno Rut Nombre Carrera Fecha Ingreso 123 Pedro Apellido1 Apellido2 Rojas Pérez Ingeniería 01/02/2004 789 María Torres Gómez Ingeniería 01/02/2005 456 Juan Tagle Ruiz Biología 01/02/2003 Apellido1, Apellido2 ( Carrera =“Ingeniería” AND FechaIngreso >01/01/2005 (Alumno)) SELECT Apellido1,Apellido2 FROM Alumno WHERE Carrera=“Ingeniería” AND FechaIngreso >01/01/2005 21 7 Álgebra Relacional Andrés Moreno S. 22 8