Questão de Banco de Dados — Modelagem e Mapeamento ER-relacional — Quadrix 2024
Banco de Dados›Modelagem e Mapeamento ER-relacional
Código
qa630738
Banca
Quadrix
Órgão
CRQ 12 (GO, TO e DF)
Ano
2024
Cargo
Ana (CRQ 12)
1. CREATE TABLE Empresa ( 2. Cod_Empresa INT PRIMARY KEY, 3. Nome VARCHAR(100) NOT NULL, 4. Endereco VARCHAR(200), 5. Telefone INT NOT NULL 6. ); 7. 8. CREATE TABLE Produto_Quimico ( 9. Cod_Produto_Quimico INT PRIMARY KEY, 10. Nome VARCHAR(100) NOT NULL, 11. Composicao VARCHAR(300) 12. ); 13. 14. CREATE TABLE Empresa_Produto_Quimico ( 15. Cod_Empresa INT, 16. Cod_Produto_Quimico INT, 17. PRIMARY KEY (Cod_Empresa, Cod_Produto_Quimico), 18. FOREIGN KEY (Cod_Empresa) REFERENCES Empresa(Cod_Empresa), 19. FOREIGN KEY (Cod_Produto_Quimico) REFERENCES Produto_Quimico(Cod_Produto_Quimico) );
Com referência ao código SQL (Structured Query Language) acima, julgue o item.
Infere‑se do script que há um relacionamento do tipo n:n (muitos para muitos) entre as tabelas Empresa e Produto_Quimico.
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoC — Certo
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”.
Mapeamento ER para relacional: relacionamento n:n
Gabarito: CERTO (letra C). O script cria a tabela associativa Empresa_Produto_Quimico com chave primária composta por Cod_Empresa e Cod_Produto_Quimico, cada um referenciando, via chave estrangeira, as tabelas Empresa e Produto_Quimico — exatamente o padrão de mapeamento de um relacionamento muitos-para-muitos (n:n) do modelo entidade-relacionamento para o modelo relacional.
O relacionamento n:n (muitos para muitos) ocorre quando uma entidade pode se relacionar com várias ocorrências de outra e vice-versa. No modelo relacional, esse tipo de relacionamento não pode ser representado diretamente com uma simples chave estrangeira em uma das tabelas, pois isso criaria redundância e violaria a integridade. A solução clássica é criar uma tabela associativa (também chamada de tabela de junção, tabela de ligação ou tabela relacional) que armazena as chaves primárias das duas entidades envolvidas, formando uma chave primária composta.
No script apresentado, a tabela Empresa_Produto_Quimico cumpre exatamente esse papel:
Possui os atributos Cod_Empresa e Cod_Produto_Quimico, que são as chaves primárias das tabelas Empresa e Produto_Quimico, respectivamente.
Define a chave primária composta (Cod_Empresa, Cod_Produto_Quimico), garantindo que cada par (empresa, produto químico) seja único.
Declara duas chaves estrangeiras: uma referenciando Empresa(Cod_Empresa) e outra referenciando Produto_Quimico(Cod_Produto_Quimico), assegurando a integridade referencial.
Essa estrutura permite que uma empresa se associe a vários produtos químicos e que um produto químico seja associado a várias empresas, caracterizando o relacionamento n:n. Se o relacionamento fosse 1:n (um para muitos), a chave estrangeira estaria diretamente na tabela do lado "muitos", sem necessidade de tabela intermediária. Se fosse 1:1, a chave estrangeira poderia estar em qualquer uma das tabelas, também sem tabela auxiliar.
A pegadinha que a banca poderia explorar é confundir a tabela associativa com uma simples tabela de dados, mas a presença da chave primária composta e das duas chaves estrangeiras é o sinal inequívoco de um relacionamento n:n. O candidato que conhece o padrão de mapeamento reconhece imediatamente a estrutura.
Critério
Relacionamento n:n (tabela associativa)
Relacionamento 1:n (chave estrangeira direta)
Estrutura
Tabela intermediária com chave primária composta pelas FKs das duas entidades
Chave estrangeira na tabela do lado "muitos" referenciando a tabela do lado "1"
Exemplo no script
Empresa_Produto_Quimico com PK (Cod_Empresa, Cod_Produto_Quimico) e duas FKs
Não presente no script; seria, por exemplo, Produto_Quimico com FK para Empresa
Cardinalidade representada
Muitos-para-muitos (uma empresa ↔ vários produtos; um produto ↔ várias empresas)
Um-para-muitos (uma empresa ↔ vários produtos, mas cada produto pertence a uma única empresa)
Integridade referencial
Duas FKs, cada uma apontando para uma tabela distinta
Uma única FK apontando para a tabela referenciada
Necessidade de tabela auxiliar
Obrigatória para evitar redundância e violação de integridade
Desnecessária; a FK direta já resolve
Item — ✅ Correto ⟵ GABARITO
A afirmação está correta. A tabela Empresa_Produto_Quimico é a materialização relacional do relacionamento n:n entre Empresa e Produto_Quimico. A chave primária composta (Cod_Empresa, Cod_Produto_Quimico) e as duas chaves estrangeiras são a assinatura clássica desse tipo de relacionamento. Sem essa tabela intermediária, seria impossível representar corretamente a cardinalidade muitos-para-muitos no modelo relacional sem violar a integridade dos dados.