algebra relacional - bases de datos 2 - tecnologo de …...secuencia de operaciones descripción...
TRANSCRIPT
![Page 1: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/1.jpg)
Algebra RelacionalBases de Datos 2 - Tecnologo de Informatica
BD2 - Algebra Relacoinal
![Page 2: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/2.jpg)
Outline
1 IntroducciónVision general
2 OperadoresOperaciones relacionales unariasOperaciones de la teoría de conjuntosOperadores derivados
3 Árbol de consulta
4 Operadores relacionales adicionales
BD2 - Algebra Relacoinal
![Page 3: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/3.jpg)
Outline
1 IntroducciónVision general
2 OperadoresOperaciones relacionales unariasOperaciones de la teoría de conjuntosOperadores derivados
3 Árbol de consulta
4 Operadores relacionales adicionales
BD2 - Algebra Relacoinal
![Page 4: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/4.jpg)
Outline
1 IntroducciónVision general
2 OperadoresOperaciones relacionales unariasOperaciones de la teoría de conjuntosOperadores derivados
3 Árbol de consulta
4 Operadores relacionales adicionales
BD2 - Algebra Relacoinal
![Page 5: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/5.jpg)
Visión general
Conjunto de operadores para consultar BD- Rs.Define conjunto de ops estándar en BD- Rs.Operadores que reciben relaciones y devuelvenrelaciones:
Sobre conjuntos de tuplas:Unión, Diferencia, Producto Cartesiano.
Específicos para BDs Rel.Selección, Proyección, Join.
BD2 - Algebra Relacoinal
![Page 6: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/6.jpg)
El Algebra Relacional
SintaxisQué 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 puedaaplicar el operador?.
BD2 - Algebra Relacoinal
![Page 7: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/7.jpg)
Outline
1 IntroducciónVision general
2 OperadoresOperaciones relacionales unariasOperaciones de la teoría de conjuntosOperadores derivados
3 Árbol de consulta
4 Operadores relacionales adicionales
BD2 - Algebra Relacoinal
![Page 8: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/8.jpg)
Outline
1 IntroducciónVision general
2 OperadoresOperaciones relacionales unariasOperaciones de la teoría de conjuntosOperadores derivados
3 Árbol de consulta
4 Operadores relacionales adicionales
BD2 - Algebra Relacoinal
![Page 9: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/9.jpg)
SelecciónDescripción general
Permite obtener las tuplas que cumplen una ciertacondición.Sintaxis:
σ<condicion>(< relacion >)
donde:condicion es una condición lógica sobre valores de losatributos de las tuplas resultado.relacion es una relación o expresión relacional
BD2 - Algebra Relacoinal
![Page 10: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/10.jpg)
SelecciónDescripción general
Sea R una relación y θ una condición.
σθ(R)
da como resultado otra relacióncon esquema igual que el de Rcon instancia el conjunto de tuplas de las instancias de Rque cumplen con θ
BD2 - Algebra Relacoinal
![Page 11: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/11.jpg)
SelecciónEjemplos
Figura : Esq. base de datos relacional Empresa
BD2 - Algebra Relacoinal
![Page 12: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/12.jpg)
SelecciónEjemplos
σAPELLIDO1=GONZALEZ (EMPLEADO)
σSUELDO>3000 (EMPLEADO)
σAPELLIDO1=GONZALEZ and SUELDO>3000 (EMPLEADO)
σnot (APELLIDO1=GONZALEZ and SUELDO>3000) (EMPLEADO)
σAPELLIDO1=APELLIDO2 (EMPLEADO)
BD2 - Algebra Relacoinal
![Page 13: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/13.jpg)
SelecciónEjemplos
σAPELLIDO1=GONZALEZ (EMPLEADO)
σSUELDO>3000 (EMPLEADO)
σAPELLIDO1=GONZALEZ and SUELDO>3000 (EMPLEADO)
σnot (APELLIDO1=GONZALEZ and SUELDO>3000) (EMPLEADO)
σAPELLIDO1=APELLIDO2 (EMPLEADO)
BD2 - Algebra Relacoinal
![Page 14: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/14.jpg)
ProyecciónDescripción general
Permite obtener las tuplas con un cierto conjunto deatributos.Sintaxis:
π<lista_atributos> (< relacion >)
donde:lista_atributos es una lista de atributos a aparecer en larelación resultado.relacion es una relación o expresión relacional
BD2 - Algebra Relacoinal
![Page 15: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/15.jpg)
ProyecciónDescripción general
Sea R una relación.
πA1,...,An (R)
da como resultado otra relacióncon esquema (A1, . . . ,An)con tuplas formadas a partir de las de R tomando losvalores para los atributos A1, . . . ,An
Observación: Como no se admiten tuplas repetidas, al realizaruna proyección, podrían quedar menos tuplas que en larelación de partida.
BD2 - Algebra Relacoinal
![Page 16: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/16.jpg)
ProyecciónEjemplos
πSEXO,SUELDO (EMPLEADO)
BD2 - Algebra Relacoinal
![Page 17: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/17.jpg)
Secuencia de operacionesDescripción general
Podemos escribir las operaciones como una únicaexpresión de álgebra relacional anidando dichasoperaciones, o aplicar una sola expresión una única vez ycrear 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)
BD2 - Algebra Relacoinal
![Page 18: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/18.jpg)
Outline
1 IntroducciónVision general
2 OperadoresOperaciones relacionales unariasOperaciones de la teoría de conjuntosOperadores derivados
3 Árbol de consulta
4 Operadores relacionales adicionales
BD2 - Algebra Relacoinal
![Page 19: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/19.jpg)
UniónDescripción general
Permite obtener la Unión de dos relaciones tomadas comoconjuntos de tuplas.Sintaxis:
(< relacion >)⋃
(< relacion >)
donde:relacion es una relación o expresión relacional
BD2 - Algebra Relacoinal
![Page 20: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/20.jpg)
UniónDescripción general
Sean R y S dos relaciones con igual esquema (ocompatible).
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 lasde S.
BD2 - Algebra Relacoinal
![Page 21: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/21.jpg)
IntersecciónDescripción general
Permite obtener la Intersección de dos relaciones tomadascomo conjuntos de tuplas.Sintaxis:
(< relacion >)⋂
(< relacion >)
donde:relacion es una relación o expresión relacional
BD2 - Algebra Relacoinal
![Page 22: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/22.jpg)
IntersecciónDescripción general
Sean R y S dos relaciones con igual esquema (ocompatible).
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 deR y las de S.
BD2 - Algebra Relacoinal
![Page 23: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/23.jpg)
DiferenciaDescripción general
Permite obtener la Diferencia de dos relaciones tomadascomo conjuntos de tuplas.Sintaxis:
(< relacion >)− (< relacion >)
donde:relacion es una relación o expresión relacional
BD2 - Algebra Relacoinal
![Page 24: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/24.jpg)
DiferenciaDescripción general
Sean R y S dos relaciones con igual esquema (ocompatible).
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 Rmenos las de S.
BD2 - Algebra Relacoinal
![Page 25: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/25.jpg)
CuestionarioUnió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 restatambién lo es?
BD2 - Algebra Relacoinal
![Page 26: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/26.jpg)
Producto CartesianoDescripción general
Permite obtener el Producto Cartesiano de dos relacionestomadas como conjuntos de tuplas.Sintaxis:
(< relacion >)× (< relacion >)
donde:relacion es una relación o expresión relacional
BD2 - Algebra Relacoinal
![Page 27: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/27.jpg)
Producto CartesianoDescripción general
Sean R y S dos relaciones con esquemas (A1, . . . ,An) y(B1, . . . ,Bm) respectivamente.
La operación:
(R × S)da como resultado otra relación
cuyo esquema es (A1, . . . ,An,B1, . . . ,Bm)y cuyas tuplas son generadas por todas las combinacionesposibles de las de R con las de S.
BD2 - Algebra Relacoinal
![Page 28: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/28.jpg)
Producto CartesianoEjemplos
FABS
#f Nombre Direcc1 Juan d12 Pedro d24 Maria d35 Ana d26 Pedro d49 Pepe d510 Laura d413 Maria d315 Pedro d116 Oscar d319 Juan d4
PRODS
#p Desc1 t12 t23 t35 t26 t37 t49 t210 t111 t312 t215 t3
VENTAS
#f #p Precio1 1 1001 2 2001 3 3001 10 10001 11 11002 3 3502 6 6002 7 7005 3 3505 5 2009 7 1009 3 30010 3 400
BD2 - Algebra Relacoinal
![Page 29: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/29.jpg)
Producto CartesianoEjemplos
σ#p<3 (PRODS)× σ#p<3 (VENTAS)
da como resultado:
#p Desc #f #p Precio1 t1 1 1 1001 t1 1 2 2002 t2 1 1 1002 t2 1 2 200
Este operador permite combinar las tuplas de dos tablas
BD2 - Algebra Relacoinal
![Page 30: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/30.jpg)
Producto CartesianoEjemplos
π$2,$3,$4,$5 (σ$1<3 (PRODS)× σ$2<3 (VENTAS))
da como resultado:
Desc #f #p Preciot1 1 1 100t1 1 2 200t2 1 1 100t2 1 2 200
La notación de atributos numerados también puede serusada en la selección.
BD2 - Algebra Relacoinal
![Page 31: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/31.jpg)
Outline
1 IntroducciónVision general
2 OperadoresOperaciones relacionales unariasOperaciones de la teoría de conjuntosOperadores derivados
3 Árbol de consulta
4 Operadores relacionales adicionales
BD2 - Algebra Relacoinal
![Page 32: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/32.jpg)
Operadores DerivadosOperaciones 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 losbásicos, pero que expresan operaciones importantes dadoque se usan habitualmente.Estos operadores son:
Join: Permite expresar la combinación de tablas.División: Permite obtener los datos que se relacionan contodos los elementos de otro conjunto.
BD2 - Algebra Relacoinal
![Page 33: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/33.jpg)
JoinDescripción general
Permite combinar tuplas de dos relaciones a través de unacondición sobre los atributos.Corresponde a una Selección sobre el ProductoCartesiano de las relaciones
Sintaxis:
(< relacion >) on<condicion> (< relacion >)
BD2 - Algebra Relacoinal
![Page 34: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/34.jpg)
JoinDescripció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 lacondición del join, se genera una tupla en el resultado.
Para que se genere una tupla en el resultado alcanza conque exista una tupla en R y otra en S que se “conecten”por la condición del Join.
BD2 - Algebra Relacoinal
![Page 35: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/35.jpg)
Θ-JoinDescripción general
Sean R y S dos relaciones y θ una condición, la operación:
R onθ S
es equivalente a realizar:
σθ (R × S)
¿Cuál es el esquema resultado?
BD2 - Algebra Relacoinal
![Page 36: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/36.jpg)
Join NaturalDescripción general
Sean R y S dos relaciones, la operación:
R ∗ Ses equivalente a realizar:
Θ-Join con la condición de igualdad entre los atributos deigual nombrey luego proyectar eliminando columndas con nombrerepetido
BD2 - Algebra Relacoinal
![Page 37: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/37.jpg)
Join NaturalEjemplos
1 Dar los nombres de fabricantes y la descripción de losproductos 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)
BD2 - Algebra Relacoinal
![Page 38: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/38.jpg)
DivisiónDescripción general
Sean R y S dos relaciones con esquemas(A1, . . . ,An,B1, . . . ,Bm) y (B1, . . . ,Bm) respectivamente.
La operación:
(R ÷ S)da como resultado otra relación
cuyo esquema es (A1, . . . ,An)y su contenido son las tuplas tomadas a partir de las der (R) tales que su valor (a1, . . . ,an) está asociado en r (R)con TODOS los valores (b1, . . . ,bm) que están en s (S)
BD2 - Algebra Relacoinal
![Page 39: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/39.jpg)
DivisiónEjemplos
Sean R y S, y Q = R ÷ S
R( A, B ) S( B ) Q( A )a1 b1 b1 a2a1 b2 b2 =⇒a2 b1 b3a2 b2a2 b3a2 b4a3 b1a3 b3
BD2 - Algebra Relacoinal
![Page 40: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/40.jpg)
DivisiónEjemplos
Observación: Las tuplas solución deben estarrelacionadas con todos los valores de S, pero NO se exigeque lo este solo con esos valores. Pueden estarrelacionadas con otros valoresEjemplo:
Dar los #p vendidos por todos los fabricantesResultado: π#p,#f (VENTAS) ÷ π#f (FABS)
BD2 - Algebra Relacoinal
![Page 41: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/41.jpg)
DivisiónEjemplos
1 Dar los #p vendidos por todos los fabricantes que vendenalgún producto.
π#p,#f (VENTAS) ÷ π#f (VENTAS)
2 Dar los #f que venden todos los productos vendidos poralgún fabricante.
π#f ,#p (VENTAS) ÷ π#p (VENTAS)
BD2 - Algebra Relacoinal
![Page 42: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/42.jpg)
DivisiónEjemplos
3 Dar los #f que venden todos los productos con descripción"t1".
VEND_T1←− π#f ,#p (VENTAS) ÷ π#f (σDesc=t1 (PRODS))
4 Dar nombre y dirección de fabricantes que venden todoslos productos con descripción "t1".
πNombre,Direc (FABS ∗ VEND_T1)
BD2 - Algebra Relacoinal
![Page 43: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/43.jpg)
DivisiónEn función de operadores base
La división se puede expresar en función de operadores base.T (X )← R(X ,Y ) ÷ S(Y )
T1← πX (R)
Valores base a incluir en el resultado.T2← πX ((T 1× S)− R)
Tuplas de R a las que les falta relacionarse en R con algúnelemento de S.Lo que NO se quiere en el resultado.
T ← T 1− T 2
BD2 - Algebra Relacoinal
![Page 44: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/44.jpg)
DivisiónEn función de operadores base
La división se puede expresar en función de operadores base.T (X )← R(X ,Y ) ÷ S(Y )
T1← πX (R)
Valores base a incluir en el resultado.T2← πX ((T 1× S)− R)
Tuplas de R a las que les falta relacionarse en R con algúnelemento de S.Lo que NO se quiere en el resultado.
T ← T 1− T 2
BD2 - Algebra Relacoinal
![Page 45: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/45.jpg)
DivisiónEn función de operadores base
La división se puede expresar en función de operadores base.T (X )← R(X ,Y ) ÷ S(Y )
T1← πX (R)
Valores base a incluir en el resultado.T2← πX ((T 1× S)− R)
Tuplas de R a las que les falta relacionarse en R con algúnelemento de S.Lo que NO se quiere en el resultado.
T ← T 1− T 2
BD2 - Algebra Relacoinal
![Page 46: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/46.jpg)
Outline
1 IntroducciónVision general
2 OperadoresOperaciones relacionales unariasOperaciones de la teoría de conjuntosOperadores derivados
3 Árbol de consulta
4 Operadores relacionales adicionales
BD2 - Algebra Relacoinal
![Page 47: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/47.jpg)
Árbol de consultasRepresentación de consultas
Notación usada habitualmente en sistemas relacionalespara representar consultas internamente.Recibe el nombre de árbol de consulta, o también árbol deevaluación de consulta o árbol de ejecución de consulta.Es una estructura de datos en árbol que se correspondecon una expresión de álgebra relacional.Representa:
Las relaciones de entrada de la consulta como los nodoshoja del árbol.Las operaciones como nodos internos.
BD2 - Algebra Relacoinal
![Page 48: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/48.jpg)
Árbol de consultasEjecució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 seobtiene la relación resultante de la consulta.
BD2 - Algebra Relacoinal
![Page 49: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/49.jpg)
Árbol de consultasEjemplo
πNumProyecto,NumDptoProyecto,Apellido1,Direccion,FechaNac
(((σUbicacionProyecto=′Gijon′(PROYECTO))
onNumDptoProyecto=NumeroDpto (DEPARTAMENTO))
onDniDirector=Dni (EMPLEADO))
¿Qué árbol representa esta consulta?¿Cuál es su orden de ejecución?
BD2 - Algebra Relacoinal
![Page 50: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/50.jpg)
Árbol de consultaEjemplo
πNumProyecto,NumDptoProyecto,Apellido1,Direccion,FechaNac
onD.DniDirector=E .Dni
onP.NumDptoProyecto=D.NumeroDpto
σP.UbicacionProyecto=′Gijon′
P PROYECTO
D DEPARTAMENTO
E EMPLEADO
BD2 - Algebra Relacoinal
![Page 51: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/51.jpg)
Outline
1 IntroducciónVision general
2 OperadoresOperaciones relacionales unariasOperaciones de la teoría de conjuntosOperadores derivados
3 Árbol de consulta
4 Operadores relacionales adicionales
BD2 - Algebra Relacoinal
![Page 52: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/52.jpg)
Operadores relacionales adicionales
Projección generalizada: πF1,F2,Fn (R)
Funciones de agregación: SUM, AVERAGE, MAXIMUM,MINIMUM, COUNTFunción de agrupamiento:<atributos_agrupacion>=<lista_funciones> (R)
Operaciones de recursión: Cierre recursivoConcatenación Externa (Outer Join)Union Externa (Outer Union)
BD2 - Algebra Relacoinal
![Page 53: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/53.jpg)
RecursiónCierre Recursivo
El cierre recursivo es una operación que se aplica a unarelació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 losniveles de recursividad.
BD2 - Algebra Relacoinal
![Page 54: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/54.jpg)
RecursiónCierre Recursivo
Figura : Supervisados por Ochoa directamente
Figura : Los supervisados por los que supervisa Ochoa
BD2 - Algebra Relacoinal
![Page 55: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/55.jpg)
Concatenación ExternaOuter Join
Permiten preservar como resultado del Join todas lastuplas en R, o en S, o aquellas en ambas relacionesidependientemente de si tienen tuplas “conectadas” en laotra relación.
BD2 - Algebra Relacoinal
![Page 56: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/56.jpg)
Concatenación ExternaOuter Join
Concatenación externa izquierda:
R o<condicion> S
Concatenación externa derecha:
R n<condicion> S
Concatenación externa completa (Full Outer Join)
BD2 - Algebra Relacoinal
![Page 57: Algebra Relacional - Bases de Datos 2 - Tecnologo de …...Secuencia de operaciones Descripción general Podemos escribir las operaciones como una única expresión de álgebra relacional](https://reader033.vdocuments.net/reader033/viewer/2022052216/609c7e9708e92c50a93491e5/html5/thumbnails/57.jpg)
Unión Externa
Permite obtener la unión de tuplas de dos relaciones en elcaso de que esas relaciones no sean compatibles con launión.Sean R(X,Y) y S(X,Z) dos relaciones que son parcialmentecompatibles, la unión externa da como resultado unarelación de la forma T(X,Y,Z)
BD2 - Algebra Relacoinal