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)))