Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Gestión de Datos 2020 Cátedra de Gestión de Datos Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Unidad V Cátedra de Gestión de Datos Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Cátedra de Gestión de Datos Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas UNIDAD 6: Álgebra Relacional Álgebra Relacional. Operadores de Selección, Proyección, Producto, Unión y Diferencia, Intersección, Cociente y Join. Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional Relación: Recordemos que, en el Modelo Relacional, 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 (Filas) -> CARDINALIDAD Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas 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. Algebra Relacional Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional Relaciones (operando) Operador Relación (resultado) Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas 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 práctica el algebra relacional debe ser extendida para abarcar la mayor parte de las tareas reales que se hacen con los datos. Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional Operadores del Algebra Relacional EL algebra relacional es similar al algebra que hasta hoy han aprendido, solo que en esta los valores utilizados representan datos, y no solo números. Es un algebra 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. Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas 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 Operaciones Binarias requieren dos relaciones como argumento del operador. Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional Tipificación Por otra parte, podemos agrupar a los operadores del algebra relacional de la siguiente manera: 1. Básicos. 2. Adicionales Un operador es básico cuando no puede ser definido en términos de otros operadores. En cambio, un operador es adicional cuando, si bien puede ser definido en términos de otros operadores, se los implementa para agilizar las búsquedas para consultas que suelen ser frecuentes. Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Listado y clasificación de los Operadores Operador Unario / Binario Básico / Derivado SELECCIÓN Unario Básico PROYECCION Unario Básico UNION Binario Básico INTERSECCION Binario Básico DIFERENCIA Binario Derivado PRODUCTO Binario Básico JOIN Binario Derivado COCIENTE Binario Derivado Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional Para comenzar el estudio de los operadores del Algebra Relacional, se presentan las tablas de estudio tomadas como ejemplos, con su Estructura: Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional La siguiente Figura presenta las tablas de estudio tomadas como ejemplos, con sus respectivos DOMINIOS DE VALORES: Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional La siguiente Figura presenta las tablas de estudio tomadas como ejemplos, con sus respectivos VALORES: Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Operadores UNARIOS Operador SELECCIÓN Definición: “El operador Selección simbolizado mediante s, extrae tuplas a partir de una relación que satisfagan una restricción dada”. Simbologia: s[condición] (Relación) 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. Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Operadores UNARIOS Operador SELECCIÓN Si se buscara en la relación ESTUDIANTE a aquellos que estudiarán Administración, deberíamos escribir la siguiente línea de comando: s[ESPECIALIDAD=“Administración”] (Estudiante) En SQL: SELECT *.* FROM ESTUDIANTE WHERE Especialidad=’Administración’, Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Operadores UNARIOS Operador PROYECCION Definición: “El operador Proyección simbolizado mediante p, extrae atributos (columnas) específicos de una relación”. Simbologia: p[lista de atributos] (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. Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Operadores UNARIOS Operador PROYECCION Sobre la tabla ESTUDIANTE realizamos la siguiente operación de PROYECCION: p (Nombre, Especialidad) ESTUDIANTE Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas 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 los 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. Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Operadores BINARIOS Operador UNION Representación: La UNION se denota por A + B (o A U 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). Facultad Regional Tucumán Universidad Tecnológica Nacional Gestiónde Datos Departamento Sistemas 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). Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas 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. Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Operadores BINARIOS Operador DIFERENCIA La diferencia entre JUNIOR y ESTUDIANTE-HONOR, se ve reflejada en la siguiente relación. Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas 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. La intersección es un operador derivado pues puede ser definido de la siguiente manera: R ∩ S = R – (R – S) Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Operadores BINARIOS Operador INTERSECCION La INTERSECCION de JUNIOR y ESTUDIANTE-HONOR en una tupla independiente, pero común a ambas relaciones. Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas 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) Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas 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) Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas 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 Atributos y 4 * 3 Tuplas Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Operadores Compuestos 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. Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Operadores Compuestos Operador JOIN ⋈ El operador JOIN es una combinación del PRODUCTO, SELECCIÓN y PROYECCION (Posible). Por ello, es un operador derivado. 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 de PROYECCION (Posible). En este caso es un JOIN NATURAL. Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Operadores Compuestos Operador JOIN ⋈ Tomaremos como punto de partida las Tablas ESTUDIANTE e INCRIPCION para aplicar el Operador JOIN Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Operadores Compuestos Operador JOIN ⋈ Seleccionamos las tuplas en donde #EID sean iguales a las de #NumerodeEstudiante (solo encontraremos tres). s[#EID=#NumerodeEstudiante] (ESTUDIANTE x INSCRIPCION) Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Operadores Compuestos Operador JOIN ⋈ Y obtendremos la siguiente tabla derivada: EQUIJOIN 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. p(EID, Nombre, Especialidad, Grado, NombredeClase, NumerodePosicion) ED-DERIVADA JOIN NATURAL Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Operadores Compuestos Operador JOIN ⋈ Si desarrollamos la siguiente operación ESTUDIANTE LEFT OUTER JOIN (#EID = NumerodeEstudiante) INSCRIPCION obtendremos la tabla derivada denominada Left Outer Join: LEFT OUTER JOIN Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Operadores Compuestos Tipificación del Operador JOIN ⋈ Left Join Right Join Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Operadores Compuestos Tipificación del Operador JOIN ⋈ Left Join con Intersección Nula Right Join con Intersección Nula Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Operadores Compuestos Tipificación del Operador JOIN ⋈ Outer Join Inner Join Outer Join con Intersección Nula Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Operadores Compuestos Operador COCIENTE Dadas dos relaciones R y S, en donde R tiene m1+m2 columnas y S tiene m2 columnas , el operador COCIENTE ( notado R / S) esta formado por las (m2 –m1) tuplas a tal que para toda tupla m2 tupla b en S se cumpla que la tupla ab se encuentre en R. El operador COCIENTE es derivado debido a que puede ser definido en términos de otros operadores: T1 <- p (A1, A2, .. , A(m1 - m2)) R T2 <- p (A1, A2, .. , A(m1 - m2)) ((T1 x S) – R) T <- T1 - T2 Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Operadores Compuestos Operador COCIENTE DNI_Empledo Num_Proy 12345789 1 12345789 2 33444555 1 33444555 2 33444555 5 27111222 2 40555666 5 Num_Proy 1 2 Empleado_Proyecto Proyecto_Perez Proyectos en los cuales trabaja el empleado Pérez cuyo DNI es 12345789 Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Operadores Compuestos Operador COCIENTE DNI_Empledo Num_Proy 12345789 112345789 2 33444555 1 33444555 2 33444555 5 27111222 2 40555666 5 Num_Proy 1 2 Empleado_Proyecto Proyecto_Perez Recuperar el DNI de los empleados que han trabajado en los mismos proyectos que el empleado Perez DNI_Empleado 12345789 33444555 Empleado_Proyecto / Proyecto_Perez Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Ejemplo del Operador SELECCION Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Ejemplo del Operador PROYECCION Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Ejemplo de los Operadores SELECCIÓN y PROYECCION Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Ejemplo del Operador UNION Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Algebra Relacional – Ejemplo de los Operadores combinados Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas Referencias • Paper “A relational model for a large shared data banks”, E. F. Codd. • Libro “Fundamentos de Bases de Datos”, Rovarini P., De La Vega H. • Libro “Sistemas de Bases de Datos. Conceptos Fundamentales”, R. Elmasrhi – S. Navathe. 2ª Edic. Edit . Addison – Wesley. • Faculta de Ingeniería. Universidad de Talca (CHI). http://ing.utalca.cl/~jperez/bd/documentos/al.pdf Facultad Regional Tucumán Universidad Tecnológica Nacional Gestión de Datos Departamento Sistemas
Compartir