RVA
Normalização

2FN - Segunda Forma Normal

Definição simples

Para a aplicação da 2FN, devemos cumprir um requisito importante: a relação já deve estar na 1FN. Depois, verificamos a seguinte condição específica:

Uma relação RR está na segunda forma normal (2FN) se, e somente se, os atributos não-principais de RR tiverem dependência funcional total de todos os atributos que formam a chave primária de RR.

Um atributo não-principal é aquele que não faz parte de nenhuma chave candidata. Em outras palavras, ele é um atributo que não é essencial para identificar, de forma única, uma tupla na relação.

Em português claro, o que essa definição quer dizer é: quando uma relação RR tem sua chave primária composta, ou seja, formada por mais de um atributo, todos os atributos que não são chave devem ser funcionalmente dependentes de toda a chave primária, e não de apenas parte dela. Se uma relação possui apenas uma chaves primária simples (não composta), então ela não pode apresentar dependências parciais e, portanto, satisfaz automaticamente a 2FN (de acordo com essa definição inicial).

Vejamos o exemplo a seguir, que consiste numa relação que representa a nota alcançada por um estudante em uma disciplina. A chave primária desta relação é composta pelos atributos RGA e CodOfertaDisciplina.

🔑 RGA🔑 CodOfertaDisciplinaNome_AlunoNome_DisciplinaNota
20231001DSI101Ana SilvaBanco de Dados7,5
20231001MAT201Ana SilvaCálculo9,0
20231002DSI101Francisco CostaBanco de Dados5,0

Veja que, nesta relação, o atributo Nota depende da chave primária completa (a identificação do aluno e a identificação da disciplina).

Já o atributo Nome_Aluno depende apenas de RGA, que é parte da chave primária composta (RGA, CodOfertaDisciplina). Isso caracteriza uma dependência funcional parcial, que viola a 2FN. De forma semelhante, o atributo Nome_Disciplina depende apenas de CodOfertaDisciplina, sem qualquer dependência de RGA, também causando dependência parcial.

Para que a relação esteja na 2FN, esses atributos deveriam ser removidos para relações separadas em que a chave primária seja o atributo do qual eles dependem totalmente. Por exemplo, Nome_Aluno poderia estar numa relação com chave RGA, enquanto Nome_Disciplina estaria numa relação com chave CodOfertaDisciplina.

Veja como ficaria o resultado:

OFERTA_DISCIPLINA

🔑CodOfertaDisciplina (PK)Nome_Disciplina
DSI101Banco de Dados
MAT201Cálculo

ALUNO

🔑 RGA (PK)Nome_Aluno
20231001Ana Silva
20231002Francisco Costa

ALUNO_DISCIPLINA

🔑 RGA (PK, FK)🔑 CodOfertaDisciplina (PK, FK)Nota
20231001DSI1017,5
20231001MAT2019,0
20231002DSI1015,0

A relação ALUNO_DISCIPLINA funciona como uma tabela associativa que liga os alunos às disciplinas das quais estão matriculados, contendo as chaves primárias de ALUNO e OFERTA_DISCIPLINA.

Definição restritiva

Elmasri e Navathe também apresentam outra versão mais restritiva da 2FN: nela, em vez de se analisar apenas a chave primária, considera-se qualquer atributo chave.

Uma relação RR está na 2FN se cada atributo não principal AA for total e funcionalmente dependente de cada chave de RR.

Ou seja: agora, olhamos não apenas para a dependência total da chave primária, mas de todos os atributos que são únicos para as tuplas daquela relação.

Para podermos visualizar essa situação, vamos considerar a relação anterior, com uma pequena diferença: criaremos uma chave substituta (surrogate key) para que a relação tenha uma chave primária simples.

🔑 idMatriculaRGACodOfertaDisciplinaNome_AlunoNome_DisciplinaNota
120231001DSI101Ana SilvaBanco de Dados7,5
220231001MAT201Ana SilvaCálculo9,0
320231002DSI101Francisco CostaBanco de Dados5,0

Veja que agora a chave primária é simples (formada por um único atributo). Se fôssemos considerar apenas a primeira definição formal da 2FN, nem precisaráimos nos preocupar com essa relação. No entanto, com a nova definição, chegamos a um ponto importante: a combinação de RGA,CodOfertaDisciplinaRGA,CodOfertaDisciplina é chave candidata para a relação. Logo, temos que garantir que todos os atributos dependam não apenas de idMatriculaidMatricula, mas também da combinação de RGA,CodOfertaDisciplinaRGA,CodOfertaDisciplina.

Copyright © 2026