35
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

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

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa

Algebra Relacional

Luis Valencia Cabrera ([email protected])

Research Group on Natural ComputingDepartamento de Ciencias de la Computacion e Inteligencia Artificial

Universidad de Sevilla

04-11-2019, Bases de Datos

Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional

Page 2: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa

Indice

1 Introduccion

2 Operaciones basicas

3 Operaciones de la Teorıa de Conjuntos

4 Operaciones derivadas

5 Otros

6 Bibliografıa

Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional

Page 3: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa

Indice

1 Introduccion

2 Operaciones basicas

3 Operaciones de la Teorıa de Conjuntos

4 Operaciones derivadas

5 Otros

6 Bibliografıa

Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional

Page 4: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

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

Page 5: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

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

Page 6: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

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

Page 7: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa

Indice

1 Introduccion

2 Operaciones basicas

3 Operaciones de la Teorıa de Conjuntos

4 Operaciones derivadas

5 Otros

6 Bibliografıa

Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional

Page 8: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

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

Page 9: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa

Ejemplo: Relacion EMPLEADO

Relacion EMPLEADONombre Apell1 Apell2 Dni Direccion Sex Sueldo NRP DepJose Perez Perez 123456789 Eloy 1,98 H 30000 333445555 5Alberto Campos Sastre 333445555 Avda. Rıos, 9 H 40000 888665555 5Alicia Jimenez Celaya 999887777 Gran Vıa, 38 M 25000 987654321 4Juana Sainz Oreja 987654321 Cerquillas, 67 M 43000 888665555 4Fernando Ojeda Ordonez 666884444 Portillo, s/n H 38000 333445555 5Aurora Oliva Avezuela 453453453 Anton, 6 M 25000 333445555 5Luis Pajares Morera 987987987 Enebros, 90 H 25000 987654321 4Eduardo Ochoa Paredes 888665555 Las Penas, 1 H 55000 NULL 1

σ<(Dep=4ANDSueldo>25000)OR(Dep=5ANDsueldo>30000)>(EMPLEADO)

EMPLEADO WHERE (Dep=4 AND Sueldo>25000) OR (Dep=5 AND sueldo>30000)

Nombre Apell1 Apell2 Dni Direccion Sex Sueldo NRP DepAlberto Campos Sastre 333445555 Avda. Rıos, 9 H 40000 888665555 5Juana Sainz Oreja 987654321 Cerquillas, 67 M 43000 888665555 4Fernando Ojeda Ordonez 666884444 Portillo, s/n H 38000 333445555 5

Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional

Page 10: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

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

Page 11: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa

Ejemplo: Relacion EMPLEADORelacion EMPLEADO

Nombre Apell1 Apell2 Dni Direccion Sex Sueldo NRP DepJose Perez Perez 123456789 Eloy 1,98 H 30000 333445555 5Alberto Campos Sastre 333445555 Avda. Rıos, 9 H 40000 888665555 5Alicia Jimenez Celaya 999887777 Gran Vıa, 38 M 25000 987654321 4Juana Sainz Oreja 987654321 Cerquillas, 67 M 43000 888665555 4Fernando Ojeda Ordonez 666884444 Portillo, s/n H 38000 333445555 5Aurora Oliva Avezuela 453453453 Anton, 6 M 25000 333445555 5Luis Pajares Morera 987987987 Enebros, 90 H 25000 987654321 4Eduardo Ochoa Paredes 888665555 Las Penas, 1 H 55000 NULL 1

π<Dni ,Sueldo>(EMPLEADO)Dni Sueldo123456789 30000333445555 40000999887777 25000987654321 43000666884444 38000453453453 25000987987987 25000888665555 55000

Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional

Page 12: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

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

algebra relacional anidando dichas operaciones• Aplicar expresiones mas simples, usando relaciones

intermedias. Para ello, debemos asignar a una variablecada una de las relaciones intermedias:

TEMP ← expresion relacional

Ademas, podemos renombrar campos A1, . . . ,An de unarelacion R de grado n a nuevos nombres B1, . . . ,Bn medianteel operador ρ:

ρ(B1,...,Bn)(R)

Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional

Page 13: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa

Operacion de asignacion y RENOMBRADOEjemplo

Podemos escribir la expresion anidadaπ<Nombre,Apell1,Sueldo>(σ<Dep=5>(EMPLEADO)), y posteriormenterenombrar sus campos, haciendo:

TEMP1 ← σ<Dep=5>(EMPLEADO)TEMP2 ← π<Nombre,Apell1,Sueldo>(TEMP1)RESULTADO ← ρ(Nombre,Apellido,Salario)(TEMP2)

Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional

Page 14: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa

Indice

1 Introduccion

2 Operaciones basicas

3 Operaciones de la Teorıa de Conjuntos

4 Operaciones derivadas

5 Otros

6 Bibliografıa

Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional

Page 15: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

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

Page 16: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

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

Page 17: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

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

Page 18: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa

Ejemplo de Producto Cartesiano

CLIENTEScodcli nombre direccion codpostal codpue333 Sos Carretero, Jesus Mosen Compte, 14 12964 53596336 Miguel Archiles, Ramon Bernardo Mundina, 132-5 12652 07766342 Pinel Huerta, Vicente Francisco Sempere, 37-10 12112 07766345 Lopez Botella, Mauro Avenida del Puerto, 20-1 12010 12309348 Palau Martınez, Jorge Raval de Sant Josep, 97-2 12003 12309354 Murrıa Vinaiza, Jose Ciudadela, 90-18 12003 12309357 Huguet Peris, Juan Angel Calle Mestre Rodrigo, 7 12100 12309

PUEBLOScodpue nombre codpro07766 Burriana 1212309 Castellon 1217859 Enramona 1246332 Soneja 1253596 Vila-real 12

