Questão de Banco de Dados — Formas normais — INSTITUTO AOCP 2024
- Código
- qg261786
- Banca
- INSTITUTO AOCP
- Órgão
- SANEPAR
- Ano
- 2024
- Nível
- Superior
- Cargo
- Profissional - Analista de Informática
- AV – V – V.
- BV – V – F.
- CV – F – F.
- DF – F – F.
- EF – F – V.
GabaritoC — V – F – F.
Gabarito: letra C — sequência V – F – F. A primeira afirmativa está correta (1FN exige valores atômicos e chave primária), mas a segunda e a terceira estão erradas: a 2FN trata de dependência funcional total (eliminação da dependência parcial), não de "multivalores dependentes" (isso é tema da 4FN, dependência multivalorada), e a 3FN trata de dependência transitiva, não de "dados que mudam com o tempo" (isso é modelagem temporal, não uma forma normal).
A normalização é o processo de organizar tabelas para reduzir redundância e evitar anomalias de inserção, exclusão e atualização. Ela se baseia em dependências funcionais e segue formas normais cumulativas: para estar na 2FN, a tabela precisa estar na 1FN; para estar na 3FN, precisa estar na 2FN. Vamos entender cada uma:
1FN (Primeira Forma Normal): todos os atributos devem ser atômicos, ou seja, não podem existir atributos multivalorados (mais de um valor em um campo) nem compostos (subdivisíveis). Além disso, cada registro deve ser único, garantido pela chave primária. É a forma normal mais básica, considerada parte da definição formal do modelo relacional.
2FN (Segunda Forma Normal): a tabela deve estar na 1FN e cada atributo não chave deve depender da chave primária inteira, não de apenas parte dela. Isso é a dependência funcional total. Se houver dependência parcial (um atributo depende de apenas uma coluna de uma chave composta), a tabela viola a 2FN. Exemplo: em uma tabela com chave composta (ID_PROF, ID_CURSO), se o atributo DESCRICAO_CURSO depende apenas de ID_CURSO, há dependência parcial — viola a 2FN.
3FN (Terceira Forma Normal): a tabela deve estar na 2FN e não pode haver dependência transitiva, ou seja, um atributo não chave não pode depender de outro atributo não chave. Todos os atributos não chave devem depender exclusivamente da chave primária. Exemplo: em uma tabela com chave primária ID_FUNC, se o atributo NOME_DEPARTAMENTO depende de ID_DEPARTAMENTO (que não é chave), há dependência transitiva — viola a 3FN.
A pegadinha da banca está em trocar os conceitos: a 2FN não lida com "multivalores dependentes" (isso é a 4FN, que trata de dependências multivaloradas), e a 3FN não trata de "dados que mudam com o tempo" (isso é modelagem temporal, não uma forma normal). A banca mistura conceitos de formas normais diferentes para confundir o candidato.
Critério | 1FN | 2FN | 3FN |
|---|---|---|---|
Exigência básica | Valores atômicos + chave primária | Estar na 1FN + dependência funcional total | Estar na 2FN + sem dependência transitiva |
O que elimina | Atributos multivalorados e compostos | Dependência parcial (atributo depende de parte da chave composta) | Dependência transitiva (atributo não chave depende de outro não chave) |
Conceito que NÃO pertence a esta FN | — | "Multivalores dependentes" (isso é 4FN) | "Dados que mudam com o tempo" (isso é modelagem temporal) |
A afirmativa está correta. A 1FN exige que todos os campos contenham valores atômicos (sem multivaloração nem atributos compostos) e que cada registro seja único, garantido pela chave primária. Isso é a definição clássica da 1FN, considerada parte da definição formal do modelo relacional.
A afirmativa está errada. A 2FN exige que a tabela esteja na 1FN e que cada atributo não chave dependa da chave primária inteira (dependência funcional total), eliminando a dependência parcial. O texto fala em "lidar com multivalores dependentes" e "dependências multivaloradas", o que é tema da 4FN, não da 2FN. A banca trocou o conceito de dependência parcial (2FN) por dependência multivalorada (4FN).
A afirmativa está errada. A 3FN exige que a tabela esteja na 2FN e que não haja dependência transitiva entre atributos não chave. O texto fala em "tratar dados que mudam com o tempo, como adicionar um timestamp", o que é modelagem temporal, não uma forma normal. A banca trocou o conceito de dependência transitiva (3FN) por modelagem temporal.
Conclusão: Corretas: apenas a afirmativa 1 → sequência V – F – F → letra C.
A banca adora trocar os conceitos entre as formas normais. Aqui, ela colocou "multivalores dependentes" na 2FN (quando isso é da 4FN) e "dados que mudam com o tempo" na 3FN (quando isso é modelagem temporal). Fique atento: 2FN = dependência funcional total (eliminar dependência parcial); 3FN = eliminar dependência transitiva. Com treino, você enxerga essas trocas de longe 💪
Para memorizar as formas normais, use a regra: 1FN = atômico; 2FN = dependência total (sem parcial); 3FN = sem dependência transitiva. Se a questão falar de multivalorados, é 4FN; se falar de timestamp, é modelagem temporal, não forma normal.
Gabarito: letra C
Link permanente: /questoes/qg261786