Grupo Haw: Primeira Forma Normal (1FN)

quinta-feira, 24 de setembro de 2009

Primeira Forma Normal (1FN)

As Formas Normais são regras que devem ser aplicadas na construção das entidades (tabelas) do banco de dados, essas regras são definidas de modo progressivo, onde para uma entidade está na Segunda Forma Normal ele deve obrigatoriamente estar na Primeira Forma Normal, e para estar na Terceira Forma Normal ela deve estar na Segunda Forma Norma, e assim por diante. Como principal parte do processo de Normalização, temos as três primeiras Formas Normais, que serão descritas abaixo. Os exemplos abaixo serão escritos de um modo que não serão utilizados boa parte dos termos técnicos que envolvem os conceitos. Esses exemplos servem apenas para introdução, e para uma abordagem mais técnica e completa é necessário a leitura de outros livros. Mas vamos lá, fica aí um resumo que eu fiz para poder entender as formas normais, a intenção é que essas postagens sejam sempre atualizadas, conforme meus conhecimentos vão aumentando.

Primeira Forma Normal (1FN):

Na Primeira Forma Normal devem ser identificados todos os atributos multivalorados de uma entidade, e seguir os seguintes passos:
1. Identificar a chave primária da entidade
2. Identificar o atributo multivalorado
3. Criar uma nova entidade com o atributo multivalorado utilizando a chave primária da entidade anterior como chave estrangeira
No exemplo apresentado abaixo, temos o atributo nrTelefones aparecendo mais de uma vez para uma mesma pessoa.
idPessoa
nmPessoa
dtAniversario
nrTelefones
1
João Roberto
01/05/1980
9311-9654 / 3698-5741
2
Juliana Gomes
28/02/1985
3232-4521 / 6352-9821 / 3987-8855
3
Talita Brandão
03/12/1988
5561-9874

Com a Primeira Forma Normal (1FN), os atributos Telefones que no modelo acima aparecem mais de uma vez, vão ser removidos para uma entidade nova que receberá como chave estrangeira a chave primária da tabela que ela pertencia.
idPessoa
nmPessoa
dtAniversario
1
João Roberto
01/05/1980
2
Juliana Gomes
28/02/1985
3
Talita Brandão
03/12/1988

idTelefone
idPessoa
nrTelefone
1
1
9311-9654
2
1
3698-5741
3
2
3232-4521
4
2
6352-9821
5
2
3987-8855
6
3
5561-9874


Nenhum comentário:

Postar um comentário