![Page 1: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/1.jpg)
Algebra Relacional
Gestión y Modelación de Datos
![Page 2: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/2.jpg)
Algebra Relacional • Lenguaje de consulta
• Procedimental (énfasis en el “como”)
• Consta de: – Operandos: relaciones – Operadores: aplicados sobre relaciones
• Cerrada: el resultado es también una relación
• Las operaciones se pueden componer
![Page 3: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/3.jpg)
Algebra Relacional
• Operaciones Fundamentales: – Selección, Proyección, Unión, Diferencia,
Producto Cartesiano, Renombramiento
• Operaciones qe se definen en términos de las fundamentales: – Intersección, Join Natural, División,
Asignación
![Page 4: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/4.jpg)
Selección (σ)
• Selecciona las tuplas que satisfacen un predicado (condición)
σcondición (relación)
Ejemplo: σcod_dpto = 1001(departamento)
cod_dpto nom_dpto ced_jefe cod_sucursal 1001 GERENCIA GENERAL 100101 2501
![Page 5: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/5.jpg)
Selección (σ)
R2 = σc (R1)
• R2 contiene todas las tuplas de R1 que satisfacen c
• Los esquemas de R1 y R2 son iguales
σc (r) = { t | t pertenece a r y c(t)}
![Page 6: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/6.jpg)
Selección (σ)
• La condición esta formada por un término, o varios términos unidos con operadores and (∧), or (∨)
• Los términos son de la forma: atributo op atributo
atributo op constante Donde op puede ser: =, ≠, <, >, ≤, ≥
![Page 7: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/7.jpg)
Selección (σ) • Es conmutativa σc1 (σc2 (σc3 (R))) = σc3 (σc2 (σc1 (R)))
• Una secuencia se puede reemplazar por conjunción de condiciones σc1 (σc2 (σc3 (R))) = σc1∧c2∧c3 (R)
Ej. R es: empleado, c1 es: salario > 1000000 c2 es: cod_dpto = 1001 c3 es: ced_jefe = 200101
![Page 8: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/8.jpg)
Proyección (π)
• Permite seleccionar ciertas columnas • Se eliminan las filas duplicadas (las
relaciones son conjuntos)
πatt1, att2, …attk (relación)
![Page 9: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/9.jpg)
Proyección (π)
Ejemplo: πnom_dpto, ced_jefe (departamento)
nom_dpto ced_jefe
GERENCIA GENERAL 100101
GERENCIA FINANCIERA 100301
DIRECCION DE VENTAS 100201
DIRECCION DE MERCADEO
REGIONAL INTERNACIONAL 200101
REGIONAL EEUU 300101
REGIONAL ESPAÑA
REGIONAL ESPAÑA 2
![Page 10: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/10.jpg)
Proyección (π)
R2 = πL (R1)
• L es una lista de atributos: att1, att2,… attk
• R2 contiene todas los atributos att1, att2,… attk de las tuplas de R1
• R2 no tiene tuplas duplicadas
![Page 11: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/11.jpg)
Proyección (π)
• NO es conmutativa
• πL1 (πL2 (R1)) = πL1 (R1) cuando los atributos de L1 estan incluidos en L2
• Proyección extendida: la lista de atributos puede contener expresiones
πA+B C(R1)
![Page 12: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/12.jpg)
Composición de Operaciones
Ejemplo: πnom_dpto, ced_jefe (σcod_dpto = 1001(departamento))
nom_dpto ced_jefe GERENCIA GENERAL 100101
![Page 13: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/13.jpg)
Ejercicio
• Con base en el esquema de la base de datos de empleados, escriba en algebra relacional las siguientes consultas: – Nombres, apellidos y fecha de ingreso de los
empleados del departamento 4001 – Nombre y fecha de ingreso de los
empleados con salario mayor a 1.000.000 – Nombres, apellidos, y valor de la prima de
cada empleado (la prima es medio salario)
![Page 14: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/14.jpg)
Producto Cartesiano (×) • Permite combinar la información de dos
relaciones R1 × R2
Ejemplo: país x región
R3 = R1 × R2 • Cada tupla t1 de R1 se combina
(concatena) con una tupla t2 de R2 • El esquema de R3 se forma con los atributos
de R1 y R2 • Si A es un atributo de R1 y también de R2,
usar R1.A o R2.A
![Page 15: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/15.jpg)
Producto Cartesiano (×) Departamento
DID Nombre Ciudad d1 dpto1 Cali d2 dpto2 Bta d3 dpto3 Cali d4 dpto4
Empleado EID Nombres Apellidos Sueldo Departamento e1 emp1 ap1 10 d1
e2 emp2 ap2 20 d2
e3 emp3 ap3 10
e4 emp4 ap4 50 d2
e5 emp5 ap5 d3
e6 emp6 ap6 30
DID Nombre Ciudad EID Nombres Apellidos Sueldo Departamento d1 dpto1 Cali e1 emp1 ap1 10 d1
d1 dpto1 Cali e2 emp2 ap2 20 d2
d1 dpto1 Cali e6 emp6 ap6 30
d2 dpto2 Bta E1 emp1 ap1 10 d1
d2 dpto2 Bta e6 emp6 ap6 30
d4 dpto4 e6 emp6 ap6 30
…
…
…
Departamento x Empleado
![Page 16: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/16.jpg)
Renombramiento (ρ)
• Permite renombrar atributos y relaciones • Para nombrar el resultado de un
producto cartesiano de una relación consigo misma (R1 x R1) ρs(a1,a2,..,ak)(E) ρs(E) ρ(a1,a2,..,ak)(E)
• Asigna el nombre S a la relación resultante de la expresión E, y los nombres a1, a2, … , ak a sus atributos
![Page 17: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/17.jpg)
Renombramiento (ρ)
Ejemplo: σ empleado.ced_jefe= jefe.cedula (empleado x
ρ jefe (empleado))
σ ced_jefe = cedula_jefe (empleado x ρ jefe(cedula_jefe,nom_jefe,ape_jefe) (π cedula,
nombres, apellidos(empleado))
![Page 18: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/18.jpg)
Unión (u)
• Retorna la unión de los conjuntos de tuplas de dos relaciones
R1 u R2
• R1 y R2 deben ser compatibles: – Tener la misma aridad – Dominios compatibles en las columnas
correspondientes • Las tuplas duplicadas se eliminan
![Page 19: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/19.jpg)
Unión (u)
Ejemplo: πnom_region(region) u πnom_pais(pais)
![Page 20: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/20.jpg)
Diferencia (-)
• Retorna la diferencia de los conjuntos de tuplas de dos relaciones (tuplas que están en la primera relación pero no en la segunda)
R1 - R2
• Las relaciones deben ser compatibles
![Page 21: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/21.jpg)
Diferencia (-)
Ejemplo:
σsalario < 2000000 (empleado) – σsalario < 1000000 (empleado)
![Page 22: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/22.jpg)
Ejercicios
• Escriba una expresión en algebra relacional para las siguientes consultas: – Nombres de los empleados de la sucursal
ubicada en la ciudad de bogotá – Las cedulas de los empleados que NO son jefes
de otros empleados – Los nombres de los empleados que ingresaron a
la compañía en la misma fecha que ‘Pedro’ ‘Perez Restrepo’
– Los nombres de los jefes de departamento y de los jefes de otros empleados
– El salario más alto (el máximo) de los empleados – Un full outer join entre empleado y
departamento
![Page 23: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/23.jpg)
Definición Formal del Algebra Relacional
![Page 24: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/24.jpg)
Definición Formal del Algebra Relacional
Las expresiones fundamentales del Algebra Relacional son: – Una relación de la base de datos – Una relación constante: listar tuplas entre
llaves {(101, Centro), (102,Sur), (103, Este)}
![Page 25: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/25.jpg)
Definición Formal del Algebra Relacional
Precedencia de los operadores (de más alta a más baja): 1. [ σ, π, ρ] 2. [ ×, [x] ] 3. ∩ 4. [ u, - ]
![Page 26: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/26.jpg)
Arboles de Expresión
• Hojas son operandos • Nodos internos son
operadores
πdepartamento.nom_dpto, empleado.nombres, empleado.apellidos (σ departamento.cod_dpto = empleado.cod_dpto (departamento × empleado))
π departamento.nom_dpto,
empleado.nombres, empleado.apellidos
σ departamento.cod_dpto =
empleado.cod_dpto
×
departamento empleado
![Page 27: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/27.jpg)
Otras operaciones
• No añaden potencia al algebra: se pueden definir en términos de las operaciones fundamentales
• Facilitan la escritura de consultas habituales
![Page 28: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/28.jpg)
Otras operaciones
• Intersección (∩) r ∩ s = r – (r – s)
• Join Natural ( [x] ): join con una condición de igualdad entre los atributos que aparecen en ambos esquemas
sucursal [x] país = σsucursal.cod_pais = pais.cod_pais (sucursal x país)
![Page 29: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/29.jpg)
Otras operaciones
• Theta-Join ([x]c): combina la selección (con condición c) y el producto cartesiano
r [x]c s = σc (r x s)
empleado [x]empleado.cod_dpto =
departamento.cod_dpto departamento = σempleado.cod_dpto = departamento.cod_dpto
(empleado x departamento)
![Page 30: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/30.jpg)
Otras operaciones
• División (÷): – Consultas que incluyen la
expresión “para todo” r ÷ s = πr – s(r) – πr – s((πr – s(r) × s) –
πr – s,s (r))
Si r(a1,a2,..am,b1,b2,…,bn) y s(b1,b2,…,bn) πr – s(r) tiene el esquema:
(a1,a2,..am)
![Page 31: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/31.jpg)
Otras operaciones r ÷ s
r ÷ s = { t | t ε πr-s(r) ∧ para todo u ε s ( tu ε r ) }
tu es la concatenación de las tuplas t y u
![Page 32: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/32.jpg)
Otras Operaciones
• Asignación – Crea nombres de relaciones temporales
Ejemplo: R3 R1 x R2
R4 σc (R3)
![Page 33: 9 Algebra Relacional - DECC | PUJC – Departamento de ...cic.puj.edu.co/.../fetch.php?media=materias:bd1:9_alg_relacional.pdf · Ejercicios • Escriba una expresión en algebra](https://reader031.vdocuments.mx/reader031/viewer/2022031213/5bd63d8609d3f2513e8d5d9b/html5/thumbnails/33.jpg)
Ejercicios (Fundamentals of Database Systems, Elmasri y Navathe)
Estudiante Profesor
a) ?
b) ?
c) ?
d) ?