Algebra Relacional. Bases de Datos 2 - Tecnologo de Informatica. BD2 - Algebra Relacoinal

Documentos relacionados
Bases de Datos 2. Teórico

4. Algebra relacional

Modelo Relacional. Modelo Relacional. Temas: Referencia:

Álgebra Relacional. Unidad 5

BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Algebra Relacional y SQL

Álgebra Relacional. Carlos A. Olarte BDI

Álgebra Relacional. Relacional. Manipulación. Índice. Operaciones. Lenguaje

Modelos de Datos. Modelo Entidad-Relación

Sistemas de Bases de Datos I. Modelo Lógico Modelo Relacional

12. Procesamiento y Optimización de Consultas

Prof. Mariano Mancuso. Sistemas de información y control diagrama de clases

Formas Normales. Normalización. Introducción

Temario. Índices simples Árboles B Hashing

Principios de Computadoras II

SQL. Carlos A. Olarte BDI

Expresiones y sentencias

Lenguajes y Gramáticas

Lenguajes, Gramáticas y Autómatas Conceptos

Operadores y Expresiones

Bases Matemáticas para la Educación Primaria. Guía de Estudio. Tema 3: Números racionales. Parte I: Fracciones y razones Números racionales

Tablas. Estas serán las tablas que usaremos en la mayoría de ejemplos. Empleado

MATERIAL INTRODUCTORIO ORACLE 11G

Capítulo 6. Relaciones. Continuar

BASES DE DATOS TEMA 2 MODELOS DE DATOS

EL MODELO RELACIONAL

Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos:

Créditos institucionales de la UA: 6 Material visual: Diapositivas. Unidad de competencia I Conceptos preliminares

ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES I. TEMA 4 Algebra booleana y puertas lógicas

Consultas SQL INNER JOIN

4. Operadores Operador asignación

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIFICADORES COMO LOCALIDADES DE MEMORIA

1.Introducción al Modelo Relacional.

DI SEÑO DE BASES DE DATOS Y SEGURIDAD DE LA INFORMACIÓN (31 de mayo de 2005) 3DUFLDO. APELLIDOS: NOMBRE: TITULACIÓN (Sistemas/Gestión):

Curso de Java Introducción a la Programación III

GRAMATICAS LIBRES DEL CONTEXTO

OPERACIONES FUNDAMENTALES DEL ÁLGEBRA RELACIONAL. Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

ESQUEMA DE BASE DE DATOS ATROPELLOS

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Esquema Lógico F1. EXAMEN 1 de diciembre de EQUIPO (NOMBRE:cadena) CP (NOMBRE) DIRECTOR (NOMBRE:cadena) CP (NOMBRE)

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 10. Álgebra Relacional

TEMA 3 ÁLGEBRA DE CONMUTACIÓN

Tema Árboles generales. 9.2 Árboles binarios 9.3 Árboles de búsqueda

Manipulación de datos en SQL

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.

EXAMEN EXTRAORDINARIO Informática y Computación IV

Tema 2. Fundamentos de la Teoría de Lenguajes Formales

Sistemas informáticos industriales. Algebra de Boole

Tema 2. Bases de Datos Relacionales

Codd propuso estos tres lenguajes como base teórica de cualquier lenguaje que quisiera cumplir con los requisitos formales del modelo.

Aprendizaje Automatizado

Tema 4. Operadores y Expresiones

Capítulo 7 OPERADORES Y EXPRESIONES. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

I. E. NORMAL SUPERIOR SANTIAGO DE CALI ASIGNATURA DE TECNOLOGÍA E INFORMÁTICA LIC. CARLOS ANDRÉS CASTAÑEDA HENAO GRADO 8º

DED Diagramas de Estructura Lógica de Datos. Universidad de Oviedo Departamento de Informática

Modelo relacional. Modelo relacional

Maestría en Bioinformática. Bases de Datos y Sistemas de Información SQL: SELECT. Ing. Alfonso Vicente, PMP

Operaciones básicas con hojas de cálculo

Computación Aplicada. Universidad de Las Américas. Aula virtual de Computación Aplicada. Módulo de Excel 2013 LIBRO 2

2. El conjunto de los números complejos

Matemáticas 2º E.S.P.A. Pág.1 C.E.P.A. Plus Ultra. Logroño

BASES DE DATOS TEMA 3. MODELO RELACIONAL

Cálculo Relacional. 12/03/07 E.I.S.C. - Prof. Mauricio Fernández - Curso: Bases de Datos I 1/31. Porqué necesitamos un Lenguaje de Consulta?

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

