FC ConcursosFC Concursos

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

  1. PRIMARY KEY (idItemFatura, FOREIGN KEY ( idFatura) ) REFERENCES Fatura ( idFatura) ON DELETE CASCADE
  2. PRIMARY KEY (idItemFatura, idFatura), FOREIGN KEY (idFatura) FROM Fatura(idFatura) WITH DELETE CASCADE
  3. PRIMARY KEY (idItemFatura, idFatura), FOREIGN KEY (idFatura) REFERENCES Fatura(idFatura) ON DELETE CASCADE
  4. PRIMARY KEY (idItemFatura, idFatura), FOREIGN KEY (idFatura) REFERENCES Fatura(idFatura)
  5. 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

Continue aprendendo