Questão de Arquitetura de Software — Banco de Dados — IF-MT 2023
- Código
- qq952021
- Banca
- IF-MT
- Órgão
- IF-MT
- Ano
- 2023
- Nível
- Superior
- Cargo
- Analista de Tecnologia da Informação
- A1FN
- B2FN
- C3FN
- DFNBC
- E5FN
GabaritoB — 2FN
Gabarito: letra B. A transformação descrita aplica a Segunda Forma Normal (2FN), pois elimina a dependência parcial do atributo nome_disciplina em relação à chave primária composta (cod_professor, cod_disciplina), criando uma tabela separada para disciplina.
A tabela original professor_disciplina possui chave primária composta (cod_professor, cod_disciplina). Nela, o atributo nome_disciplina é funcionalmente dependente apenas de cod_disciplina (parte da chave), e não da chave completa — caracterizando uma dependência parcial, que viola a 2FN. Para normalizar, removeu-se nome_disciplina para uma nova tabela disciplina, cuja chave primária é cod_disciplina. Dessa forma, todos os atributos não chave na tabela professor_disciplina (data_inicio, data_termino) passam a depender da chave inteira, satisfazendo a 2FN. Não há dependências transitivas, então a 3FN também é atendida, mas a transformação específica é a eliminação de dependência parcial, característica da 2FN.
A 1FN exige que todos os atributos sejam atômicos (sem grupos repetitivos) e que a tabela possua uma chave primária. A tabela original já atende a 1FN; o problema era a dependência parcial, que é resolvida na 2FN.
Como explicado, a separação de nome_disciplina para outra tabela elimina a dependência parcial, levando à 2FN.
A 3FN exige que não haja dependências transitivas (atributo não chave dependente de outro atributo não chave). Embora a tabela resultante também esteja em 3FN, a transformação descrita foca na eliminação da dependência parcial, que é resolvida na 2FN. A 3FN seria aplicada se houvesse, por exemplo, dependência de nome_disciplina em relação a cod_disciplina? Na verdade, a dependência de nome_disciplina em cod_disciplina é uma dependência da chave, não transitiva. Portanto, a normalização descrita não trata de dependência transitiva.
A Forma Normal de Boyce-Codd (FNBC) é uma versão mais rigorosa da 3FN, aplicável quando há dependências funcionais onde a chave não é a única determinante. Não é o caso aqui, pois a única dependência funcional não trivial é cod_disciplina → nome_disciplina, e a chave candidata cod_disciplina é a chave primária da nova tabela, satisfazendo FNBC. Mas a transformação descrita não visa especificamente a FNBC.
A 5FN lida com dependências de junção (join dependencies) em tabelas com múltiplas chaves candidatas. Não se aplica a este exemplo simples.
Conclusão: A normalização aplicada foi a Segunda Forma Normal (2FN), correspondente à alternativa B.
Para identificar a forma normal aplicada, observe qual anomalia foi corrigida. Na 1FN, resolve-se não atomicidade e repetição; na 2FN, dependência parcial; na 3FN, dependência transitiva. Questões de normalização frequentemente apresentam tabelas com chave composta e atributos que dependem de apenas parte dela — esse é o sinal clássico de que a 2FN é necessária.
Link permanente: /questoes/qq952021