Pular para o conteúdo principal

Questão de Banco de Dados — Conceitos e Fundamentos de Modelo Relacional — VUNESP 2023

Banco de DadosConceitos e Fundamentos de Modelo Relacional
Código
vu195426
Banca
VUNESP
Órgão
Pref Peruíbe
Ano
2023
Cargo
Ana Sis (Peruíbe)
Em bancos de dados relacionais, o conceito de exclusão em cascata pode ser definido como a
  1. Aatualização de chaves estrangeiras em uma tabela filha como consequência da atualização da chave primária correspondente na tabela pai.
  2. Bexclusão de uma tabela completa como consequência da modificação do valor de alguma chave primária (de outra tabela) correspondente a alguma de suas chaves estrangeiras.
  3. Cexclusão de linhas em uma tabela filha como consequência da exclusão de uma linha correspondente na tabela pai.
  4. Dexclusão de uma réplica de um banco de dados completo quando um nó de um cluster de servidores é removido propositalmente.
  5. Eexclusão automática de backups de um banco de dados quando o período de retenção de backup configurado no gerenciador é expirado.
Revelar gabarito e comentário

GabaritoC — exclusão de linhas em uma tabela filha como consequência da exclusão de uma linha correspondente na tabela pai.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Exclusão em cascata no modelo relacional

Gabarito: letra C. A exclusão em cascata (ON DELETE CASCADE) é uma ação referencial que determina que, ao excluir uma linha na tabela pai, o SGBD exclua automaticamente todas as linhas correspondentes na tabela filha que referenciam aquela linha por meio de chave estrangeira — é exatamente o que a alternativa C descreve.

A exclusão em cascata é um dos comportamentos possíveis para as ações referencias (referential actions) no modelo relacional. Quando uma tabela filha possui uma chave estrangeira que referencia a chave primária (ou uma chave candidata) de uma tabela pai, o SGBD precisa definir o que acontece com as linhas da filha quando a linha correspondente na tabela pai é atualizada ou excluída. Essas ações são especificadas na definição da chave estrangeira, tipicamente na cláusula FOREIGN KEY da linguagem SQL (comandos DDL).

As principais ações referencias são:

  • CASCADE: a operação é propagada para a tabela filha. Na exclusão, exclui as linhas filhas; na atualização, atualiza os valores da chave estrangeira.

  • RESTRICT: impede a operação na tabela pai se houver linhas filhas referenciando.

  • SET NULL: define a chave estrangeira da filha como NULL quando a linha pai é excluída ou atualizada.

  • SET DEFAULT: define a chave estrangeira da filha para o valor padrão.

  • NO ACTION: similar ao RESTRICT, mas a verificação é feita no final da transação.

A lógica por trás da exclusão em cascata é manter a integridade referencial do banco de dados. Sem ela, ao excluir uma linha da tabela pai, as linhas filhas ficariam com chaves estrangeiras apontando para um registro inexistente — as chamadas "chaves órfãs" (orphan records), que violam a integridade referencial. O CASCADE resolve isso propagando a exclusão, garantindo que não restem referências inválidas.

Um exemplo prático: imagine as tabelas Clientes e Pedidos, onde Pedidos.id_cliente é uma chave estrangeira que referencia Clientes.id. Se um cliente é excluído da tabela Clientes e a chave estrangeira foi definida com ON DELETE CASCADE, todos os pedidos daquele cliente serão excluídos automaticamente. Sem essa ação, a exclusão seria bloqueada (RESTRICT) ou os pedidos ficariam com referência quebrada.

A pegadinha desta questão está em distinguir a exclusão em cascata da atualização em cascata (ON UPDATE CASCADE). A alternativa A descreve a atualização em cascata, não a exclusão. A banca explora exatamente essa confusão: o candidato que conhece o conceito de "cascata" de forma genérica pode trocar a operação (exclusão × atualização) ou o sentido (pai → filho × filho → pai).

Guarde a fronteira: exclusão em cascata = exclusão de linhas na tabela filha quando a linha correspondente na tabela pai é excluída. É nesse critério que as alternativas se dividem.

1CASCADE
DELETE → exclui linhas filhas
UPDATE → atualiza FKs filhas
2RESTRICT
bloqueia operação no pai
3SET NULL
define FK filha como NULL
4SET DEFAULT
define FK filha como padrão
Ações referenciais (FK)
LEVELsoulevel.com.br
Ações referenciais (FK): CASCADE (DELETE → exclui linhas filhas, UPDATE → atualiza FKs filhas); RESTRICT (bloqueia operação no pai); SET NULL (define FK filha como NULL); SET DEFAULT (define FK filha como padrão)

Alternativa A — ❌ Incorreta

Descreve a atualização em cascata (ON UPDATE CASCADE), não a exclusão. A atualização em cascata propaga a mudança de valor da chave primária da tabela pai para as chaves estrangeiras correspondentes na tabela filha. O enunciado pede especificamente a exclusão em cascata, então a operação está trocada.

Alternativa B — ❌ Incorreta

Inverte o sentido da operação. A exclusão em cascata propaga a exclusão da tabela pai para a tabela filha (exclui linhas na filha). Esta alternativa afirma que a exclusão ocorre na tabela pai como consequência de modificação de chave primária de outra tabela — mistura exclusão com atualização e inverte a direção da propagação. Não corresponde a nenhuma ação referencial padrão.

Alternativa C — ✅ Correta ⟵ GABARITO

Define corretamente a exclusão em cascata: a exclusão de linhas na tabela filha como consequência da exclusão de uma linha correspondente na tabela pai. É exatamente o comportamento do ON DELETE CASCADE na definição de uma chave estrangeira, que mantém a integridade referencial eliminando as referências órfãs.

Alternativa D — ❌ Incorreta

Foge completamente do contexto de modelo relacional. Fala de réplica de banco de dados em cluster e remoção de nós — conceito de alta disponibilidade e replicação, não de integridade referencial. Não há relação com chaves estrangeiras ou tabelas pai/filha.

Alternativa E — ❌ Incorreta

Também foge do tema. Descreve a exclusão automática de backups por expiração do período de retenção — conceito de gerenciamento de backup, não de modelo relacional. Não envolve tabelas, chaves ou integridade referencial.

NÃO CAIA NESSA!

A banca troca a operação de exclusão por atualização na alternativa A. O candidato que conhece o conceito de "cascata" de forma genérica pode marcar A, pensando que qualquer propagação de operação entre tabelas é "cascata". Mas a questão pede especificamente a exclusão em cascata — a propagação da exclusão da tabela pai para a filha. Fique atento ao verbo da questão: se pede "exclusão", a resposta tem que envolver exclusão, não atualização.

PEGA ESSA DICA!

Para fixar, compare as ações referencias em uma tabela:

Ação

Exclusão (DELETE)

Atualização (UPDATE)

CASCADE

Exclui linhas filhas

Atualiza chaves estrangeiras filhas

RESTRICT

Bloqueia exclusão do pai

Bloqueia atualização do pai

SET NULL

Define FK filha como NULL

Define FK filha como NULL

SET DEFAULT

Define FK filha como padrão

Define FK filha como padrão

Na prova, leia o verbo da questão (excluir × atualizar) e identifique a direção (pai → filha). Isso resolve a maioria das questões sobre ações referencias.

Gabarito: letra C

Link permanente: /questoes/vu195426