Empregado (PrimeiroNome, InicialMeio, UltimoNome, NumEmpregado, DataNascimento, Endereco, Sexo, Salario, NumSupervisor, NumDepto) Departamento (NomeDepto, NumDepto, NumGerente, DataInicioGerencia) Localizacao_Depto (NumDepart, Localizacao) Projeto (NomeProj, NumProj, Localizacao, NumDepto) Trabalha_em (NumEmpregado, NumProj, Horas) Dependente (NumEmpregado, NomeDependente, Sexo, DataAniversario, Parentesco) Empregado [NumSupervisor] {n} Empregado [NumEmpregado] Empregado [NumDepto] {b} Departamento [NumDepto] Departamento [NumGerente] {b} Empregado [NumEmpregado] Localizacao_Depto [NumDepart] {p} Departamento [NumDepto] Projeto [NumDepto] {b} Departamento [NumDepto] Trabalha_em [NumEmpregado] {p} Empregado [NumEmpregado] Trabalha_em [NumProj] {p} Projeto [NumProj] Dependente [NumEmpregado] {p} Empregado [NumEmpregado]
1. Recuperar o nome (primeiro e ltimo nome) e o endereo dos
empregados que trabalham para o departamento de nmero 5. R PrimeiroNome,UltimoNome,Endereco ( NumDepto=5 (Empregado))
30
BD-I - Prof. Guilherme Tavares de Assis
31
BD-I - Prof. Guilherme Tavares de Assis
Exerccio lgebra Relacional
Exerccio lgebra Relacional
2. Recuperar o nome (primeiro e ltimo nome) e o endereo dos
empregados que trabalham para o departamento 'Pesquisa'. DepPesq NomeDepto = 'Pesquisa' (Departamento) R PrimeiroNome,UltimoNome,Endereco (DepPesq Empregado)
3. Para cada projeto localizado no 'Centro', recuperar o nmero do
projeto, o nmero do departamento controlador e o nome (primeiro e ltimo nome), o endereo e a data de nascimento do gerente do departamento. ProjsCentro Localizacao = 'Centro' (Projeto) DepsProjs ProjsCentro Departamento GersDeps Empregado NumEmpregado=NumGerente DepsProjs R NumProj,NumDepto,PrimeiroNome,UltimoNome,Endereco,DataNascimento (GersDeps)
32
33
BD-I - Prof. Guilherme Tavares de Assis
BD-I - Prof. Guilherme Tavares de Assis
Exerccio lgebra Relacional
Exerccio lgebra Relacional
4. Recuperar o nome (primeiro e ltimo nome) dos empregados
que trabalham em todos os projetos controlados pelo departamento de nmero 5. ProjsDep5 NumProj ( NumDepto=5 (Projeto)) EmpsProjs NumEmpregado,NumProj (Trabalha_em) EmpsProjsDep5 EmpsProjs ProjsDep5 R PrimeiroNome,UltimoNome (EmpsProjsDep5 Empregado)
5. Recuperar o nmero dos projetos que envolvam um empregado
cujo sobrenome seja 'Silva', como sendo um trabalhador ou como um gerente do departamento que controla o projeto. Silva NumEmpregado ( UltimoNome = 'Silva' (Empregado)) ProjsSilva NumProj (Trabalha_em Silva) DepsGerSilva NumDepto (Silva NumEmpregado=NumGerente Departamento) ProjsGerSilva NumProj (DepsGerSilva Projeto) R ProjsSilva ProjsGerSilva
34
BD-I - Prof. Guilherme Tavares de Assis
35
BD-I - Prof. Guilherme Tavares de Assis
Exerccio lgebra Relacional
Exerccio lgebra Relacional
6. Recuperar o nome (primeiro e ltimo nome) dos empregados
que tenham dependentes. R PrimeiroNome,UltimoNome (Empregado Dependente)
7. Recuperar o nome (primeiro e ltimo nome) dos empregados
que tenham dois ou mais dependentes. QteDepsEmps (NumEmpregado,QteDeps) NumEmpregado Count NomeDependente (Dependente) EmpsMais2Deps QteDeps 2 (QteDepsEmps) R PrimeiroNome,UltimoNome (EmpsMais2Deps Empregado)
36
37
BD-I - Prof. Guilherme Tavares de Assis
BD-I - Prof. Guilherme Tavares de Assis
Exerccio lgebra Relacional
Exerccio lgebra Relacional
8. Recuperar o nome (primeiro e ltimo nome) dos empregados
que no tenham dependentes.
9. Recuperar o nome (primeiro e ltimo nome) dos gerentes que
tenham dependentes.
TodosEmps NumEmpregado (Empregado)
EmpsComDeps NumEmpregado (Dependente) EmpsSemDeps TodosEmp EmpsComDeps R PrimeiroNome,UltimoNome (EmpsSemDeps Empregado)
Gerentes (NumEmpregado) NumGerente (Departamento)
EmpsComDeps NumEmpregado (Dependente) GersComDeps Gerentes EmpsComDeps R PrimeiroNome,UltimoNome (GersComDeps Empregado)