pessoa departamento estagiario

Propaganda
EXERCÍCIO DE BANCO DE DADOS
Considere que uma empresa contrata estagiários e que cada um deles está associado a um supervisor e a um
orientador. As pessoas trabalham em departamentos, de acordo com tabela departamento. Tanto o estagiário, quanto
o supervisor e o orientador são pessoas cujas informações estão armazenadas na tabela pessoa. A descrição das tabelas
é a seguinte:
pessoa
CAMPO
codigo
nome
cod_depto
TIPO
Numérico até
8 dígitos
Texto até 50
caracteres
Numérico até
8 dígitos
departamento
DESCRIÇÃO
Código da pessoa
CAMPO
codigo
Nome da pessoa
descricao
Código do departamento
onde a pessoa trabalha
ramal
TIPO
Numérico até
8 dígitos
Texto até 100
caracteres
Numérico até
4 dígitos
DESCRIÇÃO
Código do departamento
Descrição do
departamento
Ramal do departamento
estagiario
CAMPO
codigo
cod_sup
cod_or
data_inicio
data_fim
TIPO
Numérico até 8 dígitos
Numérico até 8 dígitos
Numérico até 8 dígitos
Data
Data
DESCRIÇÃO
Código do estagiário
Código do supervisor
Código do orientador
Data de início do estágio
Data final do estágio
Na resolução das questões abaixo, considere que o banco de dados é o PostgreSQL.
1.
2.
3.
4.
Escreva os comandos SQL para criar as tabelas, incluindo as chaves primárias e chaves estrangeiras. Ao criar
as tabelas considere que todo estagiário, supervisor ou orientador deve estar presente na tabela pessoa e
que todo departamento referenciado na tabela pessoa deve existir na tabela departamento. Imponha a
restrição de que a data final deve ser posterior à data inicial e que a diferença deve ser de pelo menos 30
dias. Imponha a restrição de que o supervisor e o orientador não podem ser a mesma pessoa. O código da
pessoa e do departamento devem ser gerados automaticamente (autoincrementados). Exceto pelo ramal do
departamento, nenhum outro campo poderá ser nulo. As chaves primárias serão os campos sombreados
acima. Utilize tipos de dados adequados para cada campo.
Escreva um comando SQL para selecionar o código e descrição de todos os departamentos e o número de
estagiários em cada departamento. Somente devem ser considerados os estagiários cuja data final não tenha
sido ultrapassada. Ordenar pela descrição do departamento.
Escreva um comando SQL para selecionar o código, o nome e a quantidade de estagiários de todos os
orientadores que tiverem mais do que 10 estagiários orientados. Somente devem ser considerados os
estagiários cuja data final não tenha sido ultrapassada. Ordenar pelo nome do orientador.
Escreva um comando SQL para selecionar código e nome do estagiário, código e nome do supervisor, código
e nome do orientador, código e nome do departamento e data final de todos os estagiários. Ordenar pelo
código do supervisor, código do orientador e nome do estagiário.
Download