Heinsohn Privacidad y Ciberseguridad para el sector educativo
Algebra relacional
1. ÁLGEBRA
RELACIONAL
S E T R A T A D E U N M É T O D O D E E X T R A C C I Ó N D E D A T O S
Q U E P E R M I T E M A N I P U L A R T A B L A S Y C O L U M N A S . S U
P R I N C I P I O S E B A S A E N L A C R E A C I Ó N D E T A B L A S
N U E V A S ( T A B L A S D E R E S U L T A D O S ) A P A R T I R D E L A S
T A B L A S E X I S T E N T E S ; E S T A S T A B L A S N U E V A S S E R Á N
O B J E T O S Q U E P O D R Á N E M P L E A R S E D E F O R M A
I N M E D I A T A .
2. ÁLGEBRA RELACIONAL
Lenguaje formal
(matemático) que
permite realizar
consultas en una base
de datos.
• Valores: se utilizan para
operar.
• Operadores:símbolos que se
usan para realizar
procedimientos.
Ayuda a desarrollar
habilidades para el
diseño de consultas
SQL.
Algunos SGBDR
utilizan el álgebra
relacional para la
ejecución de consultas
SQL, permitiendo
escoger la consulta
más óptima para
ejecutar.
Los operadores del
álgebra relacional que
permiten crear tablas
de resultados se basan
en la teoría de
conjuntos.
3. PASOS PARA ELABORAR CONSULTAS
EN ÁLGEBRA Leer
atentamente el
enunciado.
Identificar a
donde se quiere
llegar.
Detectar las
tablas que están
involucradas en
el problema.
Desarrollar el
problema.
Mostrar los
datos que se
piden.
4. ESTRUCTURA BÁSICA DE ÁLGEBRA
RELACIONAL
Una sentencia
de álgebra
relacional se
comprende
de:
Relación o
variable donde
se guarda los
resultados del
procedimiento.
Procedimiento
que se ejecuta.
La tabla,
relación o
procedimiento
dónde se
ejecuta el
procedimiento
R1 procedimiento (tabla)
O
R1 procedimiento (relación)
O
R1 procedimiento (procedimiento)
5. ESTRUCTURA BÁSICA DE ÁLGEBRA
RELACIONAL
Sentencia en álgebra Ejemplo
Rn procedimiento (tabla) Rf π id_empleado, nombre_empleado (EMPLEADOS)
Rn procedimiento (relación)
Rn procedimiento (procedimiento)
R1 σ id_empleado = 1 (EMPLEADOS)
Rf π id_empleado, nombre_empleado (R1)
Rf π id_empleado, nombre_empleado (σ id_empleado
= 1(EMPLEADOS))
R: es la variable donde se guarda el procedimiento.
Rn: las variables deben llevar un orden (ej: R1, R2, …, Rn) para saber la secuencia de ejecución de la
consulta. Para indicar que es el último procedimiento se coloca Rf (relación final).
6. SÍMBOLOS PARA REALIZAR CONSULTAS
DE ÁLGEBRA RELACIONAL
Básicos
● Selección
● Proyección
● Producto
● Unión
● Intersección
● Diferencia
● Renombre
Adicionales
● Asignación
● Unión natural (JOIN)
● División
● Alias
7. OPERADORES
• La unión entre dos relaciones
con la misma estructura (grado
y dominios) proporciona una
tabla resultante con la misma
estructura y cuyos elementos
son el conjunto de los
elementos diferentes de las dos
relaciones iniciales.
• Notación: Rx = R1U R2
Unión
Ejemplo: Sean las tablas CLIOESTE y CLICENTRO
Clientes de las regiones:
CLIENTES=CLIOESTE U CLICENTRO
8. OPERADORES
• La intersección entre dos
relaciones de la misma
estructura (grado y dominios)
proporciona una tabla resultante
de la misma estructura y cuyos
elementos son el conjunto de
los elementos comunes a ambas
relaciones iniciales.
• Notación: Rx = R1 ∩ R2
Intersección
Ejemplo
Los clientes comunes a las dos regiones son:
CLICOMUN=CLIOESTE ∩ CLICENTRO
9. OPERADORES
• La diferencia entre dos relaciones
con la misma estructura (grado y
dominios) proporciona una tabla
resultante con la misma
estructura y cuyos elementos son
el conjunto de los elementos de la
primera relación que no se
encuentran en la segunda relación.
• Notación: Rx = R1 - R2
Diferencia
Ejemplo
Los clientes que sólo pertenecen a la región
OESTE son:
CLIOESTESOLO=CLIOESTE - CLICENTRO
10. OPERADORES
• La restricción de acuerdo con una
condición produce, a partir de una
relación, otra relación con el
mismo esquema y que sólo
contiene los elementos de la
relación inicial que cumplen la
condición.
• Notación: Rx = σ (condición) R1
Restricción
Operador
Un operador de comparación: =, <>, >, <, >=, <=
Valor
una constante u otro atributo.
Ejemplos
Clientes de ORENSE
CLIORENSE=σ(DIRECCION= )CLIOESTE"ORENSE"
12. OPERADORES
• La proyección de una relación sobre
un grupo de atributos da lugar a una
relación resultante que tiene como
esquema solamente dichos atributos
y como elementos las distintas n-
tuplas compuestas por los valores
asociados a dichos atributos.
• Notación: Rx = Rп(A1,A2,..An).
• Rn π columna1, …, columnaN
(tabla/relación/procedimiento)
Proyección
Ejemplos
Pedidos y estado de los pedidos:
PED= п PEDIDOS(NUMEROPED,NUMEROCLI,ESTADOPED)
13. Proyección generalizada (π): Hace la misma funcionalidad de proyección pero
permite hacer operaciones entre columnas o columnas de relaciones.
Rn <- π columna1, …, columnaN + columnaM (tabla/relación/procedimiento)
Se pueden utilizar operadores como: *, /, -, +
14. OPERADORES
• A los resultados de las
operaciones de columnas, se les
puede colocar un nombre (alias),
con el fin de generar una mayor
claridad en el resultado. Si no se
coloca un alias las columnas se
generan sin nombre.
• Rn π (columnaN + columnaM )
as nuevo_nombre
(tabla/relación/procedimiento)
Alias (as)
15. OPERADORES
• Símbolo que se utiliza para
cambiar el nombre de una
columna de una tabla.
• Rn ρ columna_nueva
columna_antigua
(tabla/relación/procedimiento)
Renombre
(ρ)
16. OPERADORES
• Símbolo utilizado cuando se necesita filtrar
información a partir de condicionales en
una tabla, relación o procedimiento.
• Rn <- σ condicional(es)
(tabla/relación/procedimiento)
• Se pueden realizar condicionales con los
siguientes símbolos:
• Con número: =, >, >=, <, <=, <>
• Con caracteres:<>, =, like
• Para unir varios condicionales se puede
usar: ^ (y), v (o)
Selección
(σ)
R1 -> σ salario_empleado >= 200000 (EMPLEADOS)
17. Rf σ nombre_empleado LIKE ‘%an%’ (EMPLEADOS)
• Like: significa que contiene.
• %, significa que puede o no existir caracteres
Para el ejemplo anterior dice que donde el nombre del empleado contenga la palabra an.
• Si fuera ‘%an’ dice que el nombre del empleado termine en an.
• Si fuera ‘an%’ que el nombre del empleado empiece con an.
18. Rf σ nombre_empleado LIKE ‘%an%’ ^ salario_empleado < 200000 (EMPLEADOS)
El condicional dice: seleccionar donde el nombre empleado contenga an y el salario sea menor a
200000.
19. OPERADORES
• El producto cartesiano de dos
relaciones da como resultado una
relación que tiene como esquema
todos los atributos de las dos
relaciones existentes y como
elementos la asociación de cada
línea de la primera tabla con cada
línea de la segunda tabla.
• Notación: Rx = S1 X S2
• Rn tabla1 X tabla2
Producto
cartesiano
INVENTARIO = DEPOSITO X ART2
20.
21. OPERADORES
• La combinación entre dos
relaciones de acuerdo a una
condición se obtiene aplicando
una restricción al producto
cartesiano.
• Notación: Rx = S1 JOIN
(condición) S2
• Rn σ tabla1 ⋈ abla1.columna1
= tabla2.columna2 (tabla2)
Combinaciones
Ejemplo: Sean las tablas PESEC y LINEASPED
LINEASPEDEC = PEDEC JOIN (PEDEC.NUMEROPED =
LINEASPED.NUMPED) LINEASPED