Descrição simplificada da primeira normalização de dados usado nas áreas relacionadas à criação e estudo de base de dados. Conta com definição e exemplo prático.
2. Introdução
A normalização de dados é uma série de passos
que se seguem no projeto de um banco de dados,
que permitem um armazenamento consistente e um
eficiente acesso aos dados em bancos de dados
relacionais.
3. Definição
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.
4. Passagem à 1FN
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 nova entidade com a chave primária
da entidade anterior e o grupo repetitivo.
6. Exemplo 1
Cliente
Código_cliente
Nome
* Telefone
Endereço
os 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:
7. Mesmo com o ajuste acima, a tabela ainda não está na primeira forma normal, pois
clientes com mais de um telefone e os valores estão em uma mesma célula. Para nor
será necessário criar uma nova tabela para armazenar os números dos telefones e o
campo-chave da tabela cliente.
8. Nesse exemplo 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.
9. Exemplo 2
Considere um Pedido número 00001, para este
pedido se observarmos o formulário em papel
teremos muitos campos a considerar, contudo
usaremos apenas alguns para facilitar o
entendimento.
PEDIDOS = {COD_PEDIDO + CLIENTE +
VENDEDOR + ATENDENTE + PRODUTO + QUANT
+ VALOR}
10. COD_PEDI
DO
CLIENTE VENDEDOR ATENDENT
E
PRODUTO QUANT VALOR
00001 RAFAEL
SÁ
MARCO JOSIAS TENIS 1 50.00
00001 RAFAEL
SÁ
MARCO JOSIAS CINTO 2 80.00
00001 RAFAEL
SÁ
MARCO JOSIAS CARTEIR
A
1 35.00
Observe que para os dados do pedido 00001 lançados acima, apenas os atributos qu
estão em negrito SÃO ÚNICOS, pois não se diferem. Os demais atributos mudam, nã
cumprindo a 1FN onde os atributos devem ser atômicos, quer dizer únicos.
11. Para testarmos um dos atributos e ter certeza que este é
atômico, podemos efetuar uma pergunta conforme o
exemplo abaixo:
Podemos ter outro cliente para o pedido 00001? = Não.
Podemos ter apenas 1 cliente por pedido, sendo assim este
atributo é atômico único para 1 pedido.
Podemos ter outro vendedor para o pedido 00001? = Não.
Podemos ter apenas 1 vendedor por pedido.
Podemos ter outro produto para o pedido 00001? = Sim.
Podemos ter vários produtos para um pedido, sendo assim, os
campos aninhados devem ser extraídos para outra tabela.
12. Referências
Luis.Blog “Primeira Forma Normal 1FN -
Normalização de dados” -
http://www.luis.blog.br/primeira-forma-normal-1fn-
normalizacao-de-dados.aspx
Wikipédia “Normalização de dados” -
http://pt.wikipedia.org/wiki/Normaliza%C3%A7%C3%
A3o_de_dados
13. • Feito por José Vitor
Costa dos Santos
• Segundo ano do curso
técnico em Informática
e Comunicação turma I
• Professor Fernando
Amaro
• IFMA Campus Caxias
• Ano 2014
jvcscx@gmail.com