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
APRIMARY KEY (idItemFatura, FOREIGN KEY(idFatura)) REFERENCES Fatura(idFatura) ON DELETE CASCADE
BPRIMARY KEY (idItemFatura, idFatura), FOREIGN KEY(idFatura) FROM Fatura(idFatura) WITH 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.