Álgebra Relacional AR - Marco General AR - SELECT AR

Anuncio
Introducción
Operaciones Unarias
Operaciones Binarias
Introducción
Operaciones Unarias
Operaciones Binarias
Marco General
AR - Marco General
Álgebra Relacional
Álgebra Relacional. Lenguaje formal utilizado en el modelo relacional
Permite a usuarios especificar consultas sobre instancias de relaciones
El resultado de una consulta es una nueva relación
Importancia.
1 Provee fundamento formal a las operaciones asociadas al modelo
relacional
2 Base para implementar y optimizar queries en RDBMS
3 Principales operaciones y funciones del los módulos internos de la mayorı́a
de los sistemas relacionales están basados en operaciones del AR
19/Agosto/2016
Técnica. Procedural (a diferencia del Cálculo Relacional que es de tipo
declarativo)
Operadores. Unarios y Binarios
Álgebra Relacional
Introducción
Operaciones Unarias
Operaciones Binarias
SELECT
PROJECT
RENAME
Álgebra Relacional
Introducción
Operaciones Unarias
Operaciones Binarias
AR - SELECT
SELECT
PROJECT
RENAME
AR - SELECT - Propiedades
Función. Selecciona un subconjunto de tuplas de
cierta condición
Notación. σ<condici ón de selecci ón> (R)
Ejemplo.
EMPLEADO
DNI
Nombre
Sexo
20222333
Diego
M
33456234
Laura
F
45432345
Marina
F
una relación que satisface
Operador Unario. Se aplica a una sola relación
Grado. Grado(σc (R)) = Grado(R)
# tuplas. |σc (R)| ≤ |R|
La fracción de tuplas seleccionadas se denomina selectividad de la condición
Salario
$20.000,00
$25.000,00
$10.000,00
Conmutatividad. σc1 (σc2 (R)) = σc2 (σc1 (R))
Cascada de SELECTs. σc1 (σc2 (...σcn (R))) = σc1 AND c2 AND ... AND cn (R)
SQL. Se especifica tı́picamente en la cláusula WHERE
Ejemplo. σSexo=F AND Salario>$15.000 (EMPLEADO) se puede corresponder con:
σSexo=F (EMPLEADO)
DNI
33456234
45432345
Nombre
Laura
Marina
Sexo
F
F
Salario
$25.000,00
$10.000,00
Sexo
F
Salario
$25.000,00
SELECT *
FROM EMPLEADO
WHERE Sexo=F AND Salario>$15.000;
σSexo=F AND Salario>$15.000 (EMPLEADO)
DNI
33456234
Nombre
Laura
Genera una partición horizontal de la relación
Álgebra Relacional
Álgebra Relacional
Introducción
Operaciones Unarias
Operaciones Binarias
SELECT
PROJECT
RENAME
Introducción
Operaciones Unarias
Operaciones Binarias
AR - PROJECT
SELECT
PROJECT
RENAME
AR - PROJECT - Propiedades
Función. Selecciona un subconjunto de columnas de una relación
Operador Unario. Se aplica a una sola relación
Notación. π<lista de atributos> (R)
Grado. Grado(π<lista de atributos> (R)) = | < lista de atributos > |
Ejemplo.
# tuplas. |π<lista de atributos> (R)| ≤ |R|. Remueve tuplas duplicadas de la
relación resultante
DNI
20222333
33456234
45432345
EMPLEADO
Nombre
Sexo
Diego
M
Laura
F
Marina
F
Salario
$20.000,00
$25.000,00
$10.000,00
Ejemplo.
DNI
20222333
33456234
45432345
πDNI ,Salario (EMPLEADO)
DNI
20222333
33456234
45432345
Salario
$20.000,00
$25.000,00
$10.000,00
EMPLEADO
Nombre
Sexo
Diego
M
Laura
F
Marina
F
Salario
$20.000,00
$25.000,00
$10.000,00
πSexo (EMPLEADO)
Sexo
M
F
Genera una partición vertical de la relación
Conservación # tuplas. En π<lista de atributos> (R), si < lista de atributos > es
súper clave de R entonces |π<lista de atributos> (R)| = |R|
Álgebra Relacional
Álgebra Relacional
Introducción
Operaciones Unarias
Operaciones Binarias
SELECT
PROJECT
RENAME
Introducción
Operaciones Unarias
Operaciones Binarias
AR - PROJECT - Propiedades (Cont.)
AR - RENAME
Conmutatividad. πlista1 (πlista2 (R)) = πlista1 (R). lista1 ⊆ lista2 , de lo contrario
lado izq. de la expresión es incorrecto. Conmutatividad no aplica a PROJECT
Ejemplo Conmutatividad.
EMPLEADO
DNI
Nombre
Sexo
Salario
20222333
Diego
M
$20.000,00
33456234
Laura
F
$25.000,00
45432345
Marina
F
$10.000,00
Función. Asigna nombre a atributos / relación resultado
Muy útil para asignar nombre a resultados intermedios
Notación. ρS(B1 ,B2 ,...,Bn ) (R) ó ρS (R) ó ρ(B1 ,B2 ,...,Bn ) (R)
Ejemplo 1. Relaciones
DNI
20222333
33456234
45432345
πSexo (πNombre,Sexo (EMPLEADO))
Nombre
Diego
Laura
Marina
Sexo
M
F
F
SELECT
PROJECT
RENAME
Sexo
M
F
Salario
$20.000,00
$25.000,00
$10.000,00
πNombre,Sexo (σSalario≥$15.000 (EMPLEADO))
1
2
πNombre,Sexo (πSexo (EMPLEADO)) ¡NO ES POSIBLE!
SQL. Se especifica tı́picamente en la cláusula SELECT DISTINCT
Ejemplo. πSexo,Salario (EMPLEADO) se puede corresponder con:
EMPLEADO
Nombre
Sexo
Diego
M
Laura
F
Marina
F
DNI
20222333
33456234
SALARIO MAYOR ← σSalario≥$15.000 (EMPLEADO)
RESULT ← πNombre,Sexo (SALARIO MAYOR)
SALARIO MAYOR
Nombre
Sexo
Salario
Diego
M
$20.000,00
Laura
F
$25.000,00
RESULT
Nombre
Sexo
Diego
M
Laura
F
SELECT DISTINCT Sexo, Salario
FROM EMPLEADO
Álgebra Relacional
Álgebra Relacional
Introducción
Operaciones Unarias
Operaciones Binarias
SELECT
PROJECT
RENAME
Introducción
Operaciones Unarias
Operaciones Binarias
AR - RENAME (Cont.)
SELECT
PROJECT
RENAME
AR - Ejercicio 1
Ejemplo 2. Atributos
DNI
20222333
33456234
45432345
EMPLEADO
Nombre
Sexo
Diego
M
Laura
F
Marina
F
Salario
$20.000,00
$25.000,00
$10.000,00
EMP(id, Ingreso) ← πDNI ,Salario (EMPLEADO)
EMP
id
Ingreso
20222333
$20.000,00
33456234
$25.000,00
45432345
$10.000,00
SQL. Se especifica tı́picamente en la cláusula AS
Ejemplo.
VUELO
Número
345
321
165
903
447
Origen
MAD
MAD
LHR
CDG
CDG
AEROPUERTO
Destino
CDG
ORY
CDG
LHR
LHR
Salida
12:30
19:05
09:55
14:40
17:00
Código
MAD
LGW
LHR
ORY
CDG
Nombre
Barajas
Gatwick
Heathrow
Orly
Charles de Gaulle
PASAJERO
Ciudad
Madrid
Londres
Londres
Parı́s
Parı́s
DNI
123
456
789
Nombre
Marı́a
Pedro
Isabel
RESERVA
DNI
789
123
789
456
Nro Vuelo
165
345
321
345
1
Retornar Código y Nombre de Aeropuertos de Londres
2
¿Qué retorna
3
Obtener vuelos que van desde CDG hacia LHR
4
Obtener vuelos que van desde CDG hacia LHR o viceversa
5
Devolver las fechas de las reservas cuyos Precios son mayores a 200
Cities(City )←πCiudad (σC ódigo=ORY OR C ódigo=CDG (AEROPUERTO))
SELECT EMP.DNI AS id, EMP.Salario AS Ingreso
FROM EMPLEADO AS EMP
Álgebra Relacional
Álgebra Relacional
Introducción
Operaciones Unarias
Operaciones Binarias
UNION, INTERSECTION, MINUS
CARTESIAN PRODUCT / JOIN
DIVISION
AR - UNION, INTERSECTION, MINUS
Función. Equivalente a operaciones matemáticas sobre conjuntos
Notación. R ∪ S, R ∩ S, R − S
Duplicados. La relación resultante no contiene duplicados
Unión Compatible. Se dice que dos relaciones R(A1 , A2 , ..., An ) y
S(B1 , B2 , ..., Bn ) son unión compatibles (o compatibles por tipos) si:
Ambas tienen grado n
(∀i, 1 ≤ i ≤ n) tipo(Ai ) = tipo(Bi )
Introducción
Operaciones Unarias
Operaciones Binarias
AR - UNION, INTERSECTION, MINUS (Cont.)
Ejemplo 1. UNION
ALUMNOS BDs
id
Nombre
1
Diego
2
Laura
3
Marina
ALUMNOS TLENG
id
Nombre
2
Laura
4
Alejandro
RESULT 1 ← ALUMNOS BD ∪ ALUMNOS TLENG
UNION. R ∪ S. Relación que incluye todas las tuplas que están en R, S o en
ambas relaciones a la vez. Duplicados son eliminados
INTERSECTION. R ∩ S. Relación que incluye todas las tuplas que están a la
vez en R y S
SET DIFFERENCE (o MINUS). R − S. Relación que incluye todas las tuplas
que están R, pero no incluye aquellas que aparecen en S
Convención. Relación resultante conserva los nombres de atributo de la primer
relación.
Álgebra Relacional
UNION, INTERSECTION, MINUS
CARTESIAN PRODUCT / JOIN
DIVISION
id
1
2
3
4
RESULT 1
Nombre
Diego
Laura
Marina
Alejandro
Álgebra Relacional
Fecha
07-01-11
20-12-10
15-12-10
03-11-10
Precio
210
170
250
190
Introducción
Operaciones Unarias
Operaciones Binarias
UNION, INTERSECTION, MINUS
CARTESIAN PRODUCT / JOIN
DIVISION
AR - UNION, INTERSECTION, MINUS (Cont.)
Introducción
Operaciones Unarias
Operaciones Binarias
UNION, INTERSECTION, MINUS
CARTESIAN PRODUCT / JOIN
DIVISION
AR - UNION, INTERSECTION, MINUS (Cont.)
Ejemplo 2. INTERSECTION
Ejemplo 3. SET DIFFERENCE
ALUMNOS BDs
id
Nombre
1
Diego
2
Laura
3
Marina
ALUMNOS TLENG
id
Nombre
2
Laura
4
Alejandro
ALUMNOS BDs
id
Nombre
1
Diego
2
Laura
3
Marina
RESULT 2 ← ALUMNOS BD ∩ ALUMNOS TLENG
ALUMNOS TLENG
id
Nombre
2
Laura
4
Alejandro
RESULT 3 ← ALUMNOS BD − ALUMNOS TLENG
RESULT 2
id
Nombre
2
Laura
RESULT 3
id
Nombre
1
Diego
3
Marina
Álgebra Relacional
Introducción
Operaciones Unarias
Operaciones Binarias
Álgebra Relacional
UNION, INTERSECTION, MINUS
CARTESIAN PRODUCT / JOIN
DIVISION
AR - UNION, INTERSECTION, MINUS (Cont.)
Introducción
Operaciones Unarias
Operaciones Binarias
AR - Ejercicio 2
Conmutatividad.
R ∪S =S ∪R
R ∩S =S ∩R
En general, R − S 6= S − R
VUELO
Número
345
321
165
903
447
Asociatividad.
R ∪ (S ∪ T ) = (R ∪ S) ∪ T
R ∩ (S ∩ T ) = (R ∩ S) ∩ T
Origen
MAD
MAD
LHR
CDG
CDG
Equivalencia. R ∩ S = ((R ∪ S) − (R − S)) − (S − R)
SQL 1. Operaciones en SQL UNION, INTERSECT, EXCEPT funcionan como
en AR
SQL 2. Operaciones en SQL UNION ALL, INTERSECT ALL, EXCEPT ALL
no eliminan duplicados
Álgebra Relacional
UNION, INTERSECTION, MINUS
CARTESIAN PRODUCT / JOIN
DIVISION
Destino
CDG
ORY
CDG
LHR
LHR
AEROPUERTO
Salida
12:30
19:05
09:55
14:40
17:00
Código
MAD
LGW
LHR
ORY
CDG
Nombre
Barajas
Gatwick
Heathrow
Orly
Charles de Gaulle
PASAJERO
Ciudad
Madrid
Londres
Londres
Parı́s
Parı́s
DNI
123
456
789
Nombre
Marı́a
Pedro
Isabel
RESERVA
DNI
789
123
789
456
Nro Vuelo
165
345
321
345
1
Devolver los códigos de vuelo que tienen reservas generadas (utilizar ∩)
2
Devolver los códigos de vuelo que aún no tienen reservas
3
Retornar los códigos de aeropuerto de los que parten o arriban los vuelos
Álgebra Relacional
Fecha
07-01-11
20-12-10
15-12-10
03-11-10
Precio
210
170
250
190
Introducción
Operaciones Unarias
Operaciones Binarias
UNION, INTERSECTION, MINUS
CARTESIAN PRODUCT / JOIN
DIVISION
AR - CARTESIAN PRODUCT
Introducción
Operaciones Unarias
Operaciones Binarias
UNION, INTERSECTION, MINUS
CARTESIAN PRODUCT / JOIN
DIVISION
AR - CARTESIAN PRODUCT (Cont.)
Función. Produce una nueva relación que combina cada tupla de una relación
con cada una de las tuplas de la otra relación
Notación. R X S
Ejemplo.
PERSONA
NACIONALIDADES
Nombre
Nacionalidad
IDN
Detalle
Diego
AR
AR
Argentina
Laura
BR
BR
Brasilera
Marina
AR
CH
Chilena
Unión compatible. Las relaciones no tienen que ser unión compatibles
Grado. Si T = R X S entonces grado(T ) = grado(R) + grado(S)
SQL. CROSS JOIN
RESULT ←PERSONA X NACIONALIDADES
Nombre
Diego
Diego
Diego
Laura
Laura
Laura
Marina
Marina
Marina
RESULT
Nacionalidad
AR
AR
AR
BR
BR
BR
AR
AR
AR
IDN
AR
BR
CH
AR
BR
CH
AR
BR
CH
Detalle
Argentina
Brasilera
Chilena
Argentina
Brasilera
Chilena
Argentina
Brasilera
Chilena
Álgebra Relacional
Álgebra Relacional
Introducción
Operaciones Unarias
Operaciones Binarias
UNION, INTERSECTION, MINUS
CARTESIAN PRODUCT / JOIN
DIVISION
AR - JOIN
Introducción
Operaciones Unarias
Operaciones Binarias
UNION, INTERSECTION, MINUS
CARTESIAN PRODUCT / JOIN
DIVISION
AR - JOIN (Cont.)
Función. Permite combinar pares de tuplas relacionadas entre dos relaciones
Notación. R ./<condici ón> S
Ejemplo.
PERSONA
Nombre
Nacionalidad
Diego
AR
Laura
BR
Marina
AR
NACIONALIDADES
IDN
Detalle
AR
Argentina
BR
Brasilera
CH
Chilena
RESULT ← PERSONA ./Nacionalidad=IDN NACIONALIDADES
Nombre
Diego
Laura
Marina
RESULT
Nacionalidad
AR
BR
AR
IDN
AR
BR
AR
Detalle
Argentina
Brasilera
Argentina
Álgebra Relacional
CARTESIAN PRODUCT vs JOIN.
CARTESIAN PRODUCT aparecen todas las combinaciones de tuplas
JOIN aparecen sólo combinaciones de tuplas que satisfacen condición
Condición 1. En general, formato de condición de JOIN entre R y S:
< condici ón > AND < condici ón > AND...AND < condici ón >
Condición 2. Forma de < condici ón > es Ai θBj , siendo Ai atributo de R y Bj
atributo de S
Condición 3. dom(Ai ) = dom(Bj )
Condición 4. θ ∈ {=, <, ≤, >, ≥, 6=}
NULL. Tuplas cuyos atributos de JOIN son NULL o cuya condición es falsa no
aparecen en el resultado
Álgebra Relacional
Introducción
Operaciones Unarias
Operaciones Binarias
UNION, INTERSECTION, MINUS
CARTESIAN PRODUCT / JOIN
DIVISION
AR - JOIN (Cont.)
UNION, INTERSECTION, MINUS
CARTESIAN PRODUCT / JOIN
DIVISION
AR - JOIN (Cont.)
EQUIJOIN. JOIN donde sólo se utiliza la operación = en la < condici ón >.
Duplicación de campos. Al utililzar la igualdad, se generan campos duplicados.
Ejemplo.
PERSONA
NACIONALIDADES
Nombre
Nacionalidad
IDN
Detalle
Diego
AR
AR
Argentina
Laura
BR
BR
Brasilera
Marina
AR
CH
Chilena
RESULT ← PERSONA ./Nacionalidad=IDN NACIONALIDADES
Nombre
Diego
Laura
Marina
Introducción
Operaciones Unarias
Operaciones Binarias
RESULT
Nacionalidad
AR
BR
AR
IDN
AR
BR
AR
Detalle
Argentina
Brasilera
Argentina
NATURAL JOIN. Realiza el JOIN entre campos de mismo nombre y deja sólo
uno de los campos duplicados
Notación. R ./ S (también en la bibliografı́a R ∗ S)
Requerimiento. Requiere que atributos de JOIN tengan el mismo nombre. De
no ser el caso, se debe hacer un RENAME previo
Ejemplo NATURAL JOIN.
PERSONA
Nombre
Nacionalidad
Diego
AR
Laura
BR
Marina
AR
NACIONALIDADES
IDN
Detalle
AR
Argentina
BR
Brasilera
CH
Chilena
NACIONALIDADES TEMP(Nacionalidad,Detalle)←πIDN,Detalle (NACIONALIDADES)
RESULT ←PERSONA ./ NACIONALIDADES TEMP
Nombre
Diego
Laura
Marina
RESULT
Nacionalidad
AR
BR
AR
Tamaño resultado JOIN(S,R). Puede ir de 0 a S*R registros
Selectividad de JOIN. Es una tasa y corresponde a:
Álgebra Relacional
Introducción
Operaciones Unarias
Operaciones Binarias
UNION, INTERSECTION, MINUS
CARTESIAN PRODUCT / JOIN
DIVISION
AR - JOIN (Cont.)
Detalle
Argentina
Brasilera
Argentina
|resultado JOIN(S,R)|
|S|∗|R|
Álgebra Relacional
Introducción
Operaciones Unarias
Operaciones Binarias
UNION, INTERSECTION, MINUS
CARTESIAN PRODUCT / JOIN
DIVISION
AR - OUTER JOIN
SQL. Se Puede realizar de múltiples maneras.
Ejemplo.
NACIONALIDADES TEMP(Nacionalidad,Detalle)←πIDN,Detalle (NACIONALIDADES)
RESULT ←PERSONA ./ NACIONALIDADES TEMP
se puede corresponder con:
SELECT Persona.Nombre, Persona.Nacionalidad, NACIONALIDADES.Detalle
FROM PERSONA, NACIONALIDADES
WHERE PERSONA.Nacionalidad=NACIONALIDADES.IDN;
Álgebra Relacional
INNER JOIN. JOIN donde tuplas que no cumplen condición de JOIN son
eliminadas del resultado (Ej. NULL en atributo de JOIN)
OUTER JOIN. JOIN en el cual se incorpora adicionalmente al resultado las
tuplas de R, S, o ambas relaciones, que no cumplen la condición de JOIN
LEFT OUTER JOIN. R ./ S. Conserva todas las tuplas de R. Si no se
encuentra ninguna tupla de S que cumpla con condición de JOIN, entonces los
atributos de S en el resultado se completan en NULL
Álgebra Relacional
Introducción
Operaciones Unarias
Operaciones Binarias
UNION, INTERSECTION, MINUS
CARTESIAN PRODUCT / JOIN
DIVISION
Introducción
Operaciones Unarias
Operaciones Binarias
AR - OUTER JOIN
Ejemplo.
AR - OUTER JOIN (Cont.)
PERSONA
Nombre
Nacionalidad
Diego
BR
Laura
NULL
Marina
AR
Santiago
UY
RESULT ←PERSONA
./
Nacionalidad=IDN
Nombre
Diego
Marina
RESULT ←PERSONA
./
NACIONALIDADES
IDN
Detalle
AR
Argentina
BR
Brasilera
CH
Chilena
RIGHT OUTER JOIN. R ./ S. Conserva todas las tuplas de S. Si no se
encuentra ninguna tupla de R que cumpla con condición de JOIN, entonces los
atributos de R en el resultado se completan en NULL
FULL OUTER JOIN. R ./ S. Conserva todas las tuplas de R y S. Si no se
encuentra ninguna tupla de R o S que cumpla con condición de JOIN, entonces
sus atributos en el resultado se completan en NULL
NACIONALIDADES
SQL. Las tres operaciones de OUTER JOIN son parte del estándar SQL2
RESULT
Nacionalidad
IDN
BR
BR
AR
AR
Nacionalidad=IDN
Nombre
Diego
Laura
Marina
Santiago
UNION, INTERSECTION, MINUS
CARTESIAN PRODUCT / JOIN
DIVISION
Detalle
Brasilera
Argentina
NACIONALIDADES
RESULT
Nacionalidad
IDN
BR
BR
NULL
NULL
AR
AR
UY
NULL
Detalle
Brasilera
NULL
Argentina
NULL
Álgebra Relacional
Introducción
Operaciones Unarias
Operaciones Binarias
Álgebra Relacional
UNION, INTERSECTION, MINUS
CARTESIAN PRODUCT / JOIN
DIVISION
Introducción
Operaciones Unarias
Operaciones Binarias
AR - Ejercicio 3
UNION, INTERSECTION, MINUS
CARTESIAN PRODUCT / JOIN
DIVISION
AR - DIVISION
Función. Retorna los valores de R que se encuentran emparejados con TODOS
los valores de S
VUELO
Número
345
321
165
903
447
Origen
MAD
MAD
LHR
CDG
CDG
Destino
CDG
ORY
CDG
LHR
LHR
AEROPUERTO
Salida
12:30
19:05
09:55
14:40
17:00
Código
MAD
LGW
LHR
ORY
CDG
Nombre
Barajas
Gatwick
Heathrow
Orly
Charles de Gaulle
PASAJERO
Ciudad
Madrid
Londres
Londres
Parı́s
Parı́s
DNI
123
456
789
Nombre
Marı́a
Pedro
Isabel
DNI
789
123
789
456
Nro Vuelo
165
345
321
345
Fecha
07-01-11
20-12-10
15-12-10
03-11-10
1
Devolver Ciudad de Partida de vuelo número 165
2
Retornar Nombre de las personas que realizaron reservas a un valor menor a 200
3
Obtener Nombre, Fecha y Destino de viaje de todos los pasajeros que vuelan
desde Madrid
Álgebra Relacional
Notación. R ÷ S. Requiere que atributos de S ⊂ atributos de R. Resultado
contiene atributos de R menos atributos de S
RESERVA
Precio
210
170
250
190
Álgebra Relacional
Introducción
Operaciones Unarias
Operaciones Binarias
UNION, INTERSECTION, MINUS
CARTESIAN PRODUCT / JOIN
DIVISION
Introducción
Operaciones Unarias
Operaciones Binarias
AR - DIVISION (Cont.)
Ejemplo.
ALUMNOS
Nombre
Materia
Diego
BD
Diego
PLP
Laura
BD
Laura
PLP
Laura
TLENG
Marina
BD
Marina
TLENG
Santiago
BD
Santiago
PLP
Santiago
TLENG
UNION, INTERSECTION, MINUS
CARTESIAN PRODUCT / JOIN
DIVISION
AR - DIVISION
MATERIAS 1
Materia
BD
MATERIAS 2
Materia
BD
TLENG
MATERIAS 3
Materia
BD
PLP
TLENG
ALUMNOS÷MATERIAS 1
ALUMNOS÷MATERIAS 2
ALUMNOS÷MATERIAS 3
Nombre
Diego
Laura
Marina
Santiago
Nombre
Laura
Marina
Santiago
Nombre
Laura
Santiago
Álgebra Relacional
Introducción
Operaciones Unarias
Operaciones Binarias
UNION, INTERSECTION, MINUS
CARTESIAN PRODUCT / JOIN
DIVISION
AR - Bibliografı́a
Capı́tulo 6 (hasta 6.5 inclusive) Elmasri/Navathe - Fundamentals of Database
Systems, 6th Ed., Pearson, 2011.
Álgebra Relacional
Operación compuesta. Se puede expresar como secuencia de otras operaciones
(π, X , −)
En ejemplo anterior (ALUMNOS÷MATERIAS 3):
TEMP1 ← πNombre (ALUMNOS)
TEMP2 ← πNombre ((TEMP1 X MATERIAS 3) − ALUMNOS)
RESULT ← TEMP1 − TEMP2
TEMP 1
TEMP 2
RESULT
Nombre
Diego
Laura
Marina
Santiago
Nombre
Diego
Marina
Nombre
Laura
Santiago
SQL. No suele implementar DIVISION
Álgebra Relacional
Descargar