Exerccio lgebra Relacional Esquema relacional "Empresa": 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) 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] 30 BD-I - Prof. Guilherme Tavares de Assis Exerccio lgebra Relacional 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)) 31 BD-I - Prof. Guilherme Tavares de Assis 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) 32 BD-I - Prof. Guilherme Tavares de Assis Exerccio lgebra Relacional 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)
33 DepsProjs ProjsCentro Departamento GersDeps Empregado NumEmpregado=NumGerente DepsProjs R NumProj,NumDepto,PrimeiroNome,UltimoNome,Endereco,DataNascimento (GersDeps) BD-I - Prof. Guilherme Tavares de Assis 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) 34 NumEmpregado,NumProj EmpsProjsDep5 EmpsProjs ProjsDep5 R PrimeiroNome,UltimoNome (EmpsProjsDep5 Empregado) BD-I - Prof. Guilherme Tavares de Assis Exerccio lgebra Relacional 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) 35 NumProj DepsGerSilva NumDepto (Silva NumEmpregado=NumGerente Departamento) ProjsGerSilva NumProj (DepsGerSilva Projeto) R ProjsSilva ProjsGerSilva BD-I - Prof. Guilherme Tavares de Assis Exerccio lgebra Relacional 6. Recuperar o nome (primeiro e ltimo nome) dos empregados que tenham dependentes. R PrimeiroNome,UltimoNome (Empregado Dependente) 36 BD-I - Prof. Guilherme Tavares de Assis Exerccio lgebra Relacional 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) 37 EmpsMais2Deps QteDeps 2 (QteDepsEmps) R PrimeiroNome,UltimoNome (EmpsMais2Deps Empregado) BD-I - Prof. Guilherme Tavares de Assis Exerccio lgebra Relacional 8. Recuperar o nome (primeiro e ltimo nome) dos empregados que no tenham dependentes. TodosEmps NumEmpregado (Empregado) EmpsComDeps NumEmpregado (Dependente) EmpsSemDeps TodosEmp EmpsComDeps 38 EmpsSemDeps TodosEmp EmpsComDeps R PrimeiroNome,UltimoNome (EmpsSemDeps Empregado) BD-I - Prof. Guilherme Tavares de Assis Exerccio lgebra Relacional 9. Recuperar o nome (primeiro e ltimo nome) dos gerentes que tenham dependentes. Gerentes (NumEmpregado) NumGerente (Departamento) EmpsComDeps NumEmpregado (Dependente) GersComDeps Gerentes EmpsComDeps 39 GersComDeps Gerentes EmpsComDeps R PrimeiroNome,UltimoNome (GersComDeps Empregado)