Exercícios de Álgebra Relacional em Banco de Dados
Classificado em Formação e Orientação para o Emprego
Escrito em em
português com um tamanho de 3,35 KB
Consultas em Álgebra Relacional
- Exibir o nome, CPF e data de admissão de todos os funcionários:
$$\pi_{\text{Nome\_func, CPF\_func, Data\_admissao\_func}} (\text{FUNC})$$ - Exibir o histórico de todos os cargos e salários do funcionário 185:
$$\sigma_{\text{Numero\_func} = 185} (\text{HIST})$$ - Exibir os nomes de todos os departamentos cadastrados:
$$\pi_{\text{Nome\_dpto}} (\text{DPTO})$$ - Exibir os nomes dos funcionários ativos:
$$\pi_{\text{Nome\_func}} (\sigma_{\text{Situacao\_func} = \text{'A'}} (\text{FUNC}))$$ - Exibir o salário líquido pago ao funcionário 76 no mês de março de 2010. Obs.: mensalista.
$$\pi_{\text{Sal\_base\_pgto} - \text{Total\_desc\_pgto}} (\sigma_{\text{Numero\_func} = 76 \land \text{Mes\_ref\_pgto} = 3 \land \text{Ano\_ref\_pgto} = 2010} (\text{PGTO}))$$ - Exibir os nomes de todos os prestadores de serviço, informando também seus salários base e códigos dos cargos:
$$\pi_{\text{Nome\_func}, \text{Salario\_base\_func}, \text{FUNC.Codigo\_carg}} (\sigma_{\text{FUNC.Codigo\_carg} = \text{CARG.Codigo\_carg} \land ( \text{Tipo\_contrato\_carg} = \text{'R'} \lor \text{Tipo\_contrato\_carg} = \text{'S'} )} (\text{FUNC} \bowtie \text{CARG}))$$ - Exibir o nome e a data de admissão dos funcionários alocados no departamento “T02”:
$$\pi_{\text{Nome\_func}, \text{Data\_admissao\_func}} (\sigma_{\text{FUNC.Numero\_func} = \text{ALOC.Numero\_func}} (\text{FUNC} \bowtie \sigma_{\text{Codigo\_dpto} = \text{'T02'}} (\text{ALOC})))$$ - Exibir o nome do gerente do departamento “Limpeza III”:
$$\text{LIMP} \leftarrow \sigma_{\text{Nome\_dpto} = \text{'Limpeza III'}} (\text{DPTO})$$
$$\pi_{\text{Nome\_func}} (\sigma_{\text{FUNC.Numero\_func} = \text{LIMP.Numero\_gerente}} (\text{FUNC} \bowtie \text{LIMP}))$$ - Exibir o número e nome dos empregados mensalistas que tenham o mesmo cargo que o funcionário “Valter Nogueira”:
$$\pi_{\text{OUTROS.Numero\_func}, \text{OUTROS.Nome\_func}} (\sigma_{\text{OUTROS.Codigo\_carg} = \text{VALTER.Codigo\_carg}} (\rho_{\text{VALTER}} (\sigma_{\text{Nome\_func} = \text{'Valter Nogueira'}} (\text{FUNC})) \bowtie \rho_{\text{OUTROS}} (\sigma_{\text{Nome\_func} \neq \text{'Valter Nogueira'} \land \text{FUNC.Codigo\_carg} = \text{CARG.Codigo\_carg}} (\text{FUNC}) \bowtie \sigma_{\text{Tipo\_contrato\_carg} = \text{'M'}} (\text{CARG}))))$$ - Exibir o nome e o salário líquido pago para todos os empregados horistas que trabalham no departamento “Mecânica ABC”:
$$\text{MECABC} \leftarrow \sigma_{\text{Nome\_dpto} = \text{'Mecanica ABC'}} (\text{DPTO})$$
$$\text{HOR} \leftarrow \sigma_{\text{Tipo\_contrato\_carg} = \text{'H'}} (\text{CARG})$$
$$\pi_{\text{Nome\_func}, \text{Sal\_base\_pgto} \times \text{Total\_horas\_pgto} - \text{Total\_desc\_pgto}} (\sigma_{\text{MECABC.Codigo\_dpto} = \text{ALOC.Codigo\_dpto} \land \text{ALOC.Numero\_func} = \text{FUNC.Numero\_func} \land \text{FUNC.Codigo\_carg} = \text{HOR.Codigo\_carg} \land \text{FUNC.Numero\_func} = \text{PGTO.Numero\_func}} (\text{MECABC} \bowtie \text{ALOC} \bowtie \text{FUNC} \bowtie \text{HOR} \bowtie \text{PGTO}))$$