Questão FC369449
Considere um esquema relacional criado com o seguinte script SQL. create table E1( a int not null primary key, b int not null) create table E2( c int not null, d int not null forei
Linguagem SQL
FGV · 2024
Considere um esquema relacional criado com o seguinte script SQL.
create table E1(
a int not null primary key,
b int not null)
create table E2(
c int not null,
d int not null
foreign key references E1(a))
Para evitar a introdução de erros de integridade na tabela E2 decorrentes da remoção de registros da tabela E1, a cláusula complementar na definição da chave estrangeira seria:
- no action;
- on delete cascade;
- on delete raiserror;
- on delete restrict;
- set null.
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
A cláusula ON DELETE CASCADE faz com que, ao excluir uma linha da tabela referenciada (E1), todas as linhas da tabela que contém a chave estrangeira (E2) que apontam para essa linha sejam automaticamente excluídas. Assim, evita-se a formação de registros órfãos em E2 e mantém-se a integridade referencial sem necessidade de múltiplos comandos manuais.
Na prática, a declaração ficaria, por exemplo:
foreign key (d) references E1(a) on delete cascade;
ou inserida na criação da tabela E2. Ao executar DELETE em E1, o SGBD propaga a exclusão para E2 automaticamente.
Use essa opção quando a existência das linhas em E2 depender logicamente da presença das linhas em E1, garantindo consistência e simplificando manutenção.
Conteúdo do catálogo FC Concursos · Atualizado em