Pular para o conteúdo principal

Questão de Banco de Dados — Banco de Dados Relacionais — FCC 2019

Banco de DadosBanco de Dados Relacionais
Código
fc056314
Banca
FCC
Órgão
SANASA Campinas
Ano
2019
Cargo
Analista de Tecnologia da Informação - Análise e Desenvolvimento
Em um Modelo Entidade-Relacionamento − MER, a Entidade Ent1 relaciona-se com a entidade Ent2 em cardinalidade n:m e com a entidade Ent3 em cardinalidade 1:n, onde o lado n é a entidade Ent3.O Projeto Lógico de Banco de Dados Relacional deve conter as tabelas derivadas das três entidades e mais uma nova tabela cuja chave primária (PK) é composta das PKs de
  1. AEnt1 e Ent2. Ent1 deve conter uma chave estrangeira (FK) que é a PK de Ent3.
  2. BEnt1 e Ent2. Ent3 deve conter uma chave estrangeira (FK) que é a PK de Ent1.
  3. CEnt1 e Ent3. Ent2 deve conter uma chave estrangeira (FK) que é a PK de Ent3.
  4. DEnt2 e Ent3. Ent1 deve conter uma chave estrangeira (FK) que é a PK de Ent2.
  5. EEnt2 e Ent3. Ent2 deve conter uma chave estrangeira (FK) que é a PK de Ent1.
Revelar gabarito e comentário

GabaritoB — Ent1 e Ent2. Ent3 deve conter uma chave estrangeira (FK) que é a PK de Ent1.

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 MER → Relacional: relacionamentos N:M e 1:N

Gabarito: letra B. O enunciado apresenta dois relacionamentos binários: Ent1↔Ent2 com cardinalidade N:M e Ent1↔Ent3 com cardinalidade 1:N (lado N = Ent3). No projeto lógico relacional, o relacionamento N:M exige uma nova tabela associativa cuja chave primária é composta pelas chaves primárias de Ent1 e Ent2. Já o relacionamento 1:N é resolvido inserindo uma chave estrangeira na tabela do lado N (Ent3) que referencia a chave primária da tabela do lado 1 (Ent1). A alternativa B descreve exatamente isso.

A banca testa a aplicação das regras de mapeamento mais comuns no concurso. Veja o resumo:

Cardinalidade

Solução no Modelo Relacional

1:1

FK em qualquer lado (ou tabela separada)

1:N

FK na tabela do lado N referenciando o lado 1

N:M

Nova tabela associativa com PK composta pelas PKs das duas entidades

11:1
FK em qualquer lado
Ou tabela separada
21:N
FK na tabela do lado N
Referencia o lado 1
3N:M
Nova tabela associativa
PK composta pelas PKs das duas entidades
Mapeamento MER → Relacional
LEVELsoulevel.com.br
Mapeamento MER → Relacional: 1:1 (FK em qualquer lado, Ou tabela separada); 1:N (FK na tabela do lado N, Referencia o lado 1); N:M (Nova tabela associativa, PK composta pelas PKs das duas entidades)

Alternativa A — ❌ Incorreta

A primeira parte está certa (nova tabela de Ent1 e Ent2), mas a segunda está errada: Ent1 deve conter FK da PK de Ent3 é o contrário do que ocorre. No relacionamento 1:N, a FK fica na entidade do lado N (Ent3), não no lado 1.

Alternativa B — ✅ Correta ⟵ GABARITO

  • A nova tabela é derivada do relacionamento N:M entre Ent1 e Ent2, com PK composta pelas PKs de Ent1 e Ent2.

  • Ent3, por ser o lado N do relacionamento 1:N com Ent1, deve conter uma FK que é a PK de Ent1.

Ambas as afirmações estão perfeitamente de acordo com as regras de mapeamento.

Alternativa C — ❌ Incorreta

Erro duplo: a nova tabela deveria ser de Ent1 e Ent2 (não Ent1 e Ent3). Além disso, Ent2 não recebe FK de Ent3; quem recebe FK é Ent3 (de Ent1).

Alternativa D — ❌ Incorreta

Nova tabela aponta Ent2 e Ent3 – incorreto (deveria ser Ent1 e Ent2). Também afirma que Ent1 conterá FK da PK de Ent2, o que não procede: a FK fica em Ent3 referenciando Ent1.

Alternativa E — ❌ Incorreta

Novamente a nova tabela equivocada (Ent2 e Ent3), e a FK atribuída a Ent2 (deveria ser em Ent3).

NÃO CAIA NESSA!

A banca inverte os papéis: troca quais entidades formam a tabela associativa e para onde vai a FK. Lembre-se: N:M → tabela nova com PK = chaves das duas entidades envolvidas; 1:N → FK na tabela do lado N (a que tem cardinalidade máxima 'n'). O lado 1 nunca ganha FK adicional.

Gabarito: letra B.

Link permanente: /questoes/fc056314