quinta-feira, 18 de fevereiro de 2016

1º Forma Normal

    Primeira Forma normal
    A normalização de dados é um processo importante no processo de modelagem de dados. A primeira parte da normalização é chamada de 1FN ou primeira forma normal, em uma escala que vai até cinco.
    Uma relação estará na primeira forma normal 1FN, se não houver grupo de dados repetidos, isto é, se todos os valores forem únicos. Em outras palavras podemos definir que a primeira forma normal não admite repetições ou campos que tenha mais que um valor.
Os procedimentos mais recomendados para aplicar a 1FN são os seguintes:
a) Identificar a chave primária da entidade;


b) Identificar o grupo repetitivo e removê-lo da entidade;

 
c) Criar uma entidade com a chave primária da entidade anterior e o grupo repetitivo.
A chave primária da nova entidade será obtida pela concatenação da chave primária da 
entidade inicial e a do grupo repetitivo.
Exemplo de normalização de dados.
Considere a tabela cliente abaixo:
Cliente

Código_cliente

Nome

Telefone

Endereço
Agora a tabela com os dados:
Código_cliente
Nome
Telefone
Endereço
C001
José
9563-6352 9847-2501
Rua Seis, 85 Morumbi 12536-965
C002
Maria
3265-8596
Rua Onze, 64 Moema 65985-963
C003
Jânio
8545-8956 9698-6301
Praça Ramos Liberdade 68858-633
Tabela desnormalizada, ou seja, não está na 1ª forma normal
Analisando teremos:
Todos os clientes possuem Rua, CEP e Bairro, e essas informações estão na mesma 
célula da tabela, logo ela não está na primeira forma normal. Para normalizar, deveremos 
colocar cada informação em uma coluna diferente, como no exemplo a seguir:
Código_cliente
Nome
Telefone
Rua
Bairro
CEP
C001
José
9563-6352 9847-2501
Rua Seis,85
Morumbi
12536-965
C002
Maria
3265-8596
Rua Onze, 64
Moema
65985-963
C003
Jânio
8545-8956 9698-6301
Praça Ramos
Liberdade
68858-633
Tabela ainda não está na primeira forma normal
Mesmo com o ajuste acima, a tabela ainda não está na primeira forma normal, pois há 
clientes com mais de um telefone e os valores estão em uma mesma célula. Para normalizar 
será necessário criar uma nova tabela para armazenar os números dos telefones e o 
campo-chave da tabela cliente. Veja o resultado a seguir:

Código_cliente
Nome
Rua
Bairro
CEP
C001
José
Rua Seis,85
Morumbi
12536-965
C002
Maria
Rua Onze, 64
Moema
65985-963
C003
Jânio
Praça Ramos
Liberdade
68858-633
Tabela na primeira forma normal
Código_cliente
Telefone
C001
9563-6352
C001
9847-2501
C002
3265-8596
C003
8545-8956
C003
9698-6301
Tabela na 1ª forma normal
Na segunda tabela a chave primária está implícita, isto voe poderá encontrar algumas 
literaturas especializadas, onde nem sempre ela é especificada, mas ela deverá existir.
No exemplo acima foi gerado uma segunda entidade para que a primeira forma normal 
fosse satisfeita, contudo é importante ressaltar que nem sempre encontramos banco de 
dados com tabelas normalizadas. Existem casos onde as repetições são poucas ou o 
cenário permite administrar as repetições sem trazer grandes consequências.

Nenhum comentário:

Postar um comentário