LOS NUMEROS IRRACIONALES Y SU REPRESENTACIÓN EN LA RECTA NUMERICA

Tema 3. El modelo Relacional

Programación en java. Estructuras algorítmicas

Exterior del algoritmo. Entorno. Usuario. Procesador. Escribir. v1 v2 v3. Leer. <acción> {; <acción>}

Álgebra de Boole. Adición booleana. Multiplicación booleana. Escuela Politécnica Superior

Curso Querying Microsoft SQL Server 2014 (20461)

Matriz inversa generalizada y descomposición del valor singular

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

ALGEBRA I, ALGEBRA Y TRIGONOMETRIA , Segundo Semestre CAPITULO 6: POLINOMIOS.

Tema 7. Generación de código

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Espacios vectoriales reales.

y cualquier par (x, y) puede escalarse, multiplicarse por un número real s, para obtener otro vector (sx, sy).

Curso: Base de Datos Distribuidas. Unidad 3: Optimización de las Estrategias de Acceso. M. en C. José Mario Martínez Castro

El ente básico de la parte de la matemática conocida como ANÁLISIS, lo constituye el llamado sistema de los número reales.

Tema 7. Elaboración de consultas básicas de selección. Lenguajes de bases de datos. SQL básico 15/12/2011

Procesadores de Lenguaje

Expresiones algebraicas. Copyright 2013, 2009, 2006 Pearson Education, Inc. 1

Formato para prácticas de laboratorio

Como Luis debe a Ana 5 euros podemos escribir: 5 euros. Como Luis debe a Laura 6 euros podemos escribir: 6 euros.

Sistemas de Datos Curso: Ernesto Chinkes. SQL Básico Algebra Relacional

Modelos y Bases de Datos

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

Matemáticas Básicas para Computación

Ing. Yim Isaias Apestegui Florentino

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Conjuntos Los conjuntos se emplean en muchas áreas de las matemáticas, de modo que es importante una comprensión de los conjuntos y de su notación.

Cálculo Relacional. Bibliografía: Fundamentos de bases de datos Korth, Silberschatz

Algebra Relacional Jos e Ram on Param a Gab ıa

Apuntes de dibujo de curvas

FUNDAMENTOS DE INFORMÁTICA

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL)

6.1 Introducción. Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 1

Aritmética de Enteros

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 11. Cálculo Relacional

Transcripción:

Algebra Relacional Bases de Datos 2 - Tecnologo de Informatica

Outline 1 Introducción Vision general 2 Operadores Operaciones relacionales unarias Operaciones de la teoría de conjuntos Operadores derivados 3 Árbol de consulta 4 Operadores relacionales adicionales

Outline 1 Introducción Vision general 2 Operadores Operaciones relacionales unarias Operaciones de la teoría de conjuntos Operadores derivados 3 Árbol de consulta 4 Operadores relacionales adicionales

Outline 1 Introducción Vision general 2 Operadores Operaciones relacionales unarias Operaciones de la teoría de conjuntos Operadores derivados 3 Árbol de consulta 4 Operadores relacionales adicionales

Visión general Conjunto de operadores para consultar BD- Rs. Define conjunto de ops estándar en BD- Rs. Operadores que reciben relaciones y devuelven relaciones: Sobre conjuntos de tuplas: Unión, Diferencia, Producto Cartesiano. Específicos para BDs Rel. Selección, Proyección, Join.

El Algebra Relacional Sintaxis Qué símbolos se utilizan para cada operador y qué parámetros recibe. Semántica Cuál es el esquema del resultado?. Cuál es la instancia del resultado?. Qué condiciones se deben cumplir para que se pueda aplicar el operador?.

Outline 1 Introducción Vision general 2 Operadores Operaciones relacionales unarias Operaciones de la teoría de conjuntos Operadores derivados 3 Árbol de consulta 4 Operadores relacionales adicionales

Outline 1 Introducción Vision general 2 Operadores Operaciones relacionales unarias Operaciones de la teoría de conjuntos Operadores derivados 3 Árbol de consulta 4 Operadores relacionales adicionales

Selección Descripción general Permite obtener las tuplas que cumplen una cierta condición. Sintaxis: σ <condicion> (< relacion >) donde: condicion es una condición lógica sobre valores de los atributos de las tuplas resultado. relacion es una relación o expresión relacional

Selección Descripción general Sea R una relación y θ una condición. σ θ (R) da como resultado otra relación con esquema igual que el de R con instancia el conjunto de tuplas de las instancias de R que cumplen con θ

Selección Ejemplos Figura : Esq. base de datos relacional Empresa

Selección Ejemplos σ APELLIDO1=GONZALEZ (EMPLEADO) σ SUELDO>3000 (EMPLEADO) σ APELLIDO1=GONZALEZ and SUELDO>3000 (EMPLEADO) σ not (APELLIDO1=GONZALEZ and SUELDO>3000) (EMPLEADO) σ APELLIDO1=APELLIDO2 (EMPLEADO)

Selección Ejemplos σ APELLIDO1=GONZALEZ (EMPLEADO) σ SUELDO>3000 (EMPLEADO) σ APELLIDO1=GONZALEZ and SUELDO>3000 (EMPLEADO) σ not (APELLIDO1=GONZALEZ and SUELDO>3000) (EMPLEADO) σ APELLIDO1=APELLIDO2 (EMPLEADO)

Proyección Descripción general Permite obtener las tuplas con un cierto conjunto de atributos. Sintaxis: π <lista_atributos> (< relacion >) donde: lista_atributos es una lista de atributos a aparecer en la relación resultado. relacion es una relación o expresión relacional

Proyección Descripción general Sea R una relación. π A1,...,A n (R) da como resultado otra relación con esquema (A 1,..., A n ) con tuplas formadas a partir de las de R tomando los valores para los atributos A 1,..., A n Observación: Como no se admiten tuplas repetidas, al realizar una proyección, podrían quedar menos tuplas que en la relación de partida.

Proyección Ejemplos π SEXO,SUELDO (EMPLEADO)

Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional anidando dichas operaciones, o aplicar una sola expresión una única vez y crear relaciones intermedias. Única expresión: π NOMBRE,APELLIDO1,SUELDO (σ Dno=5 (EMPLEADO)) Relación intermedia: DEP5_EMPS (NOMBRE, APELLIDO,..., SALARIO,... ) σ Dno=5 (EMPLEADO) RESULTADO π NOMBRE,APELLIDO,SALARIO (DEP5_EMPS)

Outline 1 Introducción Vision general 2 Operadores Operaciones relacionales unarias Operaciones de la teoría de conjuntos Operadores derivados 3 Árbol de consulta 4 Operadores relacionales adicionales

Unión Descripción general Permite obtener la Unión de dos relaciones tomadas como conjuntos de tuplas. Sintaxis: (< relacion >) (< relacion >) donde: relacion es una relación o expresión relacional

Unión Descripción general Sean R y S dos relaciones con igual esquema (o compatible). La operación: (R S) da como resultado otra relación cuyo esquema es igual al de R (y S) y tiene como conjunto de tuplas a la unión de las de R y las de S.

Intersección Descripción general Permite obtener la Intersección de dos relaciones tomadas como conjuntos de tuplas. Sintaxis: (< relacion >) (< relacion >) donde: relacion es una relación o expresión relacional

Intersección Descripción general Sean R y S dos relaciones con igual esquema (o compatible). La operación: (R S) da como resultado otra relación cuyo esquema es igual al de R (y S) y tiene como conjunto de tuplas a la intersección de las de R y las de S.

Diferencia Descripción general Permite obtener la Diferencia de dos relaciones tomadas como conjuntos de tuplas. Sintaxis: (< relacion >) (< relacion >) donde: relacion es una relación o expresión relacional

Diferencia Descripción general Sean R y S dos relaciones con igual esquema (o compatible). La operación: (R S) da como resultado otra relación cuyo esquema es igual al de R (y S) y tiene como conjunto de tuplas a la resta de las de R menos las de S.

Cuestionario Unión, Intersección, Resta (R (S T )) = ((R S) T )? La Intersección ( ) también es una operación asociativa? La Union e Intersección son conmutativas La resta también lo es?

Producto Cartesiano Descripción general Permite obtener el Producto Cartesiano de dos relaciones tomadas como conjuntos de tuplas. Sintaxis: (< relacion >) (< relacion >) donde: relacion es una relación o expresión relacional

Producto Cartesiano Descripción general Sean R y S dos relaciones con esquemas (A 1,..., A n ) y (B 1,..., B m ) respectivamente. La operación: (R S) da como resultado otra relación cuyo esquema es (A 1,..., A n, B 1,..., B m ) y cuyas tuplas son generadas por todas las combinaciones posibles de las de R con las de S.

Producto Cartesiano Ejemplos FABS #f Nombre Direcc 1 Juan d1 2 Pedro d2 4 Maria d3 5 Ana d2 6 Pedro d4 9 Pepe d5 10 Laura d4 13 Maria d3 15 Pedro d1 16 Oscar d3 19 Juan d4 PRODS #p Desc 1 t1 2 t2 3 t3 5 t2 6 t3 7 t4 9 t2 10 t1 11 t3 12 t2 15 t3 VENTAS #f #p Precio 1 1 100 1 2 200 1 3 300 1 10 1000 1 11 1100 2 3 350 2 6 600 2 7 700 5 3 350 5 5 200 9 7 100 9 3 300 10 3 400

Producto Cartesiano Ejemplos σ #p<3 (PRODS) σ #p<3 (VENTAS) da como resultado: #p Desc #f #p Precio 1 t1 1 1 100 1 t1 1 2 200 2 t2 1 1 100 2 t2 1 2 200 Este operador permite combinar las tuplas de dos tablas

Producto Cartesiano Ejemplos π $2,$3,$4,$5 (σ $1<3 (PRODS) σ $2<3 (VENTAS)) da como resultado: Desc #f #p Precio t1 1 1 100 t1 1 2 200 t2 1 1 100 t2 1 2 200 La notación de atributos numerados también puede ser usada en la selección.

Outline 1 Introducción Vision general 2 Operadores Operaciones relacionales unarias Operaciones de la teoría de conjuntos Operadores derivados 3 Árbol de consulta 4 Operadores relacionales adicionales

Operadores Derivados Operaciones relacionales binarias Los operadores presentados antes son los básicos del Álgebra Relacional (conjunto completo de operaciones). Se definen otros que se pueden expresar en función de los básicos, pero que expresan operaciones importantes dado que se usan habitualmente. Estos operadores son: Join: Permite expresar la combinación de tablas. División: Permite obtener los datos que se relacionan con todos los elementos de otro conjunto.

Join Descripción general Permite combinar tuplas de dos relaciones a través de una condición sobre los atributos. Corresponde a una Selección sobre el Producto Cartesiano de las relaciones Sintaxis: (< relacion >) <condicion> (< relacion >)

Join Descripción general Cómo se ejecuta el Join? Cuando se realiza un Join entre dos relaciones (R y S), cada vez que una tupla de R y otra de S cumplen la condición del join, se genera una tupla en el resultado. Para que se genere una tupla en el resultado alcanza con que exista una tupla en R y otra en S que se conecten por la condición del Join.

Θ-Join Descripción general Sean R y S dos relaciones y θ una condición, la operación: R θ S es equivalente a realizar: σ θ (R S) Cuál es el esquema resultado?

Join Natural Descripción general Sean R y S dos relaciones, la operación: R S es equivalente a realizar: Θ-Join con la condición de igualdad entre los atributos de igual nombre y luego proyectar eliminando columndas con nombre repetido

Join Natural Ejemplos 1 Dar los nombres de fabricantes y la descripción de los productos que vende π Nombre,Desc ((FABS VENTAS) PRODS) 2 Dar descripción y precio de productos vendidos por Juan. π Desc,Precio ((σ Nombre=Juan (FABS) VENTAS) PRODS)

División Descripción general Sean R y S dos relaciones con esquemas (A 1,..., A n, B 1,..., B m ) y (B 1,..., B m ) respectivamente. La operación: (R S) da como resultado otra relación cuyo esquema es (A 1,..., A n ) y su contenido son las tuplas tomadas a partir de las de r (R) tales que su valor (a 1,..., a n ) está asociado en r (R) con TODOS los valores (b 1,..., b m ) que están en s (S)

División Ejemplos Sean R y S, y Q = R S R( A, B ) S( B ) Q( A ) a 1 b 1 b 1 a 2 a 1 b 2 b 2 = a 2 b 1 b 3 a 2 b 2 a 2 b 3 a 2 b 4 a 3 b 1 a 3 b 3

División Ejemplos Observación: Las tuplas solución deben estar relacionadas con todos los valores de S, pero NO se exige que lo este solo con esos valores. Pueden estar relacionadas con otros valores Ejemplo: Dar los #p vendidos por todos los fabricantes Resultado: π #p,#f (VENTAS) π #f (FABS)

División Ejemplos 1 Dar los #p vendidos por todos los fabricantes que venden algún producto. π #p,#f (VENTAS) π #f (VENTAS) 2 Dar los #f que venden todos los productos vendidos por algún fabricante. π #f,#p (VENTAS) π #p (VENTAS)

División Ejemplos 3 Dar los #f que venden todos los productos con descripción "t1". VEND_T 1 π #f,#p (VENTAS) π #f (σ Desc=t1 (PRODS)) 4 Dar nombre y dirección de fabricantes que venden todos los productos con descripción "t1". π Nombre,Direc (FABS VEND_T 1)

División En función de operadores base La división se puede expresar en función de operadores base. T (X) R(X, Y ) S(Y ) T 1 π X (R) Valores base a incluir en el resultado. T 2 π X ((T 1 S) R) Tuplas de R a las que les falta relacionarse en R con algún elemento de S. Lo que NO se quiere en el resultado. T T 1 T 2

División En función de operadores base La división se puede expresar en función de operadores base. T (X) R(X, Y ) S(Y ) T 1 π X (R) Valores base a incluir en el resultado. T 2 π X ((T 1 S) R) Tuplas de R a las que les falta relacionarse en R con algún elemento de S. Lo que NO se quiere en el resultado. T T 1 T 2

División En función de operadores base La división se puede expresar en función de operadores base. T (X) R(X, Y ) S(Y ) T 1 π X (R) Valores base a incluir en el resultado. T 2 π X ((T 1 S) R) Tuplas de R a las que les falta relacionarse en R con algún elemento de S. Lo que NO se quiere en el resultado. T T 1 T 2

Outline 1 Introducción Vision general 2 Operadores Operaciones relacionales unarias Operaciones de la teoría de conjuntos Operadores derivados 3 Árbol de consulta 4 Operadores relacionales adicionales

Árbol de consultas Representación de consultas Notación usada habitualmente en sistemas relacionales para representar consultas internamente. Recibe el nombre de árbol de consulta, o también árbol de evaluación de consulta o árbol de ejecución de consulta. Es una estructura de datos en árbol que se corresponde con una expresión de álgebra relacional. Representa: Las relaciones de entrada de la consulta como los nodos hoja del árbol. Las operaciones como nodos internos.

Árbol de consultas Ejecución Ejecución: 1 Se ejecuta la operación de un nodo interno, siempre que estén disponibles sus operandos. 2 Reemplazar ese nodo interno por la relación que resulta de la ejecución de la operación. El proceso concluye cuando se ejecuta el nodo raíz y se obtiene la relación resultante de la consulta.

Árbol de consultas Ejemplo π NumProyecto,NumDptoProyecto,Apellido1,Direccion,FechaNac (((σ UbicacionProyecto= Gijon (PROYECTO)) NumDptoProyecto=NumeroDpto (DEPARTAMENTO)) DniDirector=Dni (EMPLEADO)) Qué árbol representa esta consulta? Cuál es su orden de ejecución?

Árbol de consulta Ejemplo π NumProyecto,NumDptoProyecto,Apellido1,Direccion,FechaNac D.DniDirector=E.Dni P.NumDptoProyecto=D.NumeroDpto E EMPLEADO σ P.UbicacionProyecto= Gijon D DEPARTAMENTO P PROYECTO

Outline 1 Introducción Vision general 2 Operadores Operaciones relacionales unarias Operaciones de la teoría de conjuntos Operadores derivados 3 Árbol de consulta 4 Operadores relacionales adicionales

Operadores relacionales adicionales Projección generalizada: π F 1,F 2,Fn (R) Funciones de agregación: SUM, AVERAGE, MAXIMUM, MINIMUM, COUNT Función de agrupamiento: <atributos_agrupacion>i <lista_funciones> (R) Operaciones de recursión: Cierre recursivo Concatenación Externa (Outer Join) Union Externa (Outer Union)

Recursión Cierre Recursivo El cierre recursivo es una operación que se aplica a una relación recursiva entre las tuplas del mismo tipo. No puede especificarse en el álgebra relacional básico. El álgebra relacional resuelve la recursión si se limitan los niveles de recursividad.

Recursión Cierre Recursivo Figura : Supervisados por Ochoa directamente Figura : Los supervisados por los que supervisa Ochoa

Concatenación Externa Outer Join Permiten preservar como resultado del Join todas las tuplas en R, o en S, o aquellas en ambas relaciones idependientemente de si tienen tuplas conectadas en la otra relación.

Concatenación Externa Outer Join Concatenación externa izquierda: R <condicion> S Concatenación externa derecha: R <condicion> S Concatenación externa completa (Full Outer Join)

Unión Externa Permite obtener la unión de tuplas de dos relaciones en el caso de que esas relaciones no sean compatibles con la unión. Sean R(X,Y) y S(X,Z) dos relaciones que son parcialmente compatibles, la unión externa da como resultado una relación de la forma T(X,Y,Z)