Analise a relação a seguir: FUNCIONARIO(id_func, nome, departamento, nome_departamento) Sabendo que: id_func → nome, departamento departamento → nome_departamento Qual problema de normalização essa relação apresenta?
AViolação da primeira forma normal devido à presença de atributos compostos.
BDependência parcial em relação à chave primária.
CDependência transitiva entre atributos não chave.
DViolação da integridade referencial.
EDependência multivalorada.
Revelar gabarito e comentário▾
GabaritoC — Dependência transitiva entre atributos não chave.
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”.
Normalização de Banco de Dados: Dependência Transitiva e a 3FN
Gabarito: letra C. A relação FUNCIONARIO apresenta dependência transitiva entre atributos não chave: departamento → nome_departamento, enquanto nome_departamento não depende diretamente da chave primária id_func. Isso viola a Terceira Forma Normal (3FN), que exige que atributos não chave dependam apenas da chave primária, sem depender de outros atributos não chave.
A normalização é o processo de organizar dados em um banco de dados relacional para reduzir redundância e evitar anomalias de inserção, atualização e exclusão. Ela se baseia no conceito de dependência funcional (DF): uma relação entre atributos onde o valor de um atributo (ou conjunto) determina o valor de outro. Por exemplo, em A → B, dizemos que "A determina B" ou "B é funcionalmente dependente de A".
As formas normais são aplicadas sequencialmente, cada uma refinando a anterior:
1FN: elimina grupos repetidos e garante que cada campo contenha apenas valores atômicos (indivisíveis).
2FN: exige estar na 1FN e que todos os atributos não chave dependam da chave primária inteira (elimina dependências parciais).
3FN: exige estar na 2FN e que atributos não chave dependam apenas da chave primária (elimina dependências transitivas).
Na relação dada, temos a chave primária id_func e as dependências funcionais:
id_func → nome, departamento (atributos não chave dependem da chave)
departamento → nome_departamento (um atributo não chave depende de outro atributo não chave)
Aqui está o problema: nome_departamento depende de departamento, que por sua vez depende de id_func. Isso cria uma dependência transitiva: id_func → departamento → nome_departamento. Para estar na 3FN, nome_departamento deveria depender diretamente da chave primária, o que não ocorre. A solução é decompor a relação em duas: FUNCIONARIO(id_func, nome, departamento) e DEPARTAMENTO(departamento, nome_departamento), onde departamento vira chave primária da nova tabela e chave estrangeira na tabela de funcionários.
A pegadinha desta questão é distinguir dependência parcial (que viola a 2FN) de dependência transitiva (que viola a 3FN). A dependência parcial ocorre quando um atributo não chave depende de apenas parte de uma chave primária composta. Como a chave aqui é simples (id_func), não há dependência parcial. A dependência transitiva, por outro lado, ocorre quando um atributo não chave depende de outro atributo não chave, criando uma cadeia que não passa pela chave. É exatamente isso que a relação apresenta.
Guarde essa distinção: parcial = depende de parte da chave composta; transitiva = depende de outro atributo não chave. É nessa fronteira que as alternativas se dividem.
Alternativa A — ❌ Incorreta
Afirma que há violação da 1FN por atributos compostos. A 1FN exige que os atributos sejam atômicos (indivisíveis). A relação apresentada não indica nenhum atributo composto ou multivalorado — nome, departamento e nome_departamento são atributos simples. O problema real é de dependência transitiva, não de atomicidade.
Alternativa B — ❌ Incorreta
Afirma que há dependência parcial em relação à chave primária. A dependência parcial ocorre quando um atributo não chave depende de apenas parte de uma chave primária composta. Aqui, a chave primária é simples (id_func), então não há como existir dependência parcial — todos os atributos dependem da chave inteira. A dependência apresentada é transitiva, não parcial.
Alternativa C — ✅ Correta ⟵ GABARITO
A relação apresenta dependência transitiva entre atributos não chave: departamento → nome_departamento. Isso significa que nome_departamento depende de departamento, que por sua vez depende da chave id_func. Essa cadeia viola a 3FN, que exige que atributos não chave dependam apenas da chave primária, sem depender de outros atributos não chave.
Alternativa D — ❌ Incorreta
Afirma que há violação da integridade referencial. A integridade referencial é uma restrição que garante que uma chave estrangeira em uma tabela deve referenciar uma chave primária existente em outra tabela. A relação apresentada não possui chave estrangeira nem referência a outra tabela — o problema é de normalização, não de integridade referencial.
Alternativa E — ❌ Incorreta
Afirma que há dependência multivalorada. A dependência multivalorada ocorre quando um atributo pode ter múltiplos valores independentes de outros atributos, e é tratada na Quarta Forma Normal (4FN). A relação apresentada não indica nenhum atributo multivalorado — os atributos são todos de valor único. O problema é de dependência transitiva, não multivalorada.
A regra de ouro para a prova: dependência parcial = 2FN violada (chave composta); dependência transitiva = 3FN violada (atributo não chave depende de outro não chave). Identifique a cadeia de dependências e veja se ela passa pela chave primária.