Observe o comando abaixo. É correto afirmar que, ao apagar...
CREATE TABLE funcionarios
(id_func NUMBER(4) PRIMARY KEY,
nome VARCHAR2(10),
sobrenome VARCHAR2(20),
cargo VARCHAR2(15),
contratado em DATE,
salario NUMBER(8,2),
setor NUMBER(2)
CONSTRAINT fk_idsetor
REFERENCES setores(id_setor)
ON DELETE CASCADE);
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C - todos os funcionários do setor “Informática” também serão apagados da tabela “funcionários”.
Para resolver esta questão, é necessário entender o conceito de integridade referencial em bancos de dados e o efeito das chaves estrangeiras com a cláusula ON DELETE CASCADE. A cláusula ON DELETE CASCADE especifica que, se um registro referenciado por um relacionamento de chave estrangeira for excluído na tabela referenciada, então todos os registros que contêm essa chave estrangeira na tabela que referencia devem ser excluídos automaticamente. No contexto da questão, quando um setor é removido da tabela "setores", todos os funcionários associados a esse setor na tabela "funcionários" são automaticamente deletados.
A correta compreensão do efeito do ON DELETE CASCADE é crucial aqui, pois a exclusão em cascata é uma ação que propaga a exclusão de um registro em uma tabela para os registros referenciados em outra tabela por meio de uma chave estrangeira. Portanto, ao apagar o setor "Informática", todos os registros de funcionários relacionados a esse setor também serão apagados, garantindo a manutenção da integridade referencial.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo