Questão de Banco de Dados — Consultas e Comandos em SQL — CSC IFPA 2019
Banco de DadosConsultas e Comandos em SQL
- Código
- qa138740
- Banca
- CSC IFPA
- Órgão
- IF PA
- Ano
- 2019
- Cargo
- ATI ( )
O modelo lógico abaixo é um fragmento da modelagem de um sistema de recursos humanos em que o Funcionário se relaciona com seus dependentes e esses dependentes se relacionam com os seus registros de vacinações. Onde: A coluna “matricula” da tabela Dependente é uma chave estrangeira em relação à tabela “Funcionario”, a coluna “idDep” da tabela “Vacinacao” é uma chave estrangeira em relação à tabela “Dependente”, a coluna “idVacina” da tabela “Vacinacao” é uma chave estrangeira em relação à tabela “Vacina” e as colunas “matricula”, “idDep”, “idVacina” e “idVacinacao” são chaves primárias das tabelas “Funcionario”, “Dependente”,”Vacina” e “Vacinacao” respectivamente. A sentença SQL que projeta a matricula do funcionário, o seu nome e o nome do seu dependente que ainda não registrou a aplicação de nenhum tipo de vacina, é:

- ASELECT funcionario.matricula,nome, nomedep FROM funcionario, dependente WHERE not exists (SELECT '' FROM vacinacao )
- BSELECT funcionario.matricula,nome, nomedep FROM funcionario FULL OUTER JOIN dependente WHERE iddep not in (SELECT iddep FROM vacinacao where dependente.iddep = vacinacao.iddep )
- CSELECT funcionario.matricula,nome, nomedep FROM funcionario INNER JOIN dependente ON funcionario.matricula = dependente.matricula LEFT JOIN vacinacao ON dependente.iddep = vacinacao.iddep WHERE idvacinacao is null
- DSELECT funcionario.matricula,nome, nomedep FROM funcionario, dependente WHERE iddep not in (SELECT iddep FROM vacinacao WHERE dependente.iddep = vacinacao.iddep )
- ESELECT funcionario.matricula,nome, nomedep FROM funcionario INNER JOIN dependente ON funcionario.matricula = dependente.matricula RIGHT JOIN vacinacao ON dependente.iddep = vacinacao.iddep WHERE idvacinacao is null