Questão FC372841
Tabela Consumidor: idConsumidor nomeConsumidor cpfConsumidor 1 Paulo Vieira Lima 156.167.178-2 2 Marcos Santana Silva 234.156.765-12 3 Maria de Fátima Caetano Rosa 187.198.056-7 4
Linguagem SQL
FCC · 2019

Tabela Consumidor:
idConsumidor nomeConsumidor cpfConsumidor
1 Paulo Vieira Lima 156.167.178-2
2 Marcos Santana Silva 234.156.765-12
3 Maria de Fátima Caetano Rosa 187.198.056-7
4 Zoraide Pereira Mota 238.765.234-12
Tabela Fatura:
idFatura idConsumidor mesRefFatura DataVencFatura numHidrometroFatura medidaConsumo
3365693 1 05/2019 2019-05-20 344036 80
3366691 2 05/2019 2019-05-10 345681 120
3367690 3 04/2019 2019-04-28 344036 89
3390871 4 03/2019 2019-03-18 345681 100
Tabela ItemFatura:
idItemFatura idFatura descItemFatura valorItemFatura
1 3365693 Captação de água bruta 0.1
1 3366691 Tratamento de água 90
1 3367690 Tratamento de água 61.23
2 3365693 Tratamento de água 60.19
2 3366691 Tratamento de esgoto 67.67
3 3365693 Coleta de esgoto 47.35
3 3366691 Afastamento de esgoto 80
4 3365693 Tratamento de Esgoto 25
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
- PRIMARY KEY (idItemFatura, FOREIGN KEY ( idFatura) ) REFERENCES Fatura ( idFatura) ON DELETE CASCADE
- PRIMARY KEY (idItemFatura, idFatura), FOREIGN KEY (idFatura) FROM Fatura(idFatura) WITH DELETE CASCADE
- PRIMARY KEY (idItemFatura, idFatura), FOREIGN KEY (idFatura) REFERENCES Fatura(idFatura) ON DELETE CASCADE
- PRIMARY KEY (idItemFatura, idFatura), FOREIGN KEY (idFatura) REFERENCES Fatura(idFatura)
- PRIMARY KEY (idItemFatura, idFatura), FOREIGN KEY (idFatura) FROM Fatura(idFatura) ON DELETE CASCADE
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
A cláusula apresentada define corretamente a chave primária composta e a restrição referencial. Ao usar PRIMARY KEY (idItemFatura, idFatura) garantimos que a combinação dos dois campos seja única, permitindo que o mesmo idItemFatura se repita em faturas diferentes, mas não dentro da mesma fatura.
A expressão FOREIGN KEY (idFatura) REFERENCES Fatura(idFatura) cria a ligação entre ItemFatura e a tabela pai Fatura, assegurando integridade referencial: todo idFatura em ItemFatura deve existir em Fatura.
O acréscimo de ON DELETE CASCADE faz com que, quando uma linha de Fatura for excluída, todas as linhas de ItemFatura que a referenciam sejam excluídas automaticamente, evitando registros órfãos e mantendo consistência sem necessidade de operações manuais.
Conteúdo do catálogo FC Concursos · Atualizado em