Questão de Banco de Dados — Banco de Dados Relacionais — FCC 2019
Banco de Dados›Banco 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
AEnt1 e Ent2. Ent1 deve conter uma chave estrangeira (FK) que é a PK de Ent3.
BEnt1 e Ent2. Ent3 deve conter uma chave estrangeira (FK) que é a PK de Ent1.
CEnt1 e Ent3. Ent2 deve conter uma chave estrangeira (FK) que é a PK de Ent3.
DEnt2 e Ent3. Ent1 deve conter uma chave estrangeira (FK) que é a PK de Ent2.
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
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.