Conjunto de operadores para consultar BD-Rs. Define conjunto de ops estándar en BD-Rs. Operadores que reciben relaciones y devuelven relaciones:

Documentos relacionados
Bases de Datos 2. Teórico

Álgebra Relacional. Carlos A. Olarte BDI

Álgebra Relacional. Unidad 5

BASES DE DATOS TEMA 3. MODELO RELACIONAL

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

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?

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

Tema 3. El modelo Relacional

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

Tema 4. Operadores y Expresiones

Tema 4 : Lenguajes formales del modelo relacional

Formas Normales. Normalización. Introducción

Bases de Datos 2. Teórico

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo

Manipulación de datos en SQL

Temario. Índices simples Árboles B Hashing

Tema 2. Bases de Datos Relacionales

2. El conjunto de los números complejos

Lenguajes, Gramáticas y Autómatas Conceptos

Bases de datos 1. Teórico: Modelo Relacional

Apuntes de dibujo de curvas

NÚMEROS COMPLEJOS: C

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

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

ESQUEMA DE BASE DE DATOS ATROPELLOS

Modelo Relacional. Bibliografía: Fundamentos de bases de datos Korth, Silberschatz

Recordemos que utilizaremos, como es habitual, la siguiente notación para algunos conjuntos de números que son básicos.

Índice Proposiciones y Conectores Lógicos Tablas de Verdad Lógica de Predicados Inducción

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

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

RESUMEN DE CONCEPTOS

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales

Bases de Datos I. Cursada Clase 4: Álgebra relacional y de bolsas Información ausente Claves BASES DE DATOS I

DML en SQL. Consultas sencillas usando el DML de SQL

OPERADORES Y EXPRESIONES

Modelo relacional. El modelo relacional

Algoritmos y programas. Algoritmos y Estructuras de Datos I

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

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

Autómatas Deterministas. Ivan Olmos Pineda

MATEMÁTICAS DISCRETAS. UNIDAD 2 Algebras Booleanas y Circuitos Combinatorios

Números reales Conceptos básicos Algunas propiedades

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

Operaciones en el Modelo Relacional. Relacional. Relacional. Índice. Lenguajes de Consulta

Ing. Yim Isaias Apestegui Florentino

Álgebra Lineal Ma1010

c). Conceptos. Son los grupos o conceptos que se enlistan en las filas de la izquierda de la tabla

PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY

Coordinación de Matemática I (MAT021) 1 er Semestre de 2013 Semana 7: Lunes 22 - Viernes 27 de Abril. Contenidos

BASES DE DATOS. TEMA 6. El Álgebra Relacional

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

Estructuras Algebraicas

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

select nombre from profesores where categoria='aso6';

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

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

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

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

Forma polar de números complejos (repaso breve)

Describir los componentes de un sistema de información Enunciar los tipos de sistemas de información

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

Consulta y manipulación de datos. El lenguaje SQL

Elementos de análisis

id_trabajador nombre tarifa_hr tipo_de_oficio id_supv 1235 F. Aguilera 12,50 Electricista A. Calvo 13,75 Fontanero N.

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

TEMA 3 ÁLGEBRA DE CONMUTACIÓN

Espacios vectoriales reales.

Programación Avanzada. Diseño Diagramas de Comunicación

Sistemas informáticos industriales. Algebra de Boole

TEMA 4. EL MODELO RELACIONAL. 2. Estructura de datos relacional 3. Reglas de integridad 4. Lenguajes relacionales 5. Vistas

Consultas SQL INNER JOIN

Introducción. El uso de los símbolos en matemáticas.

Álgebra Relacional. Universidad de los Andes Demián Gutierrez Mayo

Tema II: El modelo relacional de datos (2.1) El modelo relacional de datos.

Expresiones regulares, gramáticas regulares

Geometría del Espacio. Física Geográfica. Licenciatura de Humanidades. Febrero-Mayo,

PROGRAMACION ORIENTADA A OBJETOS EN C++

DIAGRAMAS DE UML DIAGRAMAS DE CASO DE USO

Sistemas de Ecuaciones Lineales y Matrices

En una recta numérica el punto que representa el cero recibe el nombre de origen.

Teoría Tema 2 Concepto de función

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

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

Carlos A. Rivera-Morales. Precálculo I

Conjunto R 3 y operaciones lineales en R 3

John Venn Matemático y filósofo británico creador de los diagramas de Venn

Unidad. Lenguaje SQL. (Structured Query Language)

PROYECTO MATEM CURSO PRECÁLCULO UNDÉCIMO AÑO MODALIDAD ANUAL. Guía para el II parcial

