Introducci´ on Operaciones b´ asicas Operaciones de T a de Conjuntos Operaciones derivadas Otros Bibliograf´ ıa ´ Algebra Relacional Luis Valencia Cabrera ([email protected]) Research Group on Natural Computing Departamento de Ciencias de la Computaci´ on e Inteligencia Artificial Universidad de Sevilla 04-11-2019, Bases de Datos Luis Valencia Cabrera ([email protected]) Bases de Datos ´ Algebra Relacional
35
Embed
Luis Valencia Cabrera ([email protected]) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa
Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa
Algebra
Un algebra es un sistema matematico constituido por
Operandos: objetos (valores o variables) desde los cuales nuevosobjetos pueden ser construidos.Operadores: sımbolos que producen (o denotan o identifican)nuevos objetos desde objetos dados.
Algebra relacional: Algebra en la cual...
Sus operandos son relaciones (instancias) o variables querepresentan relaciones.Sus operadores estan disenados para hacer la tareas mas comunesque se necesitan para manipular relaciones en una base de datos.
Nota: el AR se puede utilizar como lenguaje de consulta, aunque en lapractica debe ser extendida para abarcar la mayorıa de tareas reales condatos.
Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional
Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa
Motivacion
Un modelo de datos debe incluir un conjunto de operacionespara manipular la base de datos.El conjunto de operaciones basicas del modelo relacional es elalgebra relacional, que permite al usuario especificar laspeticiones fundamentales de recuperacion.El resultado de una recuperacion es una nueva relacion.Una secuencia de operaciones de algebra relacional conformauna expresion de algebra relacional, cuyo resultado seratambien una nueva relacion que representa el resultado de unaconsulta a la base de datos (o una peticion de recuperacion).
Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional
Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa
Relevancia
El algebra relacional es importante por varias razones:Proporciona un fundamento formal para las operaciones delmodelo relacional.Se utiliza como base para la implementacion y optimizacionde consultas en los SGBD relacionales.Algunos de sus conceptos se han incorporado al lenguajeestandar de consultas SQL.
Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional
Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa
Operacion SELECCION/RESTRICCION
Se emplea para seleccionar un subconjunto de las tuplas deuna relacion que satisfacen una condicion de seleccion.Se puede considerar esta operacion como un filtro quemantiene solo las tuplas que satisfacen la condicionestablecida.Puede visualizarse tambien como una particion horizontal dela relacion.
σ<CondicionDeSeleccion>(R) o bien R WHERE condicion
donde R es una expresion del algebra relacional (nombre de unarelacion, variable o resultado de operacion previa).
Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional
Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa
Operacion PROYECCION
Si pensamos en una relacion como en una tabla, la operacionSELECCION elige algunas de las filas de la tabla.PROYECCION devuelve los datos de ciertas columnas de latabla y descarta otras. Ademas, elimina resultados duplicadosen la relacion resultante.Si solo estamos interesados en algunos atributos de unarelacion, usamos la operacion PROYECCION.Por consiguiente, el resultado de esta operacion puedevisualizarse como una particion vertical de la relacion.
π<ListaDeAtributos>(R) o bien R[ListaDeAtributos]
donde R es una expresion del algebra relacional, la mas sencilla esel nombre de una relacion.
Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional
Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa
Operacion RENOMBRADO
En general, podemos aplicar varias operaciones de AR unatras otra. Para ello, tenemos varias opciones:• Escribir las operaciones como una unica expresion de
Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa
Operaciones de la Teorıa de Conjuntos
Son las operaciones UNION, INTERSECCION y DIFERENCIADE CONJUNTOS (UNION, INTERSECTION y MINUS).Son operaciones binarias, i.e., reciben como entradas dosrelaciones.Para poder aplicarlas, las relaciones de entrada deben ser deunion compatible.
Dos relaciones R(A1,A2, . . . ,An) y S(B1,B2, . . . ,Bn) se dice queson de union compatible si tienen el mismo grado n y sidom(Ai ) = dom(Bi ) para 1 ≤ i ≤ n. En definitiva, deben tener elmismo numero de atributos sobre los mismos dominios.
Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional
Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa
Union, Interseccion y Diferencia
Podemos definir las tres operaciones UNION, INTERSECCION YDIFERENCIA DE CONJUNTOS en dos relaciones de unioncompatible R y S del siguiente modo:
UNION: El resultado de esta operacion, especificada comoR ∪ S (o R UNION S), es una relacion que incluye todas lastuplas que estan en R, en S o en ambas. Las tuplasduplicadas se eliminan.INTERSECCION: El resultado de esta operacion, R ∩ S (oR INTERSECTION S), es una relacion que incluye aquellastuplas que estan a la vez en ambas R y en S.DIFERENCIA DE CONJUNTOS: El resultado de estaoperacion, R − S (o R MINUS S), es una relacion que incluyetodas las tuplas que estan en R pero no en S.
Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional
Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa
Producto Cartesiano
Conocido tambien como PRODUCTO CRUZADO (CROSSPRODUCT) o CONCATENACION CRUZADA (CROSS JOIN), quese identifica por el sımbolo × (o bien como R TIMES S).
Se trata tambien de una operacion de conjuntos binarios, aunqueno es necesario que las relaciones en las que se aplica sean unaunion compatible.
Combina cada tupla de una relacion con los de la otra.R(A1,A2, . . . ,An)× S(B1,B2, . . . ,Bm) es una relacion con n + matributos Q(A1,A2, . . . ,An,B1,B2, . . . ,Bm).
Q tiene 1 tupla por cada combinacion de tuplas de R con S. Ası, deR con nR tuplas (|R| = nR), y S con ns tuplas, R × S tendranR × nS tuplas.
Si hay dos atributos distintos con el mismo nombre x en R y S, sepuede nombrar en Q como R.x y S.x
Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional
Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa
Operaciones basicas
A las operaciones SELECCION, PROYECCION, PRODUCTOCARTESIANO, UNION Y DIFERENCIA se les llama operacionesbasicas.
A partir de aquı, veremos operaciones derivadas, que pueden serpor tanto obtenidas a partir de las anteriores, pero que convieneconocer para expresar de forma mas agil determinadas accionesanidadas.
Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional
Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa
Operacion CONCATENACION (JOIN)
La CONCATENACION de dos relaciones R(A1,A2, . . . ,An yS(B1,B2, . . . ,Bm), denotada por R ./CondicionDeConexion S,es una relacion de n + m atributosQ(A1,A2, . . . ,Am,B1,B2, . . . ,Bm), que contiene una tupla porcada combinacion de tuplas (una de R, otra de S) que satisfagauna condicion de conexion.
La principal diferencia entre el PRODUCTO CARTESIANO y laCONCATENACION es que en esta ultima solo aparecen en elresultado las combinaciones de tuplas que satisfacen la condicionde conexion, mientras que en el PRODUCTO CARTESIANO seincluyen todas.
Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional
Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa
Operacion CONCATENACION (JOIN)
La condicion de conexion esta especificada sobre losatributos de las dos relaciones R y S y es evaluada paracada combinacion de tuplas, incluyendose en la relacion Qresultante en forma de una unica tupla combinada soloaquellas cuya condicion de conexion se evalue comoVERDADERO.Dicha conexion puede incluir cualesquiera operadores decomparacion entre atributos de ambas relaciones (i.e..{=, <,≤, >,≥, 6=}), combinados en expresiones logicas queagrupen varias condiciones mediante AND y OR.
Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional
Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa
EQUIJOIN y CONCATENACION NATURAL
El uso mas habitual de CONCATENACION supone el uso decondiciones de conexion solo con comparaciones de igualdad,en cuyo caso recibe el nombre de EQUIJOIN.Observe que en el resultado de una EQUIJOIN siempretenemos uno o mas pares de atributos que cuentan convalores identicos en cada tupla.Ya que uno de estos valores identicos es innecesario, se creouna nueva operacion llamada CONCATENACION NATURAL(identificada por ∗) para deshacerse del segundo atributosuperfluo en una condicion EQUIJOIN.
Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional
Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa
Otros ejemplos de CONCATENACION
Si la condicion de conexion es la igualdad de atributos con elmismo nombre, tenemos la CONCATENACION NATURAL. Sino tienen el mismo nombre, basta especificar que atributosdeben ser iguales en ambas relaciones
R ./R.Atributo1=S.Atributo2 S
Por ejemplo: R ./LugarDeNacimiento=LugarDeResidencia SDe hecho, sirve cualquier condicion booleana.Por ejemplo: R ./Sueldo2003<Sueldo2004 S
Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional
Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa
Operacion DIVISIONR ÷ S, o bien R DIVIDE BY S
La operacion DIVISION, R ÷ S, se aplica a dos relacionesR(Z ) (grado n) y S(X ) (grado m), con X ⊆ Z (ası, m < n)).Si Y = Z − X (Y atributos de R no en S, grado p = n −m),el resultado de la DIVISION es una relacion T (Y ) queincluye una tupla t = (y1, . . . , yp) si para toda tupla(x1, . . . , xm) ∈ S, existe la tupla (x1, . . . , xm, y1, . . . , yp) ∈ R.En definitiva, para que t aparezca en T , los valores de tdeben aparecer en R en combinacion con cada tupla de S.
Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional
Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa
Otros operadores
Concatenacion externa por la izquierda (LEFT OUTERJOIN).Concatenacion externa por la derecha (RIGHT OUTERJOIN).Concatenacion externa completa (FULL OUTER JOIN).Agrupacion o resumen SUMMARIZE
Union externa OUTER UNION
Proyeccion generalizadaCierre recursivo. . .
Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional
Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa
Bibliografıa
Ramez Elmasri, Shamkant B. NavatheFundamentos de Sistemas de Bases de Datos.Pearson Educacion S.A. - Addison Wesley Quinta Ed. (2007)ISBN: 978-84-7829-085-7
Mercedes MarquesBases de Datos.Universitat Jaume I (2011)ISBN: 978-84-693-0146-3
Dolores Cuadra, Elena Castro, Ana Ma Iglesias, Paloma Martınez, Fco.Javier Calle, Cesar de Pablo, Harith Al-Jumaily, Lourdes Moreno, SoniaGarcıa Manzano, Jose Luis Martınez, Jesica Rivero, Isabel SeguraDesarrollo De Bases De Datos: Casos Practicos Desde El Analisis A LaImplementacion.RA-MA Editorial - 2a Edicion (2013)ISBN: 978-84-996-4124-9
Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional