Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Catedra de Base de Datos Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Ciclo Lec)vo 2017 Programa Analítico de la Materia Unidad 4: Álgebra relacional Álgebra relacional. Sintaxis del álgebra relacional. Operaciones de conjuntos. Cálculo relacional. Cálculo relacional orientado hacia las tuplas. Operadores de Selección, Proyección, productos, Unión y Diferencia, Intersección, Cociente y Join. BASES DE DATOS Bases de Datos Mg. Ing. Gustavo E. Juárez BASES DE DATOS Parte II Bases de Datos Mg. Ing. Gustavo E. Juárez Algebra Relacional De#inició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. BASES DE DATOS Bases de Datos Mg. Ing. Gustavo E. Juárez Algebra Relacional Especi#icaciones 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 practica el algebra relacional debe ser extendida para abarcar la mayor parte de las tareas reales que se hacen con los datos. Bases de Datos Mg. Ing. Gustavo E. Juárez BASES DE DATOS Operadores del Algebra Relacional El algebra relacional es similar al álgebra 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. Algebra Relacional BASES DE DATOS Bases de Datos Mg. Ing. Gustavo E. Juárez Algebra Relacional Tipi#icació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 tipiVican 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 Binarias veremos que existen restricciones referidas al GRADO (Atributos) o a la CARDINALIDAD (Tuplas). Bases de Datos Mg. Ing. Gustavo E. Juárez BASES DE DATOS Algebra Relacional Características: Así entonces se puede decir que 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 (Hileras) -> CARDINALIDAD Bases de Datos Mg. Ing. Gustavo E. Juárez BASES DE DATOS Algebra Relacional - Operadores UNARIOS Operador SELECCIÓN De#inición: “El operador Selección simbolizado mediante σ, extrae tuplas a partir de una relación que satisfagan una restricción dada”. 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. Bases de Datos Mg. Ing. Gustavo E. Juárez BASES DE DATOS Algebra Relacional - Operadores UNARIOS Operador PROYECCION De#inición: “El operador Proyección simbolizado mediante π, extrae atributos (columnas) especíVicos de una 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. Bases de Datos Mg. Ing. Gustavo E. Juárez BASES DE DATOS Algebra Relacional - Operadores BINARIOS Operador UNION DeVinición: “La UNION de dos relaciones está formada por la adición de tuplas de una relación con las 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. Bases de Datos Mg. Ing. Gustavo E. Juárez BASES DE DATOS Algebra Relacional - Operadores BINARIOS Operador UNION Representación: La UNION se denota por A + 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). Bases de Datos Mg. Ing. Gustavo E. Juárez BASES DE DATOS Algebra Relacional - Operadores BINARIOS Operador DIFERENCIA De#inició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. Bases de Datos Mg. Ing. Gustavo E. Juárez BASES DE DATOS Algebra Relacional - Operadores BINARIOS Operador INTERSECCION De#inició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. Bases de Datos Mg. Ing. Gustavo E. Juárez BASES DE DATOS Algebra Relacional - Operadores BINARIOS Operador PRODUCTO De#inició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) Bases de Datos Mg. Ing. Gustavo E. Juárez BASES DE DATOS 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) Bases de Datos Mg. Ing. Gustavo E. Juárez BASES DE DATOS 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 y 4 * 3 Tuplas Bases de Datos Mg. Ing. Gustavo E. Juárez BASES DE DATOS Algebra Relacional – Operador Compuesto 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 distribuidaen muchas tablas. El operador Enlace o JOIN diViere 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 especiVica que dos tuplas tengan un valor idéntico en una o mas columnas. Bases de Datos Mg. Ing. Gustavo E. Juárez BASES DE DATOS Algebra Relacional – Operador Compuesto Operador JOIN ⋈ El operador JOIN es una combinación del PRODUCTO, SELECCIÓN y PROYECCIÓN (Posible). 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íVicos, mediante la operación de PROYECCION (Posible). Bases de Datos Mg. Ing. Gustavo E. Juárez BASES DE DATOS Algebra Relacional – Operador Compuesto Bases de Datos Mg. Ing. Gustavo E. Juárez BASES DE DATOS BASES DE DATOS PracFca I Práctica I BASES DE DATOS Bases de Datos Mg. Ing. Gustavo E. Juárez Algebra Relacional - EJERCICIO A partir de las Tablas, resuelva los siguientes ejercicios. BASES DE DATOS Bases de Datos Mg. Ing. Gustavo E. Juárez Algebra Relacional - EJERCICIO Resuelva los siguientes ejercicios. 1- Se deben presentar todas las materias de segundo año de la carrera. a) σ año_curso = 2 (materias) 2- Se deben presentar las inscripciones de alumnos que corresponden al año 2008 y que tengan caliVicaciones superiores a 7. a) σ Año = 2008 AND resultado > 7 (materias) 3- Se debe presentar el nombre de todos los alumnos a) π Nombre (alumnos) 4- Se deben presentar todos los datos de los alumnos que tengan DNI superior a 20 millones. a) π Nombre (σ dni > 20000000 (alumnos)) 5- Se deben presentar todos los datos de los alumnos con las localidades donde viven. a) σ Alumnos.idlocalidad = localidades.idlocalidad (alumnos x localidades) BASES DE DATOS Bases de Datos Mg. Ing. Gustavo E. Juárez Algebra Relacional - EJERCICIO Resuelva los siguientes ejercicios. 6- Se deben presentar el nombre de cada materia junto con la carrera a la que corresponde. a) π materias.nombre, carreras.nombre (σ materias.idcarrera = carreras.idcarrera (materias x carreras)) 7- Se deben presentar todos los nombres de los alumnos que cursen informática o vivan en la localidad de Pico: a) π alumnos.nombre (σ alumnos.idcarrera = carreras.idcarrera (σ nombre = «informatica» (carreras)) x alumnos)) U π alumnos.nombre (σ alumnos.idlocalidad = localidades.idlocalidad (σ nombre = «Gral. Pico» (localidades)) x alumnos)) 8- Se deben presentar todos los nombres de los alumnos que cursen informática y no vivan en la π alumnos.nombre (σ alumnos.idcarrera = carreras.idcarrera (σ nombre = «informática» (carreras)) x alumnos)) - π alumnos.nombre (σ alumnos.idlocalidad = localidades.idlocalidad (σ nombre = «Gral. Pico» (localidades)) x alumnos)) BASES DE DATOS Bases de Datos Mg. Ing. Gustavo E. Juárez Algebra Relacional - EJERCICIO Resuelva los siguientes ejercicios. BASES DE DATOS Bases de Datos Mg. Ing. Gustavo E. Juárez Algebra Relacional - Operadores BINARIOS Operador DIVISIÓN Dadas R1 y R2, donde R2 C R1(la cabecera de R2 es un subconjunto de R1), se construye una nueva relación formada por los atributos de R1 que no están en R2, donde los valores de los otros atributos concuerdan con todos los valores de la relación R2. Se obtendría la siguiente tabla: Referencia Bibliográfica principal Fundamentos de bases de datos / Abraham Silberschatz, Henry F. Korth / y/ S. Sudarshan.—(Tra. Fernándo Sáenz Pérez, Antonio García Cordero /y/ Jesús Correas Fernández.-- Rev. Tca. Luis Grau Fernández). McGraw Hill. Madrid /c.2008/5a. Edic. Bases de Datos Mg. Ing. Gustavo E. Juárez BASES DE DATOS Sitio Web de la Cátedra http://www1.herrera.unt.edu.ar/bd/ Bases de Datos Mg. Ing. Gustavo E. Juárez BASES DE DATOS
Compartir