Restricciones de Integridad

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):

RESUMEN DE CONCEPTOS TEÓRICOS MATEMÁTICAS 1º ESO. CURSO

El término productividad, con frecuencia, se confunde con el término producción. Muchas

Anejo 1. Teoría de Airy. Solución lineal de la ecuación de ondas.

Elementos de un programa en C

4. DIAGRAMAS DE INTERACCIÓN INTRODUCCIÓN DIAGRAMAS DE SECUENCIA Objetos Mensajes

Repaso de Vectores. Autor: Dra. Estela González. flecha. La longitud de la línea indica la magnitud del vector, y su

Tema II: El modelo relacional de datos. (2.4)

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

MANUAL DE USUARIO INTERFACES. En esta sección se relacionan los componentes que intervienen para los procesos de la generación de Interface contable.

Sistem as de ecuaciones lineales

Transcripción:

Algebra Relacional 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. 1 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? 2 1

Algebra Relacional - Selección Descripción General: Permite obtener las tuplas que cumplen una cierta condición. Sintaxis: donde: σ <condicion> (<relacion>) Condición es una condición lógica sobre valores de los atributos de las tuplas resultado. Relación es una relación o expresión relacional. 3 Algebra Relacional - Selección Selección( σ ) 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 la instancia de R que cumplen con θ. 4 2

Algebra Relacional - Selección Ejemplos: σ ND=4 (EMPLEADO) σ Salario>3000 (EMPLEADO) σ ND=4 and Salario>3000 (EMPLEADO) σ not (ND=4 and Salario >3000) (EMPLEADO) 5 Algebra Relacional - Proyección Descripción General: Permite obtener las tuplas con un cierto conjunto de atributos. Sintaxis: donde: Π <lista_atributos> (<relacion>) Lista_atributos es una lista de atributos a aparecer en la relación resultado. Relación es una relación o expresión relacional. 6 3

Algebra Relacional - Proyección Proyección (Π). Sea R una relación. Π A1,...,An (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. 7 Algebra Relacional - Proyección Ejemplos: 1) Π nombre, dirección (FABS) 2). Π desc (PRODS) 3). Π #f (VENTAS) 8 4

Algebra Relacional - Unión Descripción General: Permite obtener la Unión de dos relaciones tomadas como conjuntos de tuplas. Sintaxis: (<relacion>) U (<relacion>) donde: relación es una relación o expresión relacional. 9 Algebra Relacional - Unión Unión: 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 que tiene como conjunto de tuplas a la unión de las de R y las de S. 10 5

Algebra Relacional - Diferencia Descripción General: Permite obtener la Diferencia de dos relaciones tomadas como conjuntos de tuplas. Sintaxis: donde: (<relacion>) (<relacion>) Relación es una relación o expresión relacional. 11 Algebra Relacional - Diferencia Diferencia: 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 que tiene como conjunto de tuplas a la resta de las de R menos las de S. 12 6

Algebra Relacional - Producto Cartesiano Descripción General: Permite obtener el Producto Cartesiano de dos relaciones tomadas como conjuntos de tuplas. Sintaxis: donde: (<relacion>) x (<relacion>) Relación es una relación o expresión relacional. 13 Algebra Relacional - Producto Cartesiano Producto Cartesiano: Sean R y S dos relaciones con esquemas (A 1,...,A n ) y (B 1,...,B m ) respectivamente. La operación: R x S da como resultado: otra relacion 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. 14 7

Algebra Relacional - Producto Cartesiano Ejemplos: σ #p<3 (PRODS) x σ #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. 15 Ejemplo Ejemplo: Π $2,$3,$4,$5 (σ $1<3 (PRODS) x σ $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. 16 8

Operadores Derivados Los operadores presentados antes: son los básicos del Álgebra Relacional. 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. 17 Algebra Relacional - 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 Prod. Cartesiano de las relaciones. Sintaxis: (<relacion>) >< <condicion> (<relacion>) 18 9

Algebra Relacional - Θ Join Θ Join. Sean R y S dos relaciones, la operación R >< condición S es equivalente a realizar : σ condicion (R x S) 19 Algebra Relacional - Join Natural Join Natural. Sean R y S dos relaciones, la operación R * S es equivalente a realizar el: θ Join con la condicion de igualdad entre los atributos de igual nombre y luego proyectar eliminando columnas con nombre repetido. 20 10

Algebra Relacional - Join 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. 21 Algebra Relacional - 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 ) 22 11

