Banco de Dados II
Aula 5-6
Conteúdo:
Álgebra Relacional: Resolução Exercícios
Profa. Ms. Sueli A. Loddi
BDII - Álgebra Relacional
Treinamento
IdTreina NrMatric CdTreina DtCurso
1
1001T1
1/3/2000
2
1004T1
1/3/2000
3
1034T1
1/3/2000
4
1021T1
1/3/2000
5
1029T1
1/3/2000
6
1095T1
1/3/2000
8
1042T1
1/3/2000
9
1048T2
5/4/1999
10
1015T2
5/4/1999
Depto
CdDepto
D1
D2
D3
nmDepto
RH
OFICINA
RESTAURANTE
ramal
55
66
99
NrMatrSupervisor
1048
1015
1004
BDII - Álgebra Relacional
BDII - Álgebra Relacional
Ex 1) Todos os funcionários do Departamento D1
(σ funcionario.CdDepto = ‘D1’ (funcionario))
Ou
π * (σ funcionario.CdDepto = ‘D1’ (funcionario))
Ou
π funcionario.nrMatric, funcionario.nmFunc, funcionario.DtAdm,
funcionario.sexo, funcionario.cdCargo, funcionario.cdDepto
(σ funcionario.CdDepto = ‘D1’ (funcionario))
BDII - Álgebra Relacional
Ex 2) Nome e Matrícula de Todos os funcionários do Departamento D1
π funcionario.nrMatric, funcionario.nmFunc
(σ funcionario.CdDepto = ‘D1’ (funcionario))
BDII - Álgebra Relacional
Ex 3) Matricula e nome do departamento de Todos os funcionários
Demonstrando a JUNÇÃO
( funcionario |X| Depto ) 
(funcionario |X| funcionario.CdDepto = Depto.CdDepto Depto )
π funcionario.nrMatr, depto.nmDepto ( funcionario |X| Depto )
BDII - Álgebra Relacional
Ex 4) Nome de todos os funcionários que ganham mais de $500
Demonstrando a JUNÇÃO
( funcionario |X| Cargo ) 
(funcionario |X| funcionario.CdCargo= Cargo.CdCargo Cargo)
π funcionario.nmFunc (σ Cargo.vrSalario > 500 (funcionario |X| Cargo ))
BDII - Álgebra Relacional
Ex 5) O Ramal da funcionária “Ana Silveira”
Demonstrando a JUNÇÃO
( funcionario |X| Depto ) 
(funcionario |X| funcionario.CdDepto = Depto.CdDepto Depto )
π depto.ramal (σ funcionario.nmFunc = “Ana Silveira” ( funcionario |X| Depto ))
BDII - Álgebra Relacional
Ex 6) O nome dos funcionários com o cargo = “Mecanico”
Demonstrando a JUNÇÃO
( funcionario |X| Cargo ) 
(funcionario |X| funcionario.CdCargo= Cargo.CdCargo Cargo)
π funcionario.nmFunc (σ Cargo.nmCargo = “Mecanico” (funcionario |X| Cargo ))
BDII - Álgebra Relacional
Ex 7) O nome dos funcionários que trabalham no mesmo departamento que
“José Nogueira”
D ← (π cdDepto (σ nmFunc = “José Nogueira” (funcionario)))
(π nmFunc (σ cdDepto = D (funcionario)))
BDII - Álgebra Relacional
Ex 8) Nome dos departamentos que possuem tanto Funcionarias como
Funcionários
Demonstrando a JUNÇÃO
( funcionario |X| Depto ) 
(funcionario |X| funcionario.CdDepto = Depto.CdDepto Depto )
(π Depto.nmDepto (σ funcionario.sexo = “F” (funcionario |X| Depto )))
∩
(π Depto.nmDepto (σ funcionario.sexo = “M” (funcionario |X| Depto )))
BDII - Álgebra Relacional
Ex 9) Nome do departamento onde os Funcionários Ganham Mais de $2000 ??
Ex 10) O nome e matrícula dos funcionários que ganham mais de $500 e não
participaram do treinamento T1 ???
Ex 11) O funcionário que não Fez nenhum treinamento ???
BDII - Álgebra Relacional
Ex 9) Nome do departamento onde os Funcionários Ganham Mais de $3000 ??
Demonstrando a JUNÇÃO
(Depto |X| funcionario |X| Cargo ) 
(Depto |X| Depto.CdDepto = funcionario.CdDepto funcionario |X|
funcionario.CdCargo = Cargo.CdCargo Cargo )
( π Depto.nmDepto (σ Cargo.VrSalario > 2000 (Depto |X| funcionario |X| Cargo ))
BDII - Álgebra Relacional
Ex 10) O Treinamento, nome e matrícula dos funcionários que ganham mais de
$500 e não participaram do treinamento T1 ???
Demonstrando as JUNÇÕES
( Treinamento |X| funcionario |X| Cargo ) 
(Treinamento |X| Treinamento.NrMatric= funcionario.NrMatric funcionario |X|
funcionario.CdCargo= Cargo.CdCargo Cargo)
E
(funcionario |X| Treinamento)
(funcionario |X| funcionario.NrMatric = Treinamento.NrMatric Treinamento)
( π funcionario.nmFunc, funcionario.nrMatr, Treinamento.CdTreina
(σ Cargo.VrSalario > 500 (Treinamento |X| funcionario |X| Cargo ))
(π funcionario.nmFunc, funcionario.nrMatr, Treinamento.CdTreina
(σ Treinamento.CdTreina = T1 (funcionario |X| Treinamento)))
BDII - Álgebra Relacional
Ex 11) O funcionário que não Fez nenhum treinamento ???
Demonstrando a JUNÇÃO
(funcionario |X| Treinamento)
(funcionario |X| funcionario.NrMatric = Treinamento.NrMatric Treinamento)
( π nmFunc, nrMatr (σ Treinamento.CdTreina = null (funcionario |X| Treinamento)))
Download

Álgebra Relacional