Ej: obtener los nombres de los pueblos en los que hay clientes

Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional

Page 19: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa

Ejemplo de Producto Cartesiano

TEMP1 ← π<codpue>(CLIENTES)TEMP2 ← TEMP1 × PUEBLOSTEMP3 ← σ<TEMP1.codpue=PUEBLOS.codpue>(TEMP2)RESULTADO ← π<nombre>(TEMP3)

TEMP1 PUEBLOS TEMP2

codpue535960776612309

codpue nombre codpro07766 Burriana 1212309 Castellon 1217859 Enramona 1246332 Soneja 1253596 Vila-real 12

TEMP1.codpue PUEBLOS.codpue nombre codpro53596 07766 Burriana 1253596 12309 Castellon 12. . . . . . . . . . . .53596 53596 Vila-real 12. . . . . . . . . . . .

TEMP3 RESULTADOTEMP1.codpue PUEBLOS.codpue nombre codpro53596 53596 Vila-real 1207766 07766 Burriana 1212309 12309 Castellon 12

nombreVila-realBurrianaCastellon

Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional

Page 20: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

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

Page 21: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa

Indice

1 Introduccion

2 Operaciones basicas

3 Operaciones de la Teorıa de Conjuntos

4 Operaciones derivadas

5 Otros

6 Bibliografıa

Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional

Page 22: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

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

Page 23: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

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

Page 24: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

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

Page 25: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa

Ejemplo de CONCATENACION

CLIENTEScodcli cliente direccion codpostal codpue333 Sos, Jesus Mosen Compte, 14 12964 53596336 Miguel, Ramon Bernardo Mundina, 132-5 12652 07766342 Pinel, Vicente Francisco Sempere, 37-10 12112 07766345 Lopez, Mauro Avenida del Puerto, 20-1 12010 12309348 Palau, Jorge Raval de Sant Josep, 97-2 12003 12309354 Murrıa, Jose Ciudadela, 90-18 12003 12309357 Huguet, Juan Calle Mestre Rodrigo, 7 12100 12309

PUEBLOScodpue nombre codpro07766 Burriana 1212309 Castellon 1217859 Enramona 1246332 Soneja 1253596 Vila-real 12

Obtener los nombres de las poblaciones en la que hay clientes

Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional

Page 26: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa

Ejemplo de Concatenacion

TEMP ← CLIENTES ∗ PUEBLOSRESULTADO ← π<nombre>(TEMP)

TEMPcodcli cliente direccion codpostal codpue nombre codpro333 Sos, Jesus Mosen Compte, 14 12964 53596 Vila-real 12336 Miguel, Ramon Bernardo Mundina, 132-5 12652 07766 Burriana 12342 Pinel, Vicente Francisco Sempere, 37-10 12112 07766 Burriana 12345 Lopez, Mauro Avenida del Puerto, 20-1 12010 12309 Castellon 12348 Palau, Jorge Raval de Sant Josep, 97-2 12003 12309 Castellon 12354 Murrıa, Jose Ciudadela, 90-18 12003 12309 Castellon 12357 Huguet, Juan Calle Mestre Rodrigo, 7 12100 12309 Castellon 12

RESULTADOnombreVila-realBurrianaCastellon

Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional

Page 27: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

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

Page 28: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

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

Page 29: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa

Operacion DIVISION

La DIVISION R(Z )÷ S(X ) puede expresarse como unasecuencia de operaciones π, × y − del siguiente modo:

TEMP1 ← πY (R) donde Y = Z − XTEMP2 ← πY ((S × TEMP1)− R)RESULTADO ← TEMP1 − TEMP2

Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional

Page 30: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa

Ejemplo de Division

VENDEDOREScodven nombre direccion codpostal codpue codjefe5 Guillen, Natalia Sant Josep, 110 12597 53596 105105 Poy, Paloma Tarazona, 103-1 12257 46332 NULL155 Rubert, Diego Sol, 154 12425 17859 5455 Agost, Jorge Pasaje, 21-19 12914 53596 5

FACTURAScodfac fecha codcli codven iva dto6643 16/07/2010 333 105 18 106645 16/07/2010 336 105 0 206654 31/07/2010 333 155 8 06659 08/08/2010 333 5 0 06680 10/09/2010 333 455 8 06723 06/11/2010 342 5 18 06742 17/12/2010 312 105 8 20

Obtener la lista de los codigos de los clientes que han relizadocompras a todos los vendedores

Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional

Page 31: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa

Ejemplo de division

TEMP1 ← π<codcli ,codven>(FACTURAS)TEMP2 ← π<codven>(VENDEDORES)RESULTADO ← TEMP1 ÷ TEMP2

TEMP1 TEMP2 TEMP1 ÷ TEMP2codcli codven333 105336 105333 155333 5333 455342 5312 105

codven5105155455

codcli333

Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional

Page 32: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa

Indice

1 Introduccion

2 Operaciones basicas

3 Operaciones de la Teorıa de Conjuntos

4 Operaciones derivadas

5 Otros

6 Bibliografıa

Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional

Page 33: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

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

Page 34: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

Introduccion Operaciones basicas Operaciones de Ta de Conjuntos Operaciones derivadas Otros Bibliografıa

Indice

1 Introduccion

2 Operaciones basicas

3 Operaciones de la Teorıa de Conjuntos

4 Operaciones derivadas

5 Otros

6 Bibliografıa

Luis Valencia Cabrera ([email protected]) Bases de DatosAlgebra Relacional

Page 35: Luis Valencia Cabrera (lvalencia@us.es) · Una secuencia de operaciones de ´algebra relacional conforma una expresi´on de ´algebra relacional, cuyo resultado ser ´a tambi´en

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