Professional Documents
Culture Documents
lgebra Relacional
Daniel Teixeira
lgebra Relacional
uma linguagem de consulta terica
Usurios no a usam diretamente.
muito complicada para ser usada
diretamente
Outras linguagens de consulta so traduzidas
em lgebra relacional
Diferena
Produto Cartesiano
CPF
salrio
CPF_Supersisor
dnmero
Chico
1234
5000
9012
01
Maria
5678
6500
9012
02
Jos
9012
4000
NULL
03
PROJETOS ( P )
DEPARTAMENTO ( D )
dnome
dnmero
pnome
CPF_gerente
pnmero
dnmero
Qumica
01
1234
CLife
01
03
Fsica
02
5678
H2O
02
03
Biologia
03
9012
BBad
03
01
TRABALHA ( T )
CPF_Emp
pnmero
1234
03
9012
01
Produto cartesiano
Seleo
Projeo
dnome
dnmero
salrio
CPF_Supersisor
CPF_gerente
dnmero
dnome
dnmero
salrio
CPF_Supersisor
CPF_gerente
dnmero
Implementando Juno
Esquema Exemplo
enome
CPF
E
D
dnome
dnmero
salrio
CPF_Supersisor
dnmero
CPF_gerente
Implementando Juno
Esquema Exemplo
enome
CPF
E
D
dnome
dnmero
salrio
CPF_Supersisor
dnmero
CPF_gerente
Implementando Juno
Esquema Exemplo
enome
CPF
E
D
dnome
dnmero
salrio
CPF_Supersisor
dnmero
CPF_gerente
Implementando Juno
Esquema Exemplo
E enome
CPF
salrio
D
dnome
dnmero
CPF_Supersisor
dnmero
CPF_gerente
Implementando Juno
Esquema Exemplo
enome
CPF
E
D
dnome
dnmero
salrio
CPF_Supersisor
dnmero
CPF_gerente
Outer Join
Encontre o nome do departamento de cada
empregado. Devem constar inclusive os
empregados sem departamento.
select E.enome, D.dnome
from E, D
where E1.dnmero *= D.dnmero;
Implementando Juno
EMPREGADOS ( E )
enome
Chico
Maria
Jos
Renato
CPF
1234
5678
9012
50500
salrio
5000
6500
4000
7000
CPF_Supersisor
9012
9012
NULL
NULL
DEPARTAMENTO ( D )
dnome
Qumica
Fsica
Biologia
dnmero CPF_gerente
01
1234
02
5678
03
9012
dnmero
01
02
03
NULL
RESULTADO
enome
Chico
Maria
Jos
Renato
dnome
Qumica
Fsica
Biologia
NULL
Subconsultas
Testa membros de um conjunto:
IN
NOT IN
Verificao de Relaes Vazias:
EXISTS
NOT EXISTS
Comparao de Conjuntos: Subconsultas
introduzidas com um operador de
comparao ( =,<>, >, >=, <, <= ) seguida
por ANY ou ALL
Subconsultas
Esquema Exemplo
enome
CPF
E
D
dnome
dnmero
salrio
CPF_Supersisor
dnmero
CPF_gerente
Subconsultas
Esquema Exemplo
enome
CPF
E
D
dnome
dnmero
salrio
CPF_Supersisor
dnmero
CPF_gerente
Subconsultas
Esquema Exemplo
enome
CPF
E
D
dnome
dnmero
salrio
CPF_Supersisor
dnmero
CPF_gerente
Subconsultas
Esquema Exemplo
enome
CPF
E
D
dnome
dnmero
salrio
CPF_Supersisor
CPF_gerente
dnmero
Subconsultas
Esquema Exemplo
enome
CPF
E
D
dnome
dnmero
salrio
CPF_Supersisor
dnmero
CPF_gerente
Ordenando Resultados
Esquema Exemplo
enome
CPF
E
D
dnome
dnmero
salrio
CPF_Supersisor
dnmero
CPF_gerente
Ordenando Resultados
EMPREGADOS ( E )
enome
Chico
Maria
Jos
Renato
Adriano
CPF
1234
5678
9012
50500
12121
salrio
5000
6500
4000
7000
4000
CPF_Supersisor
9012
9012
NULL
NULL
9012
dnmero
01
01
02
02
02
RESULTADO
enome
Maria
Chico
Renato
Adriano
Jos
CPF
5678
1234
50500
12121
9012
salrio
6500
5000
7000
4000
4000
CPF_Supersisor
9012
9012
NULL
9012
NULL
dnmero
01
01
02
02
02
Funes de Agregao
Esquema Exemplo
E enome
CPF
salrio
D
dnome
dnmero
CPF_Supersisor
dnmero
CPF_gerente
Funes de Agregao
Esquema Exemplo
enome
CPF
E
D
dnome
dnmero
salrio
CPF_Supersisor
dnmero
CPF_gerente
Funes de Agregao
Esquema Exemplo
enome
CPF
E
D
dnome
dnmero
salrio
CPF_Supersisor
dnmero
CPF_gerente