Algebra Relacional - Join Por ejemplo: Cuando se consulta el nombre y descripción de producto tal que el fabricante vende ese producto, alcanza con que el fabricante venda un producto para que este en la solución. Si vende varios productos, se obtendrán varias tuplas en la solución. 23 Algebra Relacional - División División. 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 con esquema (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). 24 12

Algebra Relacional - División Por ejemplo: Sean R y S, y Q = R S R( A, B ) S( B ) Q( A ) a1 b1 b1 ==> a2 a1 b2 a2 b1 a2 b2 a2 b3 a2 b4 a3 b1 a3 b3 b2 b3 25 Algebra Relacional - División 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. Result = Π #p,#f ( VENTAS) Π #f ( FABS) 26 13

Ejemplos Ejemplo1. Dar los #p vendidos por todos los fabricantes que venden algún producto. Π #p,#f ( VENTAS) Π #f ( VENTAS) Ejemplo 2. Dar los #f que venden todos los productos vendidos por algún fabricante. Π #f,#p ( VENTAS) Π #p ( VENTAS) 27 Ejemplos Ejemplo 3. Dar los #f que venden todos los productos con descripción "t1". A = Π #f,#p ( VENTAS) Π #p ( σ desc= t1 (PRODS) ) Ejemplo 4. Dar nombre y dirección de fabricantes que venden todos los productos con descripción "t1". Π nombre, direc ( FABS * A ) 28 14

Algebra Relacional - División La división en función de operadores base. Sea: T(X) = R(X,Y) S(Y). T1 = Π X (R). Valores base a incluir en el resultado. T2 = Π X ( (T1 x 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 = T1 - T2 29 Algebra vs Cálculo Se puede demostrar formalmente que es equivalente al cálculo de tuplas seguro. Para definir el álgebra en función del cálculo, necesitamos algo de notación. Φ ia denota una expresión en algebra y Φ i C denota la fórmula de primer orden que aparece en la consulta en cálculo correspondiente. ( Φ ia { t / Φ ic (t) } ) Si ϕ es una condición usada en una selección, ϕ c (t) es la misma condición en donde los atributos se toman de la variable t. 30 15

Algebra en Calculo. σ ϕ (Φ A ) { t / Φ C (t) ϕ c (t) } Π a1,an (Φ A ) {<t.a 1,t.a n > / Φ C (t) } Φ 1A Φ 2A {t / Φ 1c (t) Φ 2c (t) } Φ 1A Φ 2A {t / Φ 1c (t) Φ 2c (t) } Φ 1A Φ 2A {t / Φ 1c (t) Φ 2c (t) } Φ 1A Φ 2A {t / Φ 1c (t) Φ 2c (t) } Φ 1A Φ 2A {t / Φ 1c (t 1 ) Φ 2c (t 2 ) t 1.a 1 = t 2.a 1 t 1.a n = t 2.a n } Donde a 1 a n son los atributos de igual nombre en t 1 y t 2 Φ 1A Φ 2A {t / t 2.Φ 2c (t 2 ) t 1.(Φ 1c (t 1 ) t 1.a i+1 = t 2.a 1 t 1.a i+n = t 2.a n t.a 1 = t 1.a 1 t.a i = t 1.a i )} Donde a 1 a n son todos los atributos de t 2 31 Otra visión del Algebra Relacional Visión hasta el momento: Una tupla es una lista de valores. Un Esquemas de Relación es una pareja de un nombre de relación y una lista de atributos. Otra Visión: Una tupla es una función de los nombres de atributo en los valores. Un Esquemas de Relación es una pareja de un nombre de relación y una lista de atributos. 32 16

Renombre Sintaxis: ρ (A1,..An B1 Bn) (R) donde: A 1 A n y B 1 B n son listas de n atributos. R es una expresión relacional. Semántica: Esquema: El mismo que en R pero con los nombres de atributos A 1 A n cambiados por B 1 B n respectivamente. Instancia: Exactamente la misma que R. 33 Renombre - Ejemplos. Fabs(#f,Nom,Dir), Prods(#p,desc), Ventas(#f,#p,precio) Ejemplo 1 Versión Vieja: posiciones ρ (#f NumFab) (Fabs) Devuelve una tabla con el siguiente esquema: (NumFab,Nom,Dir) Versión Nueva: renombre inteligente Ejemplo 2 Obtener las parejas de números de fabricantes que se llaman igual. Π $1,$4 (Fabs >< $2=$5 Fabs) Π #f,#f1 (Fabs ρ (#f,dir #f1,dir1) (Fabs)) 34 17