Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FCC 2019

Banco de DadosSQL
Código
fc056350
Banca
FCC
Órgão
SANASA Campinas
Ano
2019
Cargo
Analista de Tecnologia da Informação - Suporte de DBA-Banco de Dados
Considere o código SQL abaixo, que gerou a tabela ItemFatura.CREATE TABLE ItemFatura(idItemFatura INT NOT NULL,idFatura INT NOT NULL,descItemFatura VARCHAR(45),valorItemFatura DOUBLE,..I..);Considerando que a tabela ItemFatura possui chave primária composta pelos campos idItemFatura e idFatura, e que se uma fatura for excluída, automaticamente serão excluídos todos os seus itens, a lacuna I deve ser preenchida corretamente por
  1. APRIMARY KEY (idItemFatura, FOREIGN KEY(idFatura)) REFERENCES Fatura(idFatura) ON DELETE CASCADE
  2. BPRIMARY KEY (idItemFatura, idFatura), FOREIGN KEY(idFatura) FROM Fatura(idFatura) WITH DELETE CASCADE
  3. CPRIMARY KEY (idItemFatura, idFatura), FOREIGN KEY (idFatura) REFERENCES Fatura(idFatura) ON DELETE CASCADE
  4. DPRIMARY KEY (idItemFatura, idFatura), FOREIGN KEY(idFatura) REFERENCES Fatura(idFatura)
  5. EPRIMARY KEY (idItemFatura, idFatura), FOREIGN KEY(idFatura) FROM Fatura(idFatura) ON DELETE CASCADE
Revelar gabarito e comentário

GabaritoC — PRIMARY KEY (idItemFatura, idFatura), FOREIGN KEY (idFatura) REFERENCES Fatura(idFatura) ON DELETE CASCADE

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”.

SQL: Criação de tabelas e constraints

Gabarito: letra C. A lacuna I deve ser preenchida com PRIMARY KEY (idItemFatura, idFatura), FOREIGN KEY (idFatura) REFERENCES Fatura(idFatura) ON DELETE CASCADE, pois a chave primária composta é definida corretamente e a chave estrangeira com ON DELETE CASCADE garante a exclusão automática dos itens quando a fatura for removida.

A sintaxe padrão SQL para definir uma chave primária composta é PRIMARY KEY (coluna1, coluna2). Para uma chave estrangeira com exclusão em cascata, usa-se FOREIGN KEY (coluna) REFERENCES tabela(coluna) ON DELETE CASCADE. A cláusula ON DELETE CASCADE é essencial para atender ao requisito de exclusão automática dos itens.

Alternativa A — ❌ Incorreta

Apresenta a sintaxe PRIMARY KEY (idItemFatura, FOREIGN KEY(idFatura)), que é inválida. Mistura a definição de chave primária com a de chave estrangeira de forma incorreta.

Alternativa B — ❌ Incorreta

Usa FROM em vez de REFERENCES e WITH DELETE CASCADE no lugar de ON DELETE CASCADE. Ambas as construções estão fora do padrão SQL.

Alternativa C — ✅ Correta ⟵ GABARITO

Define corretamente a chave primária composta e a chave estrangeira com REFERENCES e ON DELETE CASCADE, atendendo integralmente ao enunciado.

Alternativa D — ❌ Incorreta

Embora a chave primária composta esteja correta, a chave estrangeira não possui ON DELETE CASCADE. Sem essa cláusula, a exclusão da fatura não acarretará a exclusão automática de seus itens, descumprindo o requisito.

Alternativa E — ❌ Incorreta

Usa FROM em vez de REFERENCES, o que é sintaticamente incorreto.

Gabarito: letra C

Link permanente: /questoes/fc056350