FC ConcursosFC Concursos

Questão FC546264

Uma Secretaria da Fazenda está estruturando seu banco de dados para garantir a integridade e a eficiência das consultas sobre as fiscalizações historicamente realizadas. Para isso,

Projeto e Modelagem de Dados

FCC · 2025

Uma Secretaria da Fazenda está estruturando seu banco de dados para garantir a integridade e a eficiência das consultas sobre as fiscalizações historicamente realizadas. Para isso, foi criada uma estrutura relacional robusta, da qual fazem parte as tabelas abaixo. Considera-se que uma empresa pode ser fiscalizada várias vezes.

 

CREATE TABLE EMPRESA (

id_empresa INT PRIMARY KEY,  

nome VARCHAR(255) NOT NULL

);

 

CREATE TABLE FISCALIZACAO (

  id_fiscalizacao INT PRIMARY KEY,

  id_empresa INT,

  data_fiscalizacao DATE NOT NULL,

  status VARCHAR(20) NOT NULL,

  FOREIGN KEY (id_empresa) REFERENCES EMPRESA (id_empresa) ON DELETE CASCADE

);

 

Em condições ideais, um comportamento correto resultante dessa estrutura é:

  1. Caso um registro da tabela EMPRESA seja excluído, a exclusão será impedida pelo SGBD, pois há uma relação de integridade referencial entre as tabelas.
  2. Para garantir a integridade referencial, seria necessário adicionar um índice à coluna id_empresa na tabela FISCALIZACAO, pois a integridade referencial só pode ser aplicada em colunas indexadas.
  3. Se uma empresa for removida da tabela EMPRESA, todas as fiscalizações associadas a essa empresa na tabela FISCALIZACAO serão automaticamente excluídas, devido à cláusula ON DELETE CASCADE definida na FK.
  4. Durante a exclusão em cascata (cascading delete), os bloqueios são aplicados apenas às linhas da tabela EMPRESA, garantindo que as operações de exclusão na tabela FISCALIZACAO ocorram sem afetar a concorrência do banco de dados.
  5. O comando DELETE FROM EMPRESA WHERE id_empresa = 3 resultará em erro, caso existam registros correspondentes na tabela FISCALIZACAO, pois a integridade referencial impede a exclusão de registros referenciados.
Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

A cláusula ON DELETE CASCADE aplicada à FOREIGN KEY determina que, quando uma linha da tabela referenciada for removida, o SGBD automaticamente exclui as linhas da tabela dependente que a referenciam.

No modelo dado, isso significa que, ao executar por exemplo DELETE FROM EMPRESA WHERE id_empresa = X, todas as linhas de FISCALIZACAO com id_empresa = X serão apagadas pelo banco de dados sem necessidade de comandos adicionais.

Esse comportamento preserva a integridade referencial ao evitar registros órfãos e é executado pelo próprio SGBD desde que a restrição FOREIGN KEY tenha sido definida com ON DELETE CASCADE.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo