Questão FC372827
Em um banco de dados aberto e em condições ideais há uma tabela chamada Contribuinte cuja chave primária é idContribuinte. Há também uma tabela chamada Imposto cuja chave primária
Linguagem SQL
FCC · 2019
Em um banco de dados aberto e em condições ideais há uma tabela chamada Contribuinte cuja chave primária é idContribuinte. Há também uma tabela chamada Imposto cuja chave primária é idImposto. Para criar uma tabela de associação chamada Contribuinte_Imposto cuja chave primária é composta pelos campos idContribuinte e idImposto, que são chaves estrangeiras resultantes da relação dessa tabela com as tabelas Contribuinte e Imposto, utiliza-se a instrução SQL
- CREATE TABLE Contribuinte_Imposto(idContribuinte INT, idImposto INT, PRIMARY KEY (idContribuinte), FOREIGN KEY (idContribuinte) REFERENCES Contribuinte (idContribuinte), PRIMARY KEY (idImposto), FOREIGN KEY (idContribuinte) REFERENCES Contribuinte (idContribuinte));
- CREATE TABLE Contribuinte_Imposto(idContribuinte INT NOT NULL, idImposto INT NOT NULL, PRIMARY KEY (idContribuinte, idImposto), CONSTRAINT fk1 FOREIGN KEY (idContribuinte) REFERENCES Contribuinte (idContribuinte), CONSTRAINT fk2 FOREIGN KEY (idImposto) REFERENCES Imposto (idImposto));
- CREATE TABLE Contribuinte_Imposto(idContribuinte INT NOT NULL, idImposto INT NOT NULL, PRIMARY KEY (idContribuinte, idImposto), FOREIGN KEY (idContribuinte) SOURCE Contribuinte (idContribuinte), FOREIGN KEY (idImposto) SOURCE Imposto (idImposto));
- CREATE TABLE Contribuinte_Imposto(idContribuinte INT NOT NULL, idImposto INT NOT NULL, PRIMARY KEY (idContribuinte, idImposto), FOREIGN KEY (idContribuinte, idImposto) REFERENCES (Contribuinte!idContribuinte, Imposto!idImposto));
- CREATE TABLE Contribuinte_Imposto(idContribuinte INT NOT NULL, idImposto INT NOT NULL, PRIMARY KEY (idContribuinte, idImposto), FOREIGN KEY (idContribuinte, idImposto) REFERENCES all parents);
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
A instrução CREATE TABLE Contribuinte_Imposto define os campos idContribuinte e idImposto como NOT NULL, garantindo que não haja valores nulos em nenhuma das colunas que participam da chave.
Ao declarar PRIMARY KEY (idContribuinte, idImposto) está-se criando uma chave primária composta, ou seja, a unicidade é garantida pela combinação dos dois campos, evitando duplicidade de pares (modelo típico de relacionamento many-to-many entre contribuintes e impostos).
As cláusulas CONSTRAINT fk1 FOREIGN KEY (idContribuinte) REFERENCES Contribuinte (idContribuinte) e CONSTRAINT fk2 FOREIGN KEY (idImposto) REFERENCES Imposto (idImposto) estabelecem as chaves estrangeiras, vinculando cada coluna ao respectivo pai e assegurando a integridade referencial.
O uso explícito de nomes de restrição (fk1, fk2) é recomendável para facilitar manutenção e mensagens de erro. Sintaxe e semântica estão corretas para o objetivo proposto.
Conteúdo do catálogo FC Concursos · Atualizado em