Questão de Banco de Dados — Formas normais — FGV 2023
- Código
- fg060699
- Banca
- FGV
- Órgão
- CGE-SC
- Ano
- 2023
- Nível
- Superior
- Cargo
- Auditor do Estado - Ciências da Computação - Tarde (Conhecimentos Específicos)
- A

- B

- C

- D

- E






GabaritoD — [imagem]
Gabarito: letra D. O modelo correto deve separar as entidades (Apresentador, Podcast, Convidado) para evitar redundâncias e garantir a 3FN, onde cada atributo não-chave depende exclusivamente da chave primária da sua respectiva entidade.
Para atender à 3FN, é necessário eliminar dependências transitivas e garantir que os dados estejam organizados de forma atômica e normalizada. No cenário apresentado, temos três entidades distintas:
Apresentador: possui ID e nome.
Podcast: possui ID, nome e tema.
Convidado: possui ID, nome e profissão.
As relações entre essas entidades (Apresentador-Podcast e Convidado-Podcast) permitem que múltiplos apresentadores e convidados se associem a podcasts, respeitando a estrutura de um banco de dados relacional bem modelado.
Esta alternativa apresenta uma única entidade "Podcast" contendo todos os atributos de apresentadores e convidados. Isso viola a 1FN (atributos multivalorados/compostos) e a 2FN/3FN, pois gera redundância e dependências parciais/transitivas (ex.: o nome do convidado depende do ID do convidado, não do ID do podcast).
Embora separe "Apresentador" de "Podcast", mantém os dados do convidado (ID, nome, profissão) dentro da entidade "Podcast". Isso mantém a redundância e viola a 3FN, pois os dados do convidado não dependem funcionalmente apenas do ID do podcast.
Esta alternativa tenta relacionar "Apresentador" e "Convidado" diretamente, ignorando a entidade "Podcast" como o centro da relação. Além disso, coloca atributos do podcast dentro da entidade "Apresentador", violando a normalização.
Esta é a modelagem correta. Ela isola as três entidades principais (Apresentador, Podcast, Convidado) e utiliza relacionamentos (ApresPod e ConvidaPod) para conectar os dados. Cada entidade contém apenas seus atributos próprios, garantindo que não haja dependências transitivas ou redundâncias, cumprindo os requisitos da 3FN.
Esta alternativa repete atributos (como ID e Nome do apresentador) dentro da entidade "Podcast", o que gera redundância de dados e viola a 3FN, pois cria dependências transitivas desnecessárias.
Na modelagem de dados, sempre que identificar entidades distintas (como pessoas e objetos), separe-as em tabelas próprias. Se um atributo de uma entidade depende de outra, você provavelmente tem uma redundância que viola a 3FN.
Link permanente: /questoes/fg060699