O DBA está trabalhando no esquema "ciga", do banco de dados...
II. Para excluir, desse esquema de banco de dados, todos os dados da tabela "FUNCAO", basta que o DBA execute o seguinte comando, em SQL padrão: truncate table `ciga`.`FUNCAO`;
III. Para excluir, desse esquema de banco de dados, todos os dados da tabela "EMPREGADO", basta que o DBA execute o seguinte comando, em SQL padrão: delete from `ciga`.`EMPREGADO`; Quais estão corretas?
Comentários
Veja os comentários dos nossos alunos
Questão de banca pequena, achei meio mal feita.
A lógica é que um funcionário possui uma função, e pode haver funções sem empregados, ou seja, a tabela FUNCAO é forte em relação à tabela EMPREGADO.
Provavelmente a tabela EMPREGADO deve ter uma FK para tabela FUNCAO.
Nesse caso, como o objetivo é manter a integridade, não é possível excluir registros de FUNCAO sem veirificar se há empregados associados, só o III está correto.
Errei a questão, acho que poderia ter colocado os CREATES ali, ficaria mais claro
Perceba que na tabela EMPREGADO tem "1 more...", que certamente é a chave estrangeira para a tabela FUNCAO. Isso é obrigatório já que é uma relação N-1.
O SGBD não vai deixar fazer drop ou truncate na tabela FUNCAO caso exista um registro de outra tabela referenciando ela, a não ser que use a cláusula cascade. Se fosse delete, ele deixaria dependendo do ON DELETE
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo