Questão de Banco de Dados — SQL — Quadrix 2024
- Código
- qg352875
- Banca
- Quadrix
- Órgão
- CRQ - 12ª Região (GO, TO e DF)
- Ano
- 2024
- Nível
- Superior
- Cargo
- Analista de T.I.

- CCerto
- EErrado

GabaritoC — Certo
Gabarito: CERTO (letra C). O script cria a tabela Empresa_Produto_Quimico com duas restrições FOREIGN KEY — uma referenciando Empresa(Cod_Empresa) e outra referenciando Produto_Quimico(Cod_Produto_Quimico) —, portanto a afirmação de que há a definição de duas chaves estrangeiras está correta.
Uma chave estrangeira (foreign key) é um campo (ou conjunto de campos) que referencia a chave primária de outra tabela, estabelecendo um relacionamento entre elas. Sua finalidade é garantir a integridade referencial: apenas valores que existem na tabela referenciada podem ser inseridos na coluna que é chave estrangeira. No script apresentado, a tabela Empresa_Produto_Quimico é uma tabela de associação (também chamada de tabela relacional ou tabela de ligação) entre Empresa e Produto_Quimico, típica de um relacionamento muitos-para-muitos (N:N).
Vamos analisar o script linha por linha para contar as chaves estrangeiras:
A tabela Empresa é criada com Cod_Empresa como chave primária (PRIMARY KEY).
A tabela Produto_Quimico é criada com Cod_Produto_Quimico como chave primária (implícita na linha 12, embora o texto-base não mostre explicitamente, é o que se deduz do contexto).
A tabela Empresa_Produto_Quimico é criada com duas colunas: Cod_Empresa e Cod_Produto_Quimico.
A chave primária dessa tabela é composta: PRIMARY KEY (Cod_Empresa, Cod_Produto_Quimico).
Em seguida, há duas restrições FOREIGN KEY:
FOREIGN KEY (Cod_Empresa) REFERENCES Empresa(Cod_Empresa) — primeira chave estrangeira.
FOREIGN KEY (Cod_Produto_Quimico) REFERENCES Produto_Quimico(Cod_Produto_Quimico) — segunda chave estrangeira.
Portanto, o script define exatamente duas chaves estrangeiras, ambas na tabela Empresa_Produto_Quimico. A afirmação do item é verdadeira.
A pegadinha aqui é sutil: o candidato pode contar apenas as restrições FOREIGN KEY explícitas e esquecer que a chave primária composta não é uma chave estrangeira, ou pode achar que a tabela Empresa_Produto_Quimico tem apenas uma chave estrangeira por ser uma tabela de ligação. Mas a leitura atenta do script mostra as duas restrições FOREIGN KEY claramente definidas.
A banca explora a contagem de chaves estrangeiras em uma tabela de associação. O candidato pode confundir a chave primária composta (PRIMARY KEY (Cod_Empresa, Cod_Produto_Quimico)) com uma chave estrangeira, ou pode achar que a tabela de ligação tem apenas uma FK. Mas o script é explícito: são duas FOREIGN KEY, uma para cada tabela referenciada. Leia sempre as linhas FOREIGN KEY e REFERENCES para contar corretamente.
A afirmação "O referido script possui a definição (criação) de duas chaves estrangeiras" está correta. O script cria a tabela Empresa_Produto_Quimico com duas restrições FOREIGN KEY:
FOREIGN KEY (Cod_Empresa) REFERENCES Empresa(Cod_Empresa) — referencia a chave primária da tabela Empresa.
FOREIGN KEY (Cod_Produto_Quimico) REFERENCES Produto_Quimico(Cod_Produto_Quimico) — referencia a chave primária da tabela Produto_Quimico.
Essas duas restrições garantem a integridade referencial entre a tabela de associação e as duas tabelas principais, permitindo que o relacionamento N:N seja implementado corretamente. A chave primária composta da tabela de associação não é uma chave estrangeira, mas sim a combinação das duas chaves estrangeiras que identificam unicamente cada par (empresa, produto químico).
Gabarito: letra C (CERTO).
Link permanente: /questoes/qg352875