28/marzo/2019 algebra relacional · operaciones unarias operaciones binarias marco general ar -...
Post on 15-Mar-2020
28 Views
Preview:
TRANSCRIPT
IntroduccionOperaciones UnariasOperaciones Binarias
Algebra Relacional
28/Marzo/2019
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
Marco General
AR - Marco General
Algebra Relacional. Consiste de un conjunto de elementos con unas propiedadesoperacionales determinadas que se pueden realizar con los elementos de dichoconjunto y las propiedades matematicas que dichas operaciones poseen.
Especifica un lenguaje formal utilizado en el modelo relacional
Permite a usuarios especificar consultas sobre instancias de relaciones
El resultado de una consulta es una nueva relacion
Importancia.
1 Provee fundamento formal a las operaciones asociadas al modelorelacional
2 Base para implementar y optimizar queries en RDBMS3 Principales operaciones y funciones del los modulos internos de la mayorıa
de los sistemas relacionales estan basados en operaciones del AR
Tecnica. Procedural/axiomatico (a diferencia del Calculo Relacional que es detipo declarativo, aquı el orden de evaluacion de las expresiones importa).
Operadores. Unarios y Binarios: toman relaciones y el resultado son relaciones.
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
Marco General
AR - Marco General
Algebra Relacional. Consiste de un conjunto de elementos con unas propiedadesoperacionales determinadas que se pueden realizar con los elementos de dichoconjunto y las propiedades matematicas que dichas operaciones poseen.
Especifica un lenguaje formal utilizado en el modelo relacional
Permite a usuarios especificar consultas sobre instancias de relaciones
El resultado de una consulta es una nueva relacion
Importancia.
1 Provee fundamento formal a las operaciones asociadas al modelorelacional
2 Base para implementar y optimizar queries en RDBMS3 Principales operaciones y funciones del los modulos internos de la mayorıa
de los sistemas relacionales estan basados en operaciones del AR
Tecnica. Procedural/axiomatico (a diferencia del Calculo Relacional que es detipo declarativo, aquı el orden de evaluacion de las expresiones importa).
Operadores. Unarios y Binarios: toman relaciones y el resultado son relaciones.
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
Marco General
AR - Marco General
Algebra Relacional. Consiste de un conjunto de elementos con unas propiedadesoperacionales determinadas que se pueden realizar con los elementos de dichoconjunto y las propiedades matematicas que dichas operaciones poseen.
Especifica un lenguaje formal utilizado en el modelo relacional
Permite a usuarios especificar consultas sobre instancias de relaciones
El resultado de una consulta es una nueva relacion
Importancia.
1 Provee fundamento formal a las operaciones asociadas al modelorelacional
2 Base para implementar y optimizar queries en RDBMS3 Principales operaciones y funciones del los modulos internos de la mayorıa
de los sistemas relacionales estan basados en operaciones del AR
Tecnica. Procedural/axiomatico (a diferencia del Calculo Relacional que es detipo declarativo, aquı el orden de evaluacion de las expresiones importa).
Operadores. Unarios y Binarios: toman relaciones y el resultado son relaciones.
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
Marco General
AR - Marco General
Algebra Relacional. Consiste de un conjunto de elementos con unas propiedadesoperacionales determinadas que se pueden realizar con los elementos de dichoconjunto y las propiedades matematicas que dichas operaciones poseen.
Especifica un lenguaje formal utilizado en el modelo relacional
Permite a usuarios especificar consultas sobre instancias de relaciones
El resultado de una consulta es una nueva relacion
Importancia.
1 Provee fundamento formal a las operaciones asociadas al modelorelacional
2 Base para implementar y optimizar queries en RDBMS3 Principales operaciones y funciones del los modulos internos de la mayorıa
de los sistemas relacionales estan basados en operaciones del AR
Tecnica. Procedural/axiomatico (a diferencia del Calculo Relacional que es detipo declarativo, aquı el orden de evaluacion de las expresiones importa).
Operadores. Unarios y Binarios: toman relaciones y el resultado son relaciones.
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
Marco General
AR - Marco General
Algebra Relacional. Consiste de un conjunto de elementos con unas propiedadesoperacionales determinadas que se pueden realizar con los elementos de dichoconjunto y las propiedades matematicas que dichas operaciones poseen.
Especifica un lenguaje formal utilizado en el modelo relacional
Permite a usuarios especificar consultas sobre instancias de relaciones
El resultado de una consulta es una nueva relacion
Importancia.
1 Provee fundamento formal a las operaciones asociadas al modelorelacional
2 Base para implementar y optimizar queries en RDBMS3 Principales operaciones y funciones del los modulos internos de la mayorıa
de los sistemas relacionales estan basados en operaciones del AR
Tecnica. Procedural/axiomatico (a diferencia del Calculo Relacional que es detipo declarativo, aquı el orden de evaluacion de las expresiones importa).
Operadores. Unarios y Binarios: toman relaciones y el resultado son relaciones.
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - SELECT
Funcion. Selecciona un subconjunto de tuplas de una relacion que satisfacecierta condicion
Notacion. σ<condici on de selecci on>(R)
Ejemplo.EMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
σSexo=F (EMPLEADO)
DNI Nombre Sexo Salario33456234 Laura F $25.000,0045432345 Marina F $10.000,00
σSexo=F AND Salario>$15.000(EMPLEADO)
DNI Nombre Sexo Salario33456234 Laura F $25.000,00
Genera una particion horizontal de la relacion
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - SELECT
Funcion. Selecciona un subconjunto de tuplas de una relacion que satisfacecierta condicion
Notacion. σ<condici on de selecci on>(R)
Ejemplo.EMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
σSexo=F (EMPLEADO)
DNI Nombre Sexo Salario33456234 Laura F $25.000,0045432345 Marina F $10.000,00
σSexo=F AND Salario>$15.000(EMPLEADO)
DNI Nombre Sexo Salario33456234 Laura F $25.000,00
Genera una particion horizontal de la relacion
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - SELECT
Funcion. Selecciona un subconjunto de tuplas de una relacion que satisfacecierta condicion
Notacion. σ<condici on de selecci on>(R)
Ejemplo.EMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
σSexo=F (EMPLEADO)
DNI Nombre Sexo Salario33456234 Laura F $25.000,0045432345 Marina F $10.000,00
σSexo=F AND Salario>$15.000(EMPLEADO)
DNI Nombre Sexo Salario33456234 Laura F $25.000,00
Genera una particion horizontal de la relacion
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - SELECT
Funcion. Selecciona un subconjunto de tuplas de una relacion que satisfacecierta condicion
Notacion. σ<condici on de selecci on>(R)
Ejemplo.EMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
σSexo=F (EMPLEADO)
DNI Nombre Sexo Salario33456234 Laura F $25.000,0045432345 Marina F $10.000,00
σSexo=F AND Salario>$15.000(EMPLEADO)
DNI Nombre Sexo Salario33456234 Laura F $25.000,00
Genera una particion horizontal de la relacion
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - SELECT
Funcion. Selecciona un subconjunto de tuplas de una relacion que satisfacecierta condicion
Notacion. σ<condici on de selecci on>(R)
Ejemplo.EMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
σSexo=F (EMPLEADO)
DNI Nombre Sexo Salario33456234 Laura F $25.000,0045432345 Marina F $10.000,00
σSexo=F AND Salario>$15.000(EMPLEADO)
DNI Nombre Sexo Salario33456234 Laura F $25.000,00
Genera una particion horizontal de la relacion
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - SELECT
Funcion. Selecciona un subconjunto de tuplas de una relacion que satisfacecierta condicion
Notacion. σ<condici on de selecci on>(R)
Ejemplo.EMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
σSexo=F (EMPLEADO)
DNI Nombre Sexo Salario33456234 Laura F $25.000,0045432345 Marina F $10.000,00
σSexo=F AND Salario>$15.000(EMPLEADO)
DNI Nombre Sexo Salario33456234 Laura F $25.000,00
Genera una particion horizontal de la relacion
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - SELECT - Propiedades
Operador Unario. Se aplica a una sola relacion
Grado.
Grado(σc (R)) = Grado(R)
# tuplas. |σc (R)| ≤ |R|La fraccion de tuplas seleccionadas se denomina selectividad de la condicion
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 clausula WHERE
Ejemplo. σSexo=F AND Salario>$15.000(EMPLEADO) se puede corresponder con:
SELECT *FROM EMPLEADOWHERE Sexo=F AND Salario>$15.000;
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - SELECT - Propiedades
Operador Unario. Se aplica a una sola relacion
Grado. Grado(σc (R)) = Grado(R)
# tuplas. |σc (R)| ≤ |R|La fraccion de tuplas seleccionadas se denomina selectividad de la condicion
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 clausula WHERE
Ejemplo. σSexo=F AND Salario>$15.000(EMPLEADO) se puede corresponder con:
SELECT *FROM EMPLEADOWHERE Sexo=F AND Salario>$15.000;
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - SELECT - Propiedades
Operador Unario. Se aplica a una sola relacion
Grado. Grado(σc (R)) = Grado(R)
# tuplas.
|σc (R)| ≤ |R|La fraccion de tuplas seleccionadas se denomina selectividad de la condicion
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 clausula WHERE
Ejemplo. σSexo=F AND Salario>$15.000(EMPLEADO) se puede corresponder con:
SELECT *FROM EMPLEADOWHERE Sexo=F AND Salario>$15.000;
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - SELECT - Propiedades
Operador Unario. Se aplica a una sola relacion
Grado. Grado(σc (R)) = Grado(R)
# tuplas. |σc (R)| ≤ |R|
La fraccion de tuplas seleccionadas se denomina selectividad de la condicion
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 clausula WHERE
Ejemplo. σSexo=F AND Salario>$15.000(EMPLEADO) se puede corresponder con:
SELECT *FROM EMPLEADOWHERE Sexo=F AND Salario>$15.000;
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - SELECT - Propiedades
Operador Unario. Se aplica a una sola relacion
Grado. Grado(σc (R)) = Grado(R)
# tuplas. |σc (R)| ≤ |R|La fraccion de tuplas seleccionadas se denomina selectividad de la condicion
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 clausula WHERE
Ejemplo. σSexo=F AND Salario>$15.000(EMPLEADO) se puede corresponder con:
SELECT *FROM EMPLEADOWHERE Sexo=F AND Salario>$15.000;
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - SELECT - Propiedades
Operador Unario. Se aplica a una sola relacion
Grado. Grado(σc (R)) = Grado(R)
# tuplas. |σc (R)| ≤ |R|La fraccion de tuplas seleccionadas se denomina selectividad de la condicion
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 clausula WHERE
Ejemplo. σSexo=F AND Salario>$15.000(EMPLEADO) se puede corresponder con:
SELECT *FROM EMPLEADOWHERE Sexo=F AND Salario>$15.000;
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - SELECT - Propiedades
Operador Unario. Se aplica a una sola relacion
Grado. Grado(σc (R)) = Grado(R)
# tuplas. |σc (R)| ≤ |R|La fraccion de tuplas seleccionadas se denomina selectividad de la condicion
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 clausula WHERE
Ejemplo. σSexo=F AND Salario>$15.000(EMPLEADO) se puede corresponder con:
SELECT *FROM EMPLEADOWHERE Sexo=F AND Salario>$15.000;
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - SELECT - Propiedades
Operador Unario. Se aplica a una sola relacion
Grado. Grado(σc (R)) = Grado(R)
# tuplas. |σc (R)| ≤ |R|La fraccion de tuplas seleccionadas se denomina selectividad de la condicion
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 clausula WHERE
Ejemplo. σSexo=F AND Salario>$15.000(EMPLEADO) se puede corresponder con:
SELECT *FROM EMPLEADOWHERE Sexo=F AND Salario>$15.000;
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - PROJECT
Funcion. Selecciona un subconjunto de columnas de una relacion
Notacion. π<lista de atributos>(R)
Ejemplo.EMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πDNI,Salario (EMPLEADO)
DNI Salario20222333 $20.000,0033456234 $25.000,0045432345 $10.000,00
Genera una particion vertical de la relacion
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - PROJECT
Funcion. Selecciona un subconjunto de columnas de una relacion
Notacion. π<lista de atributos>(R)
Ejemplo.EMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πDNI,Salario (EMPLEADO)
DNI Salario20222333 $20.000,0033456234 $25.000,0045432345 $10.000,00
Genera una particion vertical de la relacion
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - PROJECT
Funcion. Selecciona un subconjunto de columnas de una relacion
Notacion. π<lista de atributos>(R)
Ejemplo.EMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πDNI,Salario (EMPLEADO)
DNI Salario20222333 $20.000,0033456234 $25.000,0045432345 $10.000,00
Genera una particion vertical de la relacion
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - PROJECT
Funcion. Selecciona un subconjunto de columnas de una relacion
Notacion. π<lista de atributos>(R)
Ejemplo.EMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πDNI,Salario (EMPLEADO)
DNI Salario20222333 $20.000,0033456234 $25.000,0045432345 $10.000,00
Genera una particion vertical de la relacion
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - PROJECT - Propiedades
Operador Unario. Se aplica a una sola relacion
Grado.
Grado(π<lista de atributos>(R)) = | < lista de atributos > |# tuplas. |π<lista de atributos>(R)| ≤ |R|. Remueve tuplas duplicadas de larelacion resultante
Ejemplo.EMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πSexo(EMPLEADO)
SexoMF
Conservacion # tuplas. En π<lista de atributos>(R), si < lista de atributos > essuper clave de R entonces |π<lista de atributos>(R)| = |R|
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - PROJECT - Propiedades
Operador Unario. Se aplica a una sola relacion
Grado. Grado(π<lista de atributos>(R)) = | < lista de atributos > |
# tuplas. |π<lista de atributos>(R)| ≤ |R|. Remueve tuplas duplicadas de larelacion resultante
Ejemplo.EMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πSexo(EMPLEADO)
SexoMF
Conservacion # tuplas. En π<lista de atributos>(R), si < lista de atributos > essuper clave de R entonces |π<lista de atributos>(R)| = |R|
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - PROJECT - Propiedades
Operador Unario. Se aplica a una sola relacion
Grado. Grado(π<lista de atributos>(R)) = | < lista de atributos > |# tuplas.
|π<lista de atributos>(R)| ≤ |R|. Remueve tuplas duplicadas de larelacion resultante
Ejemplo.EMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πSexo(EMPLEADO)
SexoMF
Conservacion # tuplas. En π<lista de atributos>(R), si < lista de atributos > essuper clave de R entonces |π<lista de atributos>(R)| = |R|
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - PROJECT - Propiedades
Operador Unario. Se aplica a una sola relacion
Grado. Grado(π<lista de atributos>(R)) = | < lista de atributos > |# tuplas. |π<lista de atributos>(R)| ≤ |R|. Remueve tuplas duplicadas de larelacion resultante
Ejemplo.EMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πSexo(EMPLEADO)
SexoMF
Conservacion # tuplas. En π<lista de atributos>(R), si < lista de atributos > essuper clave de R entonces |π<lista de atributos>(R)| = |R|
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - PROJECT - Propiedades
Operador Unario. Se aplica a una sola relacion
Grado. Grado(π<lista de atributos>(R)) = | < lista de atributos > |# tuplas. |π<lista de atributos>(R)| ≤ |R|. Remueve tuplas duplicadas de larelacion resultante
Ejemplo.EMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πSexo(EMPLEADO)
SexoMF
Conservacion # tuplas. En π<lista de atributos>(R), si < lista de atributos > essuper clave de R entonces |π<lista de atributos>(R)| = |R|
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - PROJECT - Propiedades
Operador Unario. Se aplica a una sola relacion
Grado. Grado(π<lista de atributos>(R)) = | < lista de atributos > |# tuplas. |π<lista de atributos>(R)| ≤ |R|. Remueve tuplas duplicadas de larelacion resultante
Ejemplo.EMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πSexo(EMPLEADO)
SexoMF
Conservacion # tuplas. En π<lista de atributos>(R), si < lista de atributos > essuper clave de R entonces |π<lista de atributos>(R)| = |R|
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - PROJECT - Propiedades
Operador Unario. Se aplica a una sola relacion
Grado. Grado(π<lista de atributos>(R)) = | < lista de atributos > |# tuplas. |π<lista de atributos>(R)| ≤ |R|. Remueve tuplas duplicadas de larelacion resultante
Ejemplo.EMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πSexo(EMPLEADO)
SexoMF
Conservacion # tuplas. En π<lista de atributos>(R), si < lista de atributos > essuper clave de R entonces |π<lista de atributos>(R)| = |R|
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - PROJECT - Propiedades
Operador Unario. Se aplica a una sola relacion
Grado. Grado(π<lista de atributos>(R)) = | < lista de atributos > |# tuplas. |π<lista de atributos>(R)| ≤ |R|. Remueve tuplas duplicadas de larelacion resultante
Ejemplo.EMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πSexo(EMPLEADO)
SexoMF
Conservacion # tuplas.
En π<lista de atributos>(R), si < lista de atributos > essuper clave de R entonces |π<lista de atributos>(R)| = |R|
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - PROJECT - Propiedades
Operador Unario. Se aplica a una sola relacion
Grado. Grado(π<lista de atributos>(R)) = | < lista de atributos > |# tuplas. |π<lista de atributos>(R)| ≤ |R|. Remueve tuplas duplicadas de larelacion resultante
Ejemplo.EMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πSexo(EMPLEADO)
SexoMF
Conservacion # tuplas. En π<lista de atributos>(R), si < lista de atributos > essuper clave de R entonces |π<lista de atributos>(R)| = |R|
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - PROJECT - Propiedades (Cont.)
Conmutatividad.
πlista1(πlista2
(R)) = πlista1(R). lista1 ⊆ lista2, de lo contrario
lado izq. de la expresion es incorrecto. Conmutatividad no aplica a PROJECTEjemplo Conmutatividad.
EMPLEADODNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πSexo(πNombre,Sexo(EMPLEADO))
Nombre SexoDiego MLaura FMarina F
SexoMF
πNombre,Sexo(πSexo(EMPLEADO)) ¡NO ES POSIBLE!SQL. Se especifica tıpicamente en la clausula SELECT DISTINCTEjemplo. πSexo,Salario(EMPLEADO) se puede corresponder con:
SELECT DISTINCT Sexo, SalarioFROM EMPLEADO
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - PROJECT - Propiedades (Cont.)
Conmutatividad. πlista1(πlista2
(R)) = πlista1(R). lista1 ⊆ lista2, de lo contrario
lado izq. de la expresion es incorrecto. Conmutatividad no aplica a PROJECT
Ejemplo Conmutatividad.EMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πSexo(πNombre,Sexo(EMPLEADO))
Nombre SexoDiego MLaura FMarina F
SexoMF
πNombre,Sexo(πSexo(EMPLEADO)) ¡NO ES POSIBLE!SQL. Se especifica tıpicamente en la clausula SELECT DISTINCTEjemplo. πSexo,Salario(EMPLEADO) se puede corresponder con:
SELECT DISTINCT Sexo, SalarioFROM EMPLEADO
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - PROJECT - Propiedades (Cont.)
Conmutatividad. πlista1(πlista2
(R)) = πlista1(R). lista1 ⊆ lista2, de lo contrario
lado izq. de la expresion es incorrecto. Conmutatividad no aplica a PROJECTEjemplo Conmutatividad.
EMPLEADODNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πSexo(πNombre,Sexo(EMPLEADO))
Nombre SexoDiego MLaura FMarina F
SexoMF
πNombre,Sexo(πSexo(EMPLEADO)) ¡NO ES POSIBLE!SQL. Se especifica tıpicamente en la clausula SELECT DISTINCTEjemplo. πSexo,Salario(EMPLEADO) se puede corresponder con:
SELECT DISTINCT Sexo, SalarioFROM EMPLEADO
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - PROJECT - Propiedades (Cont.)
Conmutatividad. πlista1(πlista2
(R)) = πlista1(R). lista1 ⊆ lista2, de lo contrario
lado izq. de la expresion es incorrecto. Conmutatividad no aplica a PROJECTEjemplo Conmutatividad.
EMPLEADODNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πSexo(πNombre,Sexo(EMPLEADO))
Nombre SexoDiego MLaura FMarina F
SexoMF
πNombre,Sexo(πSexo(EMPLEADO)) ¡NO ES POSIBLE!SQL. Se especifica tıpicamente en la clausula SELECT DISTINCTEjemplo. πSexo,Salario(EMPLEADO) se puede corresponder con:
SELECT DISTINCT Sexo, SalarioFROM EMPLEADO
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - PROJECT - Propiedades (Cont.)
Conmutatividad. πlista1(πlista2
(R)) = πlista1(R). lista1 ⊆ lista2, de lo contrario
lado izq. de la expresion es incorrecto. Conmutatividad no aplica a PROJECTEjemplo Conmutatividad.
EMPLEADODNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πSexo(πNombre,Sexo(EMPLEADO))
Nombre SexoDiego MLaura FMarina F
SexoMF
πNombre,Sexo(πSexo(EMPLEADO)) ¡NO ES POSIBLE!SQL. Se especifica tıpicamente en la clausula SELECT DISTINCTEjemplo. πSexo,Salario(EMPLEADO) se puede corresponder con:
SELECT DISTINCT Sexo, SalarioFROM EMPLEADO
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - PROJECT - Propiedades (Cont.)
Conmutatividad. πlista1(πlista2
(R)) = πlista1(R). lista1 ⊆ lista2, de lo contrario
lado izq. de la expresion es incorrecto. Conmutatividad no aplica a PROJECTEjemplo Conmutatividad.
EMPLEADODNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πSexo(πNombre,Sexo(EMPLEADO))
Nombre SexoDiego MLaura FMarina F
SexoMF
πNombre,Sexo(πSexo(EMPLEADO)) ¡NO ES POSIBLE!SQL. Se especifica tıpicamente en la clausula SELECT DISTINCTEjemplo. πSexo,Salario(EMPLEADO) se puede corresponder con:
SELECT DISTINCT Sexo, SalarioFROM EMPLEADO
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - PROJECT - Propiedades (Cont.)
Conmutatividad. πlista1(πlista2
(R)) = πlista1(R). lista1 ⊆ lista2, de lo contrario
lado izq. de la expresion es incorrecto. Conmutatividad no aplica a PROJECTEjemplo Conmutatividad.
EMPLEADODNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πSexo(πNombre,Sexo(EMPLEADO))
Nombre SexoDiego MLaura FMarina F
SexoMF
πNombre,Sexo(πSexo(EMPLEADO))
¡NO ES POSIBLE!SQL. Se especifica tıpicamente en la clausula SELECT DISTINCTEjemplo. πSexo,Salario(EMPLEADO) se puede corresponder con:
SELECT DISTINCT Sexo, SalarioFROM EMPLEADO
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - PROJECT - Propiedades (Cont.)
Conmutatividad. πlista1(πlista2
(R)) = πlista1(R). lista1 ⊆ lista2, de lo contrario
lado izq. de la expresion es incorrecto. Conmutatividad no aplica a PROJECTEjemplo Conmutatividad.
EMPLEADODNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πSexo(πNombre,Sexo(EMPLEADO))
Nombre SexoDiego MLaura FMarina F
SexoMF
πNombre,Sexo(πSexo(EMPLEADO)) ¡NO ES POSIBLE!
SQL. Se especifica tıpicamente en la clausula SELECT DISTINCTEjemplo. πSexo,Salario(EMPLEADO) se puede corresponder con:
SELECT DISTINCT Sexo, SalarioFROM EMPLEADO
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - PROJECT - Propiedades (Cont.)
Conmutatividad. πlista1(πlista2
(R)) = πlista1(R). lista1 ⊆ lista2, de lo contrario
lado izq. de la expresion es incorrecto. Conmutatividad no aplica a PROJECTEjemplo Conmutatividad.
EMPLEADODNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πSexo(πNombre,Sexo(EMPLEADO))
Nombre SexoDiego MLaura FMarina F
SexoMF
πNombre,Sexo(πSexo(EMPLEADO)) ¡NO ES POSIBLE!SQL. Se especifica tıpicamente en la clausula SELECT DISTINCTEjemplo. πSexo,Salario(EMPLEADO) se puede corresponder con:
SELECT DISTINCT Sexo, SalarioFROM EMPLEADO
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - RENAME
Funcion. Asigna nombre a atributos / relacion resultado
Muy util para asignar nombre a resultados intermedios
Notacion. ρS (R) o ρ(A1 → B1, ...,An → Bn,R)
Ejemplo 1. RelacionesEMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πNombre,Sexo(σSalario≥$15.000(EMPLEADO))
1 SALARIO MAYOR ← σSalario≥$15.000(EMPLEADO)2 RESULT ← πNombre,Sexo(SALARIO MAYOR)
SALARIO MAYORDNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,00
RESULTNombre SexoDiego MLaura F
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - RENAME
Funcion. Asigna nombre a atributos / relacion resultado
Muy util para asignar nombre a resultados intermedios
Notacion. ρS (R) o ρ(A1 → B1, ...,An → Bn,R)
Ejemplo 1. RelacionesEMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πNombre,Sexo(σSalario≥$15.000(EMPLEADO))
1 SALARIO MAYOR ← σSalario≥$15.000(EMPLEADO)2 RESULT ← πNombre,Sexo(SALARIO MAYOR)
SALARIO MAYORDNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,00
RESULTNombre SexoDiego MLaura F
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - RENAME
Funcion. Asigna nombre a atributos / relacion resultado
Muy util para asignar nombre a resultados intermedios
Notacion. ρS (R) o ρ(A1 → B1, ...,An → Bn,R)
Ejemplo 1. RelacionesEMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
πNombre,Sexo(σSalario≥$15.000(EMPLEADO))
1 SALARIO MAYOR ← σSalario≥$15.000(EMPLEADO)2 RESULT ← πNombre,Sexo(SALARIO MAYOR)
SALARIO MAYORDNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,00
RESULTNombre SexoDiego MLaura F
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - RENAME (Cont.)
Ejemplo 2. AtributosEMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
EMP(id , Ingreso)← πDNI ,Salario(EMPLEADO)EMP
id Ingreso20222333 $20.000,0033456234 $25.000,0045432345 $10.000,00
SQL. Se especifica tıpicamente en la clausula AS
Ejemplo.
SELECT EMP.DNI AS id, EMP.Salario AS IngresoFROM EMPLEADO AS EMP
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - RENAME (Cont.)
Ejemplo 2. AtributosEMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
EMP(id , Ingreso)← πDNI ,Salario(EMPLEADO)
EMPid Ingreso20222333 $20.000,0033456234 $25.000,0045432345 $10.000,00
SQL. Se especifica tıpicamente en la clausula AS
Ejemplo.
SELECT EMP.DNI AS id, EMP.Salario AS IngresoFROM EMPLEADO AS EMP
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - RENAME (Cont.)
Ejemplo 2. AtributosEMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
EMP(id , Ingreso)← πDNI ,Salario(EMPLEADO)EMP
id Ingreso20222333 $20.000,0033456234 $25.000,0045432345 $10.000,00
SQL. Se especifica tıpicamente en la clausula AS
Ejemplo.
SELECT EMP.DNI AS id, EMP.Salario AS IngresoFROM EMPLEADO AS EMP
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - RENAME (Cont.)
Ejemplo 2. AtributosEMPLEADO
DNI Nombre Sexo Salario20222333 Diego M $20.000,0033456234 Laura F $25.000,0045432345 Marina F $10.000,00
EMP(id , Ingreso)← πDNI ,Salario(EMPLEADO)EMP
id Ingreso20222333 $20.000,0033456234 $25.000,0045432345 $10.000,00
SQL. Se especifica tıpicamente en la clausula AS
Ejemplo.
SELECT EMP.DNI AS id, EMP.Salario AS IngresoFROM EMPLEADO AS EMP
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
SELECTPROJECTRENAME
AR - Ejercicio 1
VUELONumero Origen Destino Salida345 MAD CDG 12:30
321 MAD ORY 19:05
165 LHR CDG 09:55
903 CDG LHR 14:40
447 CDG LHR 17:00
AEROPUERTO
Codigo Nombre CiudadMAD Barajas Madrid
LGW Gatwick Londres
LHR Heathrow Londres
ORY Orly Parıs
CDG Charles de Gaulle Parıs
PASAJERO
DNI Nombre123 Marıa
456 Pedro
789 Isabel
RESERVA
DNI Nro Vuelo Fecha Precio789 165 07-01-11 210
123 345 20-12-10 170
789 321 15-12-10 250
456 345 03-11-10 190
1 Retornar Codigo y Nombre de los aeropuertos de Londres
2 ¿Que retorna Cities(City)←πCiudad (σCodigo=ORY OR Codigo=CDG (AEROPUERTO))
3 Obtener los numeros de vuelo que van desde CDG hacia LHR
4 Obtener los numeros de vuelo que van desde CDG hacia LHR o viceversa
5 Devolver las fechas de reservas cuyos precios son mayores a $200
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - UNION, INTERSECTION, MINUS
Funcion. Equivalente a operaciones matematicas sobre conjuntos
Notacion. R ∪ S, R ∩ S , R − S
Duplicados. La relacion resultante no contiene duplicados
Union Compatible. Se dice que dos relaciones R(A1,A2, ...,An) y
S(B1,B2, ...,Bn) son union compatibles (o compatibles por tipos) si:
Ambas tienen grado n(∀i , 1 ≤ i ≤ n) tipo(Ai ) = tipo(Bi )
UNION. R ∪ S. Relacion que incluye todas las tuplas que estan en R, S o enambas relaciones a la vez. Duplicados son eliminados
INTERSECTION. R ∩ S. Relacion que incluye todas las tuplas que estan a lavez en R y S
SET DIFFERENCE (o MINUS). R − S. Relacion que incluye todas las tuplasque estan en R, pero no incluye a aquellas que aparecen en S
Convencion. Relacion resultante conserva los nombres de atributo de la primerrelacion.
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - UNION, INTERSECTION, MINUS
Funcion. Equivalente a operaciones matematicas sobre conjuntos
Notacion. R ∪ S, R ∩ S , R − S
Duplicados. La relacion resultante no contiene duplicados
Union Compatible. Se dice que dos relaciones R(A1,A2, ...,An) y
S(B1,B2, ...,Bn) son union compatibles (o compatibles por tipos) si:
Ambas tienen grado n(∀i , 1 ≤ i ≤ n) tipo(Ai ) = tipo(Bi )
UNION. R ∪ S. Relacion que incluye todas las tuplas que estan en R, S o enambas relaciones a la vez. Duplicados son eliminados
INTERSECTION. R ∩ S. Relacion que incluye todas las tuplas que estan a lavez en R y S
SET DIFFERENCE (o MINUS). R − S. Relacion que incluye todas las tuplasque estan en R, pero no incluye a aquellas que aparecen en S
Convencion. Relacion resultante conserva los nombres de atributo de la primerrelacion.
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - UNION, INTERSECTION, MINUS
Funcion. Equivalente a operaciones matematicas sobre conjuntos
Notacion. R ∪ S, R ∩ S , R − S
Duplicados. La relacion resultante no contiene duplicados
Union Compatible. Se dice que dos relaciones R(A1,A2, ...,An) y
S(B1,B2, ...,Bn) son union compatibles (o compatibles por tipos) si:
Ambas tienen grado n(∀i , 1 ≤ i ≤ n) tipo(Ai ) = tipo(Bi )
UNION. R ∪ S. Relacion que incluye todas las tuplas que estan en R, S o enambas relaciones a la vez. Duplicados son eliminados
INTERSECTION. R ∩ S. Relacion que incluye todas las tuplas que estan a lavez en R y S
SET DIFFERENCE (o MINUS). R − S. Relacion que incluye todas las tuplasque estan en R, pero no incluye a aquellas que aparecen en S
Convencion. Relacion resultante conserva los nombres de atributo de la primerrelacion.
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - UNION, INTERSECTION, MINUS
Funcion. Equivalente a operaciones matematicas sobre conjuntos
Notacion. R ∪ S, R ∩ S , R − S
Duplicados. La relacion resultante no contiene duplicados
Union Compatible. Se dice que dos relaciones R(A1,A2, ...,An) y
S(B1,B2, ...,Bn) son union compatibles (o compatibles por tipos) si:
Ambas tienen grado n(∀i , 1 ≤ i ≤ n) tipo(Ai ) = tipo(Bi )
UNION. R ∪ S. Relacion que incluye todas las tuplas que estan en R, S o enambas relaciones a la vez. Duplicados son eliminados
INTERSECTION. R ∩ S. Relacion que incluye todas las tuplas que estan a lavez en R y S
SET DIFFERENCE (o MINUS). R − S. Relacion que incluye todas las tuplasque estan en R, pero no incluye a aquellas que aparecen en S
Convencion. Relacion resultante conserva los nombres de atributo de la primerrelacion.
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - UNION, INTERSECTION, MINUS (Cont.)
Ejemplo 1. UNION
ALUMNOS BDsid Nombre1 Diego2 Laura3 Marina
ALUMNOS TLENGid Nombre2 Laura4 Alejandro
RESULT 1 ← ALUMNOS BD ∪ ALUMNOS TLENG
RESULT 1id Nombre1 Diego2 Laura3 Marina4 Alejandro
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - UNION, INTERSECTION, MINUS (Cont.)
Ejemplo 1. UNION
ALUMNOS BDsid Nombre1 Diego2 Laura3 Marina
ALUMNOS TLENGid Nombre2 Laura4 Alejandro
RESULT 1 ← ALUMNOS BD ∪ ALUMNOS TLENG
RESULT 1id Nombre1 Diego2 Laura3 Marina4 Alejandro
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - UNION, INTERSECTION, MINUS (Cont.)
Ejemplo 1. UNION
ALUMNOS BDsid Nombre1 Diego2 Laura3 Marina
ALUMNOS TLENGid Nombre2 Laura4 Alejandro
RESULT 1 ← ALUMNOS BD ∪ ALUMNOS TLENG
RESULT 1id Nombre1 Diego2 Laura3 Marina4 Alejandro
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - UNION, INTERSECTION, MINUS (Cont.)
Ejemplo 2. INTERSECTION
ALUMNOS BDsid Nombre1 Diego2 Laura3 Marina
ALUMNOS TLENGid Nombre2 Laura4 Alejandro
RESULT 2 ← ALUMNOS BD ∩ ALUMNOS TLENG
RESULT 2id Nombre2 Laura
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - UNION, INTERSECTION, MINUS (Cont.)
Ejemplo 2. INTERSECTION
ALUMNOS BDsid Nombre1 Diego2 Laura3 Marina
ALUMNOS TLENGid Nombre2 Laura4 Alejandro
RESULT 2 ← ALUMNOS BD ∩ ALUMNOS TLENG
RESULT 2id Nombre2 Laura
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - UNION, INTERSECTION, MINUS (Cont.)
Ejemplo 2. INTERSECTION
ALUMNOS BDsid Nombre1 Diego2 Laura3 Marina
ALUMNOS TLENGid Nombre2 Laura4 Alejandro
RESULT 2 ← ALUMNOS BD ∩ ALUMNOS TLENG
RESULT 2id Nombre2 Laura
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - UNION, INTERSECTION, MINUS (Cont.)
Ejemplo 3. SET DIFFERENCE
ALUMNOS BDsid Nombre1 Diego2 Laura3 Marina
ALUMNOS TLENGid Nombre2 Laura4 Alejandro
RESULT 3 ← ALUMNOS BD − ALUMNOS TLENG
RESULT 3id Nombre1 Diego3 Marina
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - UNION, INTERSECTION, MINUS (Cont.)
Ejemplo 3. SET DIFFERENCE
ALUMNOS BDsid Nombre1 Diego2 Laura3 Marina
ALUMNOS TLENGid Nombre2 Laura4 Alejandro
RESULT 3 ← ALUMNOS BD − ALUMNOS TLENG
RESULT 3id Nombre1 Diego3 Marina
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - UNION, INTERSECTION, MINUS (Cont.)
Ejemplo 3. SET DIFFERENCE
ALUMNOS BDsid Nombre1 Diego2 Laura3 Marina
ALUMNOS TLENGid Nombre2 Laura4 Alejandro
RESULT 3 ← ALUMNOS BD − ALUMNOS TLENG
RESULT 3id Nombre1 Diego3 Marina
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - UNION, INTERSECTION, MINUS (Cont.)
Conmutatividad.
R ∪ S = S ∪ RR ∩ S = S ∩ REn general, R − S 6= S − R
Asociatividad.
R ∪ (S ∪ T ) = (R ∪ S) ∪ TR ∩ (S ∩ T ) = (R ∩ S) ∩ T
Equivalencia. R ∩ S = ((R ∪ S)− (R − S))− (S − R)
SQL 1. Operaciones en SQL UNION, INTERSECT, EXCEPT funcionan comoen AR
SQL 2. Operaciones en SQL UNION ALL, INTERSECT ALL, EXCEPT ALLno eliminan duplicados
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - UNION, INTERSECTION, MINUS (Cont.)
Conmutatividad.
R ∪ S = S ∪ RR ∩ S = S ∩ REn general, R − S 6= S − R
Asociatividad.
R ∪ (S ∪ T ) = (R ∪ S) ∪ TR ∩ (S ∩ T ) = (R ∩ S) ∩ T
Equivalencia. R ∩ S = ((R ∪ S)− (R − S))− (S − R)
SQL 1. Operaciones en SQL UNION, INTERSECT, EXCEPT funcionan comoen AR
SQL 2. Operaciones en SQL UNION ALL, INTERSECT ALL, EXCEPT ALLno eliminan duplicados
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - UNION, INTERSECTION, MINUS (Cont.)
Conmutatividad.
R ∪ S = S ∪ RR ∩ S = S ∩ REn general, R − S 6= S − R
Asociatividad.
R ∪ (S ∪ T ) = (R ∪ S) ∪ TR ∩ (S ∩ T ) = (R ∩ S) ∩ T
Equivalencia. R ∩ S = ((R ∪ S)− (R − S))− (S − R)
SQL 1. Operaciones en SQL UNION, INTERSECT, EXCEPT funcionan comoen AR
SQL 2. Operaciones en SQL UNION ALL, INTERSECT ALL, EXCEPT ALLno eliminan duplicados
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - UNION, INTERSECTION, MINUS (Cont.)
Conmutatividad.
R ∪ S = S ∪ RR ∩ S = S ∩ REn general, R − S 6= S − R
Asociatividad.
R ∪ (S ∪ T ) = (R ∪ S) ∪ TR ∩ (S ∩ T ) = (R ∩ S) ∩ T
Equivalencia. R ∩ S = ((R ∪ S)− (R − S))− (S − R)
SQL 1. Operaciones en SQL UNION, INTERSECT, EXCEPT funcionan comoen AR
SQL 2. Operaciones en SQL UNION ALL, INTERSECT ALL, EXCEPT ALLno eliminan duplicados
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - UNION, INTERSECTION, MINUS (Cont.)
Conmutatividad.
R ∪ S = S ∪ RR ∩ S = S ∩ REn general, R − S 6= S − R
Asociatividad.
R ∪ (S ∪ T ) = (R ∪ S) ∪ TR ∩ (S ∩ T ) = (R ∩ S) ∩ T
Equivalencia. R ∩ S =
((R ∪ S)− (R − S))− (S − R)
SQL 1. Operaciones en SQL UNION, INTERSECT, EXCEPT funcionan comoen AR
SQL 2. Operaciones en SQL UNION ALL, INTERSECT ALL, EXCEPT ALLno eliminan duplicados
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - UNION, INTERSECTION, MINUS (Cont.)
Conmutatividad.
R ∪ S = S ∪ RR ∩ S = S ∩ REn general, R − S 6= S − R
Asociatividad.
R ∪ (S ∪ T ) = (R ∪ S) ∪ TR ∩ (S ∩ T ) = (R ∩ S) ∩ T
Equivalencia. R ∩ S = ((R ∪ S)− (R − S))− (S − R)
SQL 1. Operaciones en SQL UNION, INTERSECT, EXCEPT funcionan comoen AR
SQL 2. Operaciones en SQL UNION ALL, INTERSECT ALL, EXCEPT ALLno eliminan duplicados
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - UNION, INTERSECTION, MINUS (Cont.)
Conmutatividad.
R ∪ S = S ∪ RR ∩ S = S ∩ REn general, R − S 6= S − R
Asociatividad.
R ∪ (S ∪ T ) = (R ∪ S) ∪ TR ∩ (S ∩ T ) = (R ∩ S) ∩ T
Equivalencia. R ∩ S = ((R ∪ S)− (R − S))− (S − R)
SQL 1. Operaciones en SQL UNION, INTERSECT, EXCEPT funcionan comoen AR
SQL 2. Operaciones en SQL UNION ALL, INTERSECT ALL, EXCEPT ALLno eliminan duplicados
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - Ejercicio 2
VUELONumero Origen Destino Salida345 MAD CDG 12:30
321 MAD ORY 19:05
165 LHR CDG 09:55
903 CDG LHR 14:40
447 CDG LHR 17:00
AEROPUERTO
Codigo Nombre CiudadMAD Barajas Madrid
LGW Gatwick Londres
LHR Heathrow Londres
ORY Orly Parıs
CDG Charles de Gaulle Parıs
PASAJERO
DNI Nombre123 Marıa
456 Pedro
789 Isabel
RESERVA
DNI Nro Vuelo Fecha Precio789 165 07-01-11 210
123 345 20-12-10 170
789 321 15-12-10 250
456 345 03-11-10 190
1 Devolver los codigos de vuelo que tienen reservas generadas (utilizar ∩)
2 Devolver los codigos de vuelo que aun no tienen reservas
3 Retornar los codigos de aeropuerto de los que parten o arriban los vuelos
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - CARTESIAN PRODUCT
Funcion. Produce una nueva relacion que combina cada tupla de una relacioncon cada una de las tuplas de la otra relacion
Notacion. R X S
Ejemplo. PERSONANombre NacionalidadDiego ARLaura BRMarina AR
NACIONALIDADESIDN DetalleAR ArgentinaBR BrasileraCH Chilena
RESULT←PERSONAX NACIONALIDADESRESULT
Nombre Nacionalidad IDN DetalleDiego AR AR ArgentinaDiego AR BR BrasileraDiego AR CH ChilenaLaura BR AR ArgentinaLaura BR BR BrasileraLaura BR CH ChilenaMarina AR AR ArgentinaMarina AR BR BrasileraMarina AR CH Chilena
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - CARTESIAN PRODUCT
Funcion. Produce una nueva relacion que combina cada tupla de una relacioncon cada una de las tuplas de la otra relacion
Notacion. R X S
Ejemplo. PERSONANombre NacionalidadDiego ARLaura BRMarina AR
NACIONALIDADESIDN DetalleAR ArgentinaBR BrasileraCH Chilena
RESULT←PERSONAX NACIONALIDADES
RESULTNombre Nacionalidad IDN DetalleDiego AR AR ArgentinaDiego AR BR BrasileraDiego AR CH ChilenaLaura BR AR ArgentinaLaura BR BR BrasileraLaura BR CH ChilenaMarina AR AR ArgentinaMarina AR BR BrasileraMarina AR CH Chilena
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - CARTESIAN PRODUCT
Funcion. Produce una nueva relacion que combina cada tupla de una relacioncon cada una de las tuplas de la otra relacion
Notacion. R X S
Ejemplo. PERSONANombre NacionalidadDiego ARLaura BRMarina AR
NACIONALIDADESIDN DetalleAR ArgentinaBR BrasileraCH Chilena
RESULT←PERSONAX NACIONALIDADESRESULT
Nombre Nacionalidad IDN DetalleDiego AR AR ArgentinaDiego AR BR BrasileraDiego AR CH ChilenaLaura BR AR ArgentinaLaura BR BR BrasileraLaura BR CH ChilenaMarina AR AR ArgentinaMarina AR BR BrasileraMarina AR CH Chilena
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - CARTESIAN PRODUCT (Cont.)
Union compatible. Las relaciones no tienen que ser union compatibles
Grado. Si T = R X S entonces grado(T ) = grado(R) + grado(S)
SQL. CROSS JOIN
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - CARTESIAN PRODUCT (Cont.)
Union compatible. Las relaciones no tienen que ser union compatibles
Grado.
Si T = R X S entonces grado(T ) = grado(R) + grado(S)
SQL. CROSS JOIN
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - CARTESIAN PRODUCT (Cont.)
Union compatible. Las relaciones no tienen que ser union compatibles
Grado. Si T = R X S entonces grado(T ) = grado(R) + grado(S)
SQL. CROSS JOIN
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - CARTESIAN PRODUCT (Cont.)
Union compatible. Las relaciones no tienen que ser union compatibles
Grado. Si T = R X S entonces grado(T ) = grado(R) + grado(S)
SQL. CROSS JOIN
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - JOIN
Funcion. Permite combinar pares de tuplas relacionadas entre dos relaciones
Notacion. R ./<condici on> S
Ejemplo.PERSONA
Nombre NacionalidadDiego ARLaura BRMarina AR
NACIONALIDADESIDN DetalleAR ArgentinaBR BrasileraCH Chilena
RESULT ← PERSONA ./Nacionalidad=IDN NACIONALIDADES
RESULTNombre Nacionalidad IDN DetalleDiego AR AR ArgentinaLaura BR BR BrasileraMarina AR AR Argentina
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - JOIN
Funcion. Permite combinar pares de tuplas relacionadas entre dos relaciones
Notacion. R ./<condici on> S
Ejemplo.PERSONA
Nombre NacionalidadDiego ARLaura BRMarina AR
NACIONALIDADESIDN DetalleAR ArgentinaBR BrasileraCH Chilena
RESULT ← PERSONA ./Nacionalidad=IDN NACIONALIDADES
RESULTNombre Nacionalidad IDN DetalleDiego AR AR ArgentinaLaura BR BR BrasileraMarina AR AR Argentina
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - JOIN
Funcion. Permite combinar pares de tuplas relacionadas entre dos relaciones
Notacion. R ./<condici on> S
Ejemplo.PERSONA
Nombre NacionalidadDiego ARLaura BRMarina AR
NACIONALIDADESIDN DetalleAR ArgentinaBR BrasileraCH Chilena
RESULT ← PERSONA ./Nacionalidad=IDN NACIONALIDADES
RESULTNombre Nacionalidad IDN DetalleDiego AR AR ArgentinaLaura BR BR BrasileraMarina AR AR Argentina
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - JOIN (Cont.)
CARTESIAN PRODUCT vs JOIN.
CARTESIAN PRODUCT aparecen todas las combinaciones de tuplasJOIN aparecen solo combinaciones de tuplas que satisfacen condicion
Condicion 1. En general, formato de condicion de JOIN entre R y S :< condici on > AND < condici on > AND...AND < condici on >
Condicion 2. Forma de < condici on > es AiθBj , siendo Ai atributo de R y Bj
atributo de S
Condicion 3. dom(Ai ) = dom(Bj )
Condicion 4. θ ∈ {=, <,≤, >,≥, 6=}NULL. Tuplas cuyos atributos de JOIN son NULL o cuya condicion es falsa noaparecen en el resultado
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - JOIN (Cont.)
CARTESIAN PRODUCT vs JOIN.
CARTESIAN PRODUCT aparecen todas las combinaciones de tuplasJOIN aparecen solo combinaciones de tuplas que satisfacen condicion
Condicion 1. En general, formato de condicion de JOIN entre R y S :< condici on > AND < condici on > AND...AND < condici on >
Condicion 2. Forma de < condici on > es AiθBj , siendo Ai atributo de R y Bj
atributo de S
Condicion 3. dom(Ai ) = dom(Bj )
Condicion 4. θ ∈ {=, <,≤, >,≥, 6=}
NULL. Tuplas cuyos atributos de JOIN son NULL o cuya condicion es falsa noaparecen en el resultado
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - JOIN (Cont.)
CARTESIAN PRODUCT vs JOIN.
CARTESIAN PRODUCT aparecen todas las combinaciones de tuplasJOIN aparecen solo combinaciones de tuplas que satisfacen condicion
Condicion 1. En general, formato de condicion de JOIN entre R y S :< condici on > AND < condici on > AND...AND < condici on >
Condicion 2. Forma de < condici on > es AiθBj , siendo Ai atributo de R y Bj
atributo de S
Condicion 3. dom(Ai ) = dom(Bj )
Condicion 4. θ ∈ {=, <,≤, >,≥, 6=}NULL. Tuplas cuyos atributos de JOIN son NULL o cuya condicion es falsa noaparecen en el resultado
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - JOIN (Cont.)
EQUIJOIN. JOIN donde solo se utiliza la operacion = en la < condici on >.
Duplicacion de campos. Al utililzar la igualdad, se generan campos duplicados.Ejemplo.
PERSONANombre NacionalidadDiego ARLaura BRMarina AR
NACIONALIDADESIDN DetalleAR ArgentinaBR BrasileraCH Chilena
RESULT ← PERSONA ./Nacionalidad=IDN NACIONALIDADES
RESULTNombre Nacionalidad IDN DetalleDiego AR AR ArgentinaLaura BR BR BrasileraMarina AR AR Argentina
NATURAL JOIN. Realiza el JOIN entre campos de mismo nombre y deja solouno de los campos duplicadosNotacion. R ./ S (tambien en la bibliografıa R ∗ S)Requerimiento. Requiere que atributos de JOIN tengan el mismo nombre. Deno ser el caso, se debe hacer un RENAME previo
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - JOIN (Cont.)
EQUIJOIN. JOIN donde solo se utiliza la operacion = en la < condici on >.Duplicacion de campos. Al utililzar la igualdad, se generan campos duplicados.Ejemplo.
PERSONANombre NacionalidadDiego ARLaura BRMarina AR
NACIONALIDADESIDN DetalleAR ArgentinaBR BrasileraCH Chilena
RESULT ← PERSONA ./Nacionalidad=IDN NACIONALIDADES
RESULTNombre Nacionalidad IDN DetalleDiego AR AR ArgentinaLaura BR BR BrasileraMarina AR AR Argentina
NATURAL JOIN. Realiza el JOIN entre campos de mismo nombre y deja solouno de los campos duplicadosNotacion. R ./ S (tambien en la bibliografıa R ∗ S)Requerimiento. Requiere que atributos de JOIN tengan el mismo nombre. Deno ser el caso, se debe hacer un RENAME previo
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - JOIN (Cont.)
EQUIJOIN. JOIN donde solo se utiliza la operacion = en la < condici on >.Duplicacion de campos. Al utililzar la igualdad, se generan campos duplicados.Ejemplo.
PERSONANombre NacionalidadDiego ARLaura BRMarina AR
NACIONALIDADESIDN DetalleAR ArgentinaBR BrasileraCH Chilena
RESULT ← PERSONA ./Nacionalidad=IDN NACIONALIDADES
RESULTNombre Nacionalidad IDN DetalleDiego AR AR ArgentinaLaura BR BR BrasileraMarina AR AR Argentina
NATURAL JOIN. Realiza el JOIN entre campos de mismo nombre y deja solouno de los campos duplicadosNotacion. R ./ S (tambien en la bibliografıa R ∗ S)Requerimiento. Requiere que atributos de JOIN tengan el mismo nombre. Deno ser el caso, se debe hacer un RENAME previo
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - JOIN (Cont.)
EQUIJOIN. JOIN donde solo se utiliza la operacion = en la < condici on >.Duplicacion de campos. Al utililzar la igualdad, se generan campos duplicados.Ejemplo.
PERSONANombre NacionalidadDiego ARLaura BRMarina AR
NACIONALIDADESIDN DetalleAR ArgentinaBR BrasileraCH Chilena
RESULT ← PERSONA ./Nacionalidad=IDN NACIONALIDADES
RESULTNombre Nacionalidad IDN DetalleDiego AR AR ArgentinaLaura BR BR BrasileraMarina AR AR Argentina
NATURAL JOIN. Realiza el JOIN entre campos de mismo nombre y deja solouno de los campos duplicadosNotacion. R ./ S (tambien en la bibliografıa R ∗ S)Requerimiento. Requiere que atributos de JOIN tengan el mismo nombre. Deno ser el caso, se debe hacer un RENAME previo
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - JOIN (Cont.)
EQUIJOIN. JOIN donde solo se utiliza la operacion = en la < condici on >.Duplicacion de campos. Al utililzar la igualdad, se generan campos duplicados.Ejemplo.
PERSONANombre NacionalidadDiego ARLaura BRMarina AR
NACIONALIDADESIDN DetalleAR ArgentinaBR BrasileraCH Chilena
RESULT ← PERSONA ./Nacionalidad=IDN NACIONALIDADES
RESULTNombre Nacionalidad IDN DetalleDiego AR AR ArgentinaLaura BR BR BrasileraMarina AR AR Argentina
NATURAL JOIN. Realiza el JOIN entre campos de mismo nombre y deja solouno de los campos duplicadosNotacion. R ./ S (tambien en la bibliografıa R ∗ S)Requerimiento. Requiere que atributos de JOIN tengan el mismo nombre. Deno ser el caso, se debe hacer un RENAME previo
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - JOIN (Cont.)
Ejemplo NATURAL JOIN.
PERSONANombre NacionalidadDiego ARLaura BRMarina AR
NACIONALIDADESIDN DetalleAR ArgentinaBR BrasileraCH Chilena
NACIONALIDADES TEMP(Nacionalidad,Detalle)←πIDN,Detalle (NACIONALIDADES)
RESULT←PERSONA ./NACIONALIDADES TEMP
RESULTNombre Nacionalidad DetalleDiego AR ArgentinaLaura BR BrasileraMarina AR Argentina
Tamano resultado JOIN(S,R). Puede ir de 0 a S*R registros
Selectividad de JOIN. Es una tasa y corresponde a: |resultado JOIN(S,R)||S|∗|R|
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - JOIN (Cont.)
Ejemplo NATURAL JOIN.
PERSONANombre NacionalidadDiego ARLaura BRMarina AR
NACIONALIDADESIDN DetalleAR ArgentinaBR BrasileraCH Chilena
NACIONALIDADES TEMP(Nacionalidad,Detalle)←πIDN,Detalle (NACIONALIDADES)
RESULT←PERSONA ./NACIONALIDADES TEMP
RESULTNombre Nacionalidad DetalleDiego AR ArgentinaLaura BR BrasileraMarina AR Argentina
Tamano resultado JOIN(S,R). Puede ir de 0 a S*R registros
Selectividad de JOIN. Es una tasa y corresponde a: |resultado JOIN(S,R)||S|∗|R|
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - JOIN (Cont.)
Ejemplo NATURAL JOIN.
PERSONANombre NacionalidadDiego ARLaura BRMarina AR
NACIONALIDADESIDN DetalleAR ArgentinaBR BrasileraCH Chilena
NACIONALIDADES TEMP(Nacionalidad,Detalle)←πIDN,Detalle (NACIONALIDADES)
RESULT←PERSONA ./NACIONALIDADES TEMP
RESULTNombre Nacionalidad DetalleDiego AR ArgentinaLaura BR BrasileraMarina AR Argentina
Tamano resultado JOIN(S,R). Puede ir de 0 a S*R registros
Selectividad de JOIN. Es una tasa y corresponde a: |resultado JOIN(S,R)||S|∗|R|
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - JOIN (Cont.)
Ejemplo NATURAL JOIN.
PERSONANombre NacionalidadDiego ARLaura BRMarina AR
NACIONALIDADESIDN DetalleAR ArgentinaBR BrasileraCH Chilena
NACIONALIDADES TEMP(Nacionalidad,Detalle)←πIDN,Detalle (NACIONALIDADES)
RESULT←PERSONA ./NACIONALIDADES TEMP
RESULTNombre Nacionalidad DetalleDiego AR ArgentinaLaura BR BrasileraMarina AR Argentina
Tamano resultado JOIN(S,R). Puede ir de 0 a S*R registros
Selectividad de JOIN. Es una tasa y corresponde a: |resultado JOIN(S,R)||S|∗|R|
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - JOIN (Cont.)
SQL. Se Puede realizar de multiples maneras.
Ejemplo.NACIONALIDADES TEMP(Nacionalidad,Detalle)←πIDN,Detalle (NACIONALIDADES)
RESULT←PERSONA ./NACIONALIDADES TEMP
se puede corresponder con:
SELECT Persona.Nombre, Persona.Nacionalidad, NACIONALIDADES.DetalleFROM PERSONA, NACIONALIDADESWHERE PERSONA.Nacionalidad=NACIONALIDADES.IDN;
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - OUTER JOIN
INNER JOIN. JOIN donde tuplas que no cumplen condicion de JOIN soneliminadas del resultado (Ej. NULL en atributo de JOIN)
OUTER JOIN. JOIN en el cual se incorpora adicionalmente al resultado lastuplas de R, S , o ambas relaciones, que no cumplen la condicion de JOIN
LEFT OUTER JOIN. R ./ S. Conserva todas las tuplas de R. Si no seencuentra ninguna tupla de S que cumpla con condicion de JOIN, entonces losatributos de S en el resultado se completan en NULL
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - OUTER JOIN
INNER JOIN. JOIN donde tuplas que no cumplen condicion de JOIN soneliminadas del resultado (Ej. NULL en atributo de JOIN)
OUTER JOIN. JOIN en el cual se incorpora adicionalmente al resultado lastuplas de R, S , o ambas relaciones, que no cumplen la condicion de JOIN
LEFT OUTER JOIN. R ./ S. Conserva todas las tuplas de R. Si no seencuentra ninguna tupla de S que cumpla con condicion de JOIN, entonces losatributos de S en el resultado se completan en NULL
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - OUTER JOIN
Ejemplo. PERSONANombre NacionalidadDiego BRLaura NULLMarina ARSantiago UY
NACIONALIDADESIDN DetalleAR ArgentinaBR BrasileraCH Chilena
RESULT←PERSONA ./ Nacionalidad=IDN NACIONALIDADES
RESULTNombre Nacionalidad IDN DetalleDiego BR BR BrasileraMarina AR AR Argentina
RESULT←PERSONA ./ Nacionalidad=IDN NACIONALIDADES
RESULTNombre Nacionalidad IDN DetalleDiego BR BR BrasileraLaura NULL NULL NULLMarina AR AR ArgentinaSantiago UY NULL NULL
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - OUTER JOIN
Ejemplo. PERSONANombre NacionalidadDiego BRLaura NULLMarina ARSantiago UY
NACIONALIDADESIDN DetalleAR ArgentinaBR BrasileraCH Chilena
RESULT←PERSONA ./ Nacionalidad=IDN NACIONALIDADES
RESULTNombre Nacionalidad IDN DetalleDiego BR BR BrasileraMarina AR AR Argentina
RESULT←PERSONA ./ Nacionalidad=IDN NACIONALIDADES
RESULTNombre Nacionalidad IDN DetalleDiego BR BR BrasileraLaura NULL NULL NULLMarina AR AR ArgentinaSantiago UY NULL NULL
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - OUTER JOIN
Ejemplo. PERSONANombre NacionalidadDiego BRLaura NULLMarina ARSantiago UY
NACIONALIDADESIDN DetalleAR ArgentinaBR BrasileraCH Chilena
RESULT←PERSONA ./ Nacionalidad=IDN NACIONALIDADES
RESULTNombre Nacionalidad IDN DetalleDiego BR BR BrasileraMarina AR AR Argentina
RESULT←PERSONA ./ Nacionalidad=IDN NACIONALIDADES
RESULTNombre Nacionalidad IDN DetalleDiego BR BR BrasileraLaura NULL NULL NULLMarina AR AR ArgentinaSantiago UY NULL NULL
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - OUTER JOIN
Ejemplo. PERSONANombre NacionalidadDiego BRLaura NULLMarina ARSantiago UY
NACIONALIDADESIDN DetalleAR ArgentinaBR BrasileraCH Chilena
RESULT←PERSONA ./ Nacionalidad=IDN NACIONALIDADES
RESULTNombre Nacionalidad IDN DetalleDiego BR BR BrasileraMarina AR AR Argentina
RESULT←PERSONA ./ Nacionalidad=IDN NACIONALIDADES
RESULTNombre Nacionalidad IDN DetalleDiego BR BR BrasileraLaura NULL NULL NULLMarina AR AR ArgentinaSantiago UY NULL NULL
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - OUTER JOIN
Ejemplo. PERSONANombre NacionalidadDiego BRLaura NULLMarina ARSantiago UY
NACIONALIDADESIDN DetalleAR ArgentinaBR BrasileraCH Chilena
RESULT←PERSONA ./ Nacionalidad=IDN NACIONALIDADES
RESULTNombre Nacionalidad IDN DetalleDiego BR BR BrasileraMarina AR AR Argentina
RESULT←PERSONA ./ Nacionalidad=IDN NACIONALIDADES
RESULTNombre Nacionalidad IDN DetalleDiego BR BR BrasileraLaura NULL NULL NULLMarina AR AR ArgentinaSantiago UY NULL NULL
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - OUTER JOIN (Cont.)
RIGHT OUTER JOIN. R ./ S. Conserva todas las tuplas de S. Si no seencuentra ninguna tupla de R que cumpla con condicion de JOIN, entonces losatributos de R en el resultado se completan en NULL
FULL OUTER JOIN. R ./ S. Conserva todas las tuplas de R y S . Si no seencuentra ninguna tupla de R o S que cumpla con condicion de JOIN, entoncessus atributos en el resultado se completan en NULL
SQL. Las tres operaciones de OUTER JOIN son parte del estandar SQL2
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - Ejercicio 3
VUELONumero Origen Destino Salida345 MAD CDG 12:30
321 MAD ORY 19:05
165 LHR CDG 09:55
903 CDG LHR 14:40
447 CDG LHR 17:00
AEROPUERTO
Codigo Nombre CiudadMAD Barajas Madrid
LGW Gatwick Londres
LHR Heathrow Londres
ORY Orly Parıs
CDG Charles de Gaulle Parıs
PASAJERO
DNI Nombre123 Marıa
456 Pedro
789 Isabel
RESERVA
DNI Nro Vuelo Fecha Precio789 165 07-01-11 210
123 345 20-12-10 170
789 321 15-12-10 250
456 345 03-11-10 190
1 Devolver el nombre de la ciudad de partida del vuelo numero 165
2 Retornar el nombre de las personas que realizaron reservas a un valor menor a$200
3 Obtener Nombre, Fecha y Destino del Viaje de todos los pasajeros que vuelandesde Madrid
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - DIVISION
Funcion. Retorna los valores de R que se encuentran emparejados con TODOSlos valores de S
Notacion. R ÷ S. Requiere que atributos de S ⊂ atributos de R. Resultadocontiene atributos de R menos atributos de S
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - DIVISION (Cont.)
Ejemplo.ALUMNOS
Nombre MateriaDiego BDDiego PLPLaura BDLaura PLPLaura TLENGMarina BDMarina TLENGSantiago BDSantiago PLPSantiago TLENG
MATERIAS 1MateriaBD
MATERIAS 2MateriaBDTLENG
MATERIAS 3MateriaBDPLPTLENG
ALUMNOS÷MATERIAS 1
NombreDiegoLauraMarinaSantiago
ALUMNOS÷MATERIAS 2
NombreLauraMarinaSantiago
ALUMNOS÷MATERIAS 3
NombreLauraSantiago
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - DIVISION (Cont.)
Ejemplo.ALUMNOS
Nombre MateriaDiego BDDiego PLPLaura BDLaura PLPLaura TLENGMarina BDMarina TLENGSantiago BDSantiago PLPSantiago TLENG
MATERIAS 1MateriaBD
MATERIAS 2MateriaBDTLENG
MATERIAS 3MateriaBDPLPTLENG
ALUMNOS÷MATERIAS 1
NombreDiegoLauraMarinaSantiago
ALUMNOS÷MATERIAS 2
NombreLauraMarinaSantiago
ALUMNOS÷MATERIAS 3
NombreLauraSantiago
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - DIVISION (Cont.)
Ejemplo.ALUMNOS
Nombre MateriaDiego BDDiego PLPLaura BDLaura PLPLaura TLENGMarina BDMarina TLENGSantiago BDSantiago PLPSantiago TLENG
MATERIAS 1MateriaBD
MATERIAS 2MateriaBDTLENG
MATERIAS 3MateriaBDPLPTLENG
ALUMNOS÷MATERIAS 1
NombreDiegoLauraMarinaSantiago
ALUMNOS÷MATERIAS 2
NombreLauraMarinaSantiago
ALUMNOS÷MATERIAS 3
NombreLauraSantiago
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - DIVISION (Cont.)
Ejemplo.ALUMNOS
Nombre MateriaDiego BDDiego PLPLaura BDLaura PLPLaura TLENGMarina BDMarina TLENGSantiago BDSantiago PLPSantiago TLENG
MATERIAS 1MateriaBD
MATERIAS 2MateriaBDTLENG
MATERIAS 3MateriaBDPLPTLENG
ALUMNOS÷MATERIAS 1
NombreDiegoLauraMarinaSantiago
ALUMNOS÷MATERIAS 2
NombreLauraMarinaSantiago
ALUMNOS÷MATERIAS 3
NombreLauraSantiago
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - DIVISION (Cont.)
Ejemplo.ALUMNOS
Nombre MateriaDiego BDDiego PLPLaura BDLaura PLPLaura TLENGMarina BDMarina TLENGSantiago BDSantiago PLPSantiago TLENG
MATERIAS 1MateriaBD
MATERIAS 2MateriaBDTLENG
MATERIAS 3MateriaBDPLPTLENG
ALUMNOS÷MATERIAS 1
NombreDiegoLauraMarinaSantiago
ALUMNOS÷MATERIAS 2
NombreLauraMarinaSantiago
ALUMNOS÷MATERIAS 3
NombreLauraSantiago
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - DIVISION (Cont.)
Ejemplo.ALUMNOS
Nombre MateriaDiego BDDiego PLPLaura BDLaura PLPLaura TLENGMarina BDMarina TLENGSantiago BDSantiago PLPSantiago TLENG
MATERIAS 1MateriaBD
MATERIAS 2MateriaBDTLENG
MATERIAS 3MateriaBDPLPTLENG
ALUMNOS÷MATERIAS 1
NombreDiegoLauraMarinaSantiago
ALUMNOS÷MATERIAS 2
NombreLauraMarinaSantiago
ALUMNOS÷MATERIAS 3
NombreLauraSantiago
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - DIVISION (Cont.)
Ejemplo.ALUMNOS
Nombre MateriaDiego BDDiego PLPLaura BDLaura PLPLaura TLENGMarina BDMarina TLENGSantiago BDSantiago PLPSantiago TLENG
MATERIAS 1MateriaBD
MATERIAS 2MateriaBDTLENG
MATERIAS 3MateriaBDPLPTLENG
ALUMNOS÷MATERIAS 1
NombreDiegoLauraMarinaSantiago
ALUMNOS÷MATERIAS 2
NombreLauraMarinaSantiago
ALUMNOS÷MATERIAS 3
NombreLauraSantiago
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - DIVISION
Operacion 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
NombreDiegoLauraMarinaSantiago
TEMP 2
NombreDiegoMarina
RESULT
NombreLauraSantiago
SQL. No suele implementar DIVISION
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - DIVISION
Operacion 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
NombreDiegoLauraMarinaSantiago
TEMP 2
NombreDiegoMarina
RESULT
NombreLauraSantiago
SQL. No suele implementar DIVISION
Algebra Relacional
IntroduccionOperaciones UnariasOperaciones Binarias
UNION, INTERSECTION, MINUSCARTESIAN PRODUCT / JOINDIVISION
AR - DIVISION
Operacion 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
NombreDiegoLauraMarinaSantiago
TEMP 2
NombreDiegoMarina
RESULT
NombreLauraSantiago
SQL. No suele implementar DIVISION
Algebra Relacional
top related