Pular para o conteúdo principal

Questão de Banco de Dados — Modelagem e Mapeamento ER-relacional — CESGRANRIO 2024

Banco de DadosModelagem e Mapeamento ER-relacional
Código
cg057871
Banca
CESGRANRIO
Órgão
IPEA
Ano
2024
Cargo
TPP ( )
Considere que um modelo conceitual de dados foi criado, por meio da utilização de um Diagrama de Entidades e Relacionamentos (DER), contendo as entidades UF e EMPRESA, e um relacionamento entre essas duas entidades denominado GERACAO. O objetivo é representar a potência instalada total, em kW, por cada empresa em cada UF. Em uma UF, pode haver várias empresas com geração de energia, e cada empresa pode gerar energia em várias UF. O atributo identificador na entidade UF é cod; o atributo identificador na entidade EMPRESA é CNPJ.   Foram criadas tabelas, segundo o Modelo Relacional, derivadas do DER apresentado.   O conjunto de tabelas corretamente derivadas do DER apresentado nas quais as chaves primárias encontram-se sublinhadas éImagem associada para resolução da questão
  1. AUF (cod, nome, populacao); EMPRESA (CNPJ, razao-social); GERACAO (cod, CNPJ, potencia)
  2. BUF (cod, nome, populacao); EMPRESA (CNPJ, razao-social, potencia)
  3. CUF (cod, nome, populacao); EMPRESA (CNPJ, razao-social, potencia, UF)
  4. DUF (cod, nome, populacao); EMPRESA (CNPJ, razao-social); GERACAO (potencia)
  5. EUF (cod, nome, populacao, CNPJ); EMPRESA (CNPJ, razao-social, potencia)
Revelar gabarito e comentário

GabaritoA — UF (cod, nome, populacao); EMPRESA (CNPJ, razao-social); GERACAO (cod, CNPJ, potencia)

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-Relacional: Relacionamento N:N

Gabarito: letra A. O relacionamento GERACAO entre UF e EMPRESA é do tipo muitos-para-muitos (N:N), pois uma UF pode ter várias empresas e uma empresa pode gerar energia em várias UF. No mapeamento para o modelo relacional, um relacionamento N:N exige a criação de uma tabela associativa (GERACAO) que contenha as chaves estrangeiras das duas entidades participantes (cod e CNPJ) e os atributos próprios do relacionamento (potencia). A alternativa A é a única que apresenta corretamente essa estrutura.

O modelo entidade-relacionamento (MER) é um modelo conceitual que descreve os dados de um domínio de negócio de forma abstrata, por meio de entidades, atributos e relacionamentos. Ele é independente de SGBD e não detalha estruturas físicas. No DER, entidades são representadas por retângulos, relacionamentos por losangos e atributos por elipses. O objetivo é capturar o significado dos dados para, posteriormente, implementá-los em um banco de dados relacional.

O mapeamento do modelo conceitual para o modelo relacional segue regras específicas conforme a cardinalidade do relacionamento. Para relacionamentos 1:N, a chave primária da entidade do lado "1" é adicionada como chave estrangeira na tabela do lado "N". Para relacionamentos N:N, é necessária a criação de uma tabela associativa (ou tabela de ligação) que contenha as chaves primárias das duas entidades participantes, formando uma chave primária composta, além de quaisquer atributos próprios do relacionamento.

No caso apresentado, o relacionamento GERACAO é N:N, pois uma UF pode ter várias empresas e uma empresa pode gerar energia em várias UF. Portanto, a tabela GERACAO deve conter os atributos cod (chave estrangeira referenciando UF), CNPJ (chave estrangeira referenciando EMPRESA) e potencia (atributo do relacionamento). A chave primária da tabela GERACAO é composta por cod e CNPJ, que juntos identificam unicamente cada combinação de UF e empresa.

A pegadinha desta questão está em reconhecer que o relacionamento é N:N e, portanto, exige uma tabela associativa. Alternativas que colocam o atributo potencia diretamente na tabela EMPRESA (como B e C) ou que não criam a tabela associativa (como D e E) estão incorretas. A alternativa A é a única que segue corretamente a regra de mapeamento para relacionamentos N:N.

Critério

Alternativa A (correta)

Alternativas B/C/E (incorretas)

Alternativa D (incorreta)

Tabela associativa para N:N

Criada (GERACAO) com FKs cod e CNPJ

Não criada (potência em EMPRESA ou UF)

Criada, mas sem FKs

Atributo do relacionamento (potencia)

Na tabela GERACAO

Na tabela EMPRESA (ou UF)

Na tabela GERACAO, porém sem vínculo

Chave primária da associação

Composta (cod + CNPJ)

Inexistente

Apenas potencia (sem identificação)

Integridade referencial

Garantida pelas FKs

Não representável (perde a relação N:N)

Impossível (sem FKs)

Alternativa A — ✅ Correta ⟵ GABARITO

A alternativa A apresenta as tabelas UF (cod, nome, populacao), EMPRESA (CNPJ, razao-social) e GERACAO (cod, CNPJ, potencia). A tabela GERACAO é a tabela associativa criada para representar o relacionamento N:N entre UF e EMPRESA. Ela contém as chaves estrangeiras cod (referenciando UF) e CNPJ (referenciando EMPRESA), que juntas formam a chave primária composta, além do atributo potencia, que é um atributo do relacionamento. Esta é a estrutura correta para mapear um relacionamento N:N no modelo relacional.

Alternativa B — ❌ Incorreta

A alternativa B coloca o atributo potencia diretamente na tabela EMPRESA, sem criar uma tabela associativa para o relacionamento GERACAO. Isso está incorreto porque, em um relacionamento N:N, a potência instalada é uma propriedade da combinação de uma empresa em uma UF específica, não da empresa em si. Uma empresa pode ter potências diferentes em UFs diferentes, então o atributo potencia não pode ser armazenado na tabela EMPRESA. A alternativa B ignora a necessidade da tabela associativa.

Alternativa C — ❌ Incorreta

A alternativa C também coloca potencia na tabela EMPRESA e adiciona o atributo UF como chave estrangeira. Isso está incorreto porque, em um relacionamento N:N, a chave estrangeira não deve ser colocada em nenhuma das tabelas das entidades participantes. A tabela associativa é que deve conter as chaves estrangeiras. Além disso, o atributo potencia é do relacionamento, não da entidade EMPRESA. A alternativa C confunde a cardinalidade do relacionamento, tratando-o como se fosse 1:N.

Alternativa D — ❌ Incorreta

A alternativa D cria a tabela GERACAO, mas sem as chaves estrangeiras cod e CNPJ. A tabela GERACAO contém apenas o atributo potencia, o que é insuficiente para representar o relacionamento entre UF e EMPRESA. Sem as chaves estrangeiras, não é possível saber a qual UF e a qual empresa a potência se refere. A tabela associativa deve conter as chaves primárias das entidades participantes para estabelecer o vínculo.

Alternativa E — ❌ Incorreta

A alternativa E adiciona o atributo CNPJ na tabela UF e coloca potencia na tabela EMPRESA. Isso está incorreto porque o CNPJ é um atributo da entidade EMPRESA, não da UF. Além disso, o atributo potencia é do relacionamento, não da entidade EMPRESA. A alternativa E não cria a tabela associativa necessária para o relacionamento N:N e mistura atributos de entidades diferentes.

A regra de ouro para mapear relacionamentos N:N é: sempre criar uma tabela associativa com as chaves primárias das entidades participantes e os atributos do relacionamento. Essa tabela terá uma chave primária composta pelas duas chaves estrangeiras.

Gabarito: letra A

Link permanente: /questoes/cg057871