Você está na página 1de 16

Normalização

Normalizar porquê?

Após a construção do modelo conceptual dos dados (Modelo de


Entidade e Associações) é feita a transformação para o modelo
lógico (esquema de tabelas).

A normalização tem como objectivo avaliar a qualidade do


desenho de tabelas e transformá-lo (em caso de necessidade)
num desenho (conjunto de tabelas) equivalente, menos
redundante e mais estável.
Etapas

Eliminar Eliminar
Grupos de Dependências Eliminar
Atributos Funcionais DF´s
Repetitivos Parciais Transitivas

Tabelas não 1ª Forma 2ª Forma 3ª Forma


Modelo DEA Normalizadas Normal Normal Normal
(1FN) (2FN) (3FN)
1ª Forma Normal

 Uma relação está na Primeira Forma Normal


quando:

 Não contém atributos multivalor;


 Não contém grupos repetitivos;

 O objectivo da Primeira Forma Normal é eliminar a


repetição de grupos de informação.
1ª Forma Normal

Na prática o que a primeira forma normal diz é que, numa


linha de uma tabela, cada coluna contém apenas um único
valor (inclusive pode ser o valor NULL) e que esse valor
deve ser atómico, isto é, não pode ser decomposto noutro
conjunto de valores. Não é por isso permitido armazenar
dados em vectores ou listas de valores ou listas de valores
pois os SGBD nem sequer suportam este tipo de dados.
1ª Forma Normal
Exemplo: Dada a tabela:

Estudante (n_estudante, nome_estudante, curso, n_disciplina, nome_disciplina,


cod_professor, nome_professor, categoria_professor, nota)

Esta tabela não está na primeira forma normal (1FN) pois contém valores repetitivos.
1ª Forma Normal

Estudante (n_estudante, nome_estudante, curso)


Nota (n_estudante,
n_estudante n_disciplina, nome_disciplina, cod_professor, nome_professor,
categoria_professor, nota)
2ª Forma Normal

 Uma relação diz-se que está na Segunda Forma Normal


se:

 Está na Primeira Forma Normal;


 Todos os atributos não chave dependem funcionalmente da
totalidade da chave;

 Na Segunda Forma Normal são eliminadas todas as dependências


parciais de atributos não chave para com a chave primária.

Nota: a 2FN só é aplicada quando a chave primária é composta por mais de um campo.
2ª Forma Normal

Os atributos Nome_disciplina, Cod_professor, Nome_professor, Categoria_Professor,


dependem apenas do atributo N_disciplina (ou seja não da totalidade da chave).
2ª Forma Normal

Nota (n_estudante, n_disciplina, nota)


Disciplina (n_disciplina, nome_disciplina, cod_professor, nome_professor,
categoria_professor)
3ª Forma Normal
 Uma relação diz-se que está na Terceira Forma
Normal se:

 Está na Segunda Forma Normal;


 Todos os atributos não chave não dependem
funcionalmente uns dos outros;

 Se uma relação está na 3FN então, cada atributo deve depender


apenas do identificador da tabela (chave primária).

Nota: A terceira forma normal é baseada no conceito de dependência transitiva.


3ª Forma Normal

Estudante (n_estudante, nome_estudante, curso)


Nota (n_estudante, n_disciplina, nota)
Disciplina (n_disciplina, nome_disciplina, cod_professor, nome_professor,
categoria_professor)
3ª Forma Normal

Os atributos nome_professor, Categoria_Professor, dependem do atributo


Cod_professor, que não é chave primária.
3ª Forma Normal

Estudante (n_estudante, nome_estudante, curso)


Nota (n_estudante, n_disciplina, nota)
Disciplina (n_disciplina, nome_disciplina, cod_professor)
Professor (cod_professor, nome_professor, categoria_professor)
Exercício

 Normalize o seguinte conjunto de atributos:

Aviões (matricula, nome, modelo, autonomia,


lugares, n_voo, data, hora, partida, destino,
licença_pilotagem, nome_piloto)
Solução
1FN:
Aviões (matricula, nome, modelo, autonomia, lugares)
Voos (n_voo, matricula, data, hora, partida, destino, licença_pilotagem, nome_piloto)

2FN:
Aviões (matricula, nome, modelo, autonomia, lugares)
Voos (n_voo, matricula, data, hora, partida, destino, licença_pilotagem, piloto)

3FN:
Marcas (modelo, autonomia, lugares)
Aviões (matricula, nome, modelo)
Voos (n_voo, matricula, data, hora, partida, destino, licença_pilotagem)
Pilotos (licença_pilotagem, nome_piloto)

Você também pode gostar