Anda di halaman 1dari 51

Normalizao

Objetivos
Minimizao de redundncias e
inconsistncias;
Facilidade de manipulaes do banco
de dados;
Facilidade de manuteno do sistema
de Informao.

Normalizao de Dados

o processo formal passo a passo


que examina os atributos de uma
entidade, com o objetivo de evitar
anomalias observadas na incluso,
excluso e alterao de registros.

Regra

Uma regra de ouro que devemos


observar quando do projeto de um
Banco de Dados baseado no Modelo
Relacional de Dados a de "no
misturar assuntos em uma mesma
Tabela".

Exemplo

Na Tabela Clientes devemos colocar


somente campos relacionados com o
assunto Clientes. No devemos
misturar campos relacionados com
outros assuntos, tais como Pedidos,
Produtos, etc. Essa "Mistura de
Assuntos" em uma mesma tabela
acaba por gerar repetio
desnecessria dos dados bem como
inconsistncia dos dados.

Novas Tabelas

Normalmente aps a aplicao das regras de


normalizao de dados, algumas tabelas
acabam sendo divididas em duas ou mais
tabelas, o que no final gera um nmero maior de
tabelas do que o originalmente existente. Este
processo causa a simplificao dos atributos de
uma tabela, colaborando significativamente para
a estabilidade do modelo de dados, reduzindose consideravelmente as necessidades de
manuteno.

As formas normais

O Processo de normalizao aplica


uma srie de regras sobre as tabelas
de um banco de dados, para verificar
se estas esto corretamente
projetadas. Embora existam cinco
formas normais (ou regras de
normalizao), na prtica usamos um
conjunto de trs Formas Normais.

As formas normais

As formas normais so importantes


instrumentos para resolver
antecipadamente problemas na
estrutura do banco de dados.

As formas normais

Para aplicar a normalizao de dados


necessrio considerar a sequncia
das formas normais, isto , para
aplicar a segunda forma normal por
exemplo, necessrio que seja
aplicado a primeira forma normal. Da
mesma forma, para aplicar a terceira
forma normal necessrio que j
tenha sido feita a normalizao na
segunda forma normal.

PRIMEIRA FORMA
NORMAL (1FN)

Primeira forma normal


(1FN)

Uma relao estar na Primeira forma


normal 1FN, se e somente se todos
os domnios bsicos contiverem
somente valores atmicos (no
contiver grupos repetitivos).

Primeira forma normal (1FN)

Em outras palavras podemos definir


que a primeira forma normal no
admite repeties ou campos que
tenha mais que um valor.

Procedimentos 1FN

a) Identificar a chave primria da entidade;


b) Identificar o grupo repetitivo e remov-lo
da entidade;
c) Criar uma nova entidade com a chave
primria da entidade anterior e o grupo
repetitivo.
A chave primria da nova entidade ser
obtida pela concatenao da chave
primria da entidade inicial e a do grupo
repetitivo.

Exemplo de normalizao de
dados. Primeira forma normal

Considere a tabela cliente seguir:

Cliente
Cdigo_cliente
Nome
* Telefone
Endereo

Tabela com os dados sem


normalizao

Tabela com normalizao

Todos os clientes possuem Rua, CEP


e Bairro, e essas informaes esto
na mesma clula da tabela, logo ela
no est na primeira forma normal.
Para normalizar, deveremos colocar
cada informao em uma coluna
diferente, como no exemplo a seguir:

Tabela com dados


normalizados

Tabela com dados


normalizados

Mesmo com o ajuste acima, a tabela


ainda no est na primeira forma
normal, pois h clientes com mais de
um telefone e os valores esto em
uma mesma clula. Para normalizar
ser necessrio criar uma nova tabela
para armazenar os nmeros dos
telefones e o campo-chave da tabela
cliente. Veja o resultado a seguir:

Tabela com dados


normalizados

Tabela com dados


normalizados

Concluso 1FN

No exempo acima foi gerado uma segunda


entidade para que a primeira forma normal
fosse satisfeita, contudo possvel manter a
tabela original, admitindo-se valores duplos em
uma mesma coluna, como exemplo o campo
telefone ficaria assim: 11-3400-3563 e 19-35009650. Neste caso a tabela ficaria
desnormalizada, mas muitos acabam preferindo
assim, principalmente quando h poucos casos
de repetio.

SEGUNDA FORMA
NORMAL (2FN)

Segunda Forma Normal

Uma tabela est na Segunda Forma


Normal 2FN se ela estiver na 1FN e
todos os atributos no chave forem
totalmente dependentes da chave
primria (dependente de toda a chave
e no apenas de parte dela).

Segunda forma normal


2FN

Se o nome do produto j existe na


tabela produtos, ento no
necessrio que ele exista na tabela de
produtos. A segunda forma normal
trata destas anomalias e evita que
valores fiquem em redundncia no
banco de dados.

Procedimentos

a) Identificar os atributos que no so


funcionalmente dependentes de toda
a chave primria;
b) Remover da entidade todos esses
atributos identificados e criar uma
nova entidade com eles.
A chave primria da nova entidade
ser o atributo do qual os atributos do
qual os atributos removidos so
funcionalmente dependentes.

Exemplo de segunda forma normal

Considere a tabela vendas abaixo:


Vendas
N_pedido
Cdigo_produto
Produto
Quant
Valor_unit
Subtotal

Tabela com os dados sem


normalizao

Tabela com dados


normalizados

O nome do produto depende do


cdigo do produto, porm no
depende de N_pedido que a chave
primria da tabela, portanto no est
na segunda forma normal. Isto gera
problemas com a manuteno dos
dados, pois se houver alterao no
nome do produto teremos que alterar
em todos os registros da tabela
venda.

Tabela com dados


normalizados

Para normalizar esta tabela teremos


de criar a tabela Produto que ficar
com os atributos Cdigo_produto e
produto e na tabela Venda
manteremos somente os atributos
N_pedido, cdigo_produto, quant,
valor_unit e subtotal. Veja o resultado
seguir:

Tabela com os dados


normalizados

Tabela com os dados


normalizados

TERCEIRA FORMA
NORMAL (3FN)

Terceira forma normal

Uma tabela est na Terceira Forma


Normal 3FN se ela estiver na 2FN e
se nenhuma coluna no-chave
depender de outra coluna no-chave.

Terceira forma normal

Na terceira forma normal temos de


eliminar aqueles campos que podem
ser obtidos pela equao de outros
campos da mesma tabela.

Procedimentos

a) Identificar todos os atributos que


so funcionalmente dependentes de
outros atributos no chave;
b) Remov-los.
A chave primria da nova entidade
ser o atributo do qual os atributos
removidos so funcionalmente
dependentes.

Exemplo de normalizao na terceira


forma normal

Tabela com dados sem


normalizao

Considerando ainda a nossa tabela


Venda, veremos que a mesma no
est na terceira forma normal, pois o
subtotal o resultado da multiplicao
Quant X Valor_unit, desta forma a
coluna subtotal depende de outras
colunas no-chave.

Tabela com dados na


normalizados

Considerando ainda a nossa tabela


Venda, veremos que a mesma no
est na terceira forma normal, pois o
subtotal o resultado da multiplicao
Quant X Valor_unit, desta forma a
coluna subtotal depende de outras
colunas no-chave.

Tabela com os dados

normalizados

Relacionamento entre
entidades

Relacionamento entre entidades o


tipo de ocorrncia existente entre
entidades. O smbolo que representa
o relacionamento no modelo E-R um
losango com o nome do
relacionamento escrito no seu interior,
como no exemplo a seguir.

Cardinalidade

Relacionamentos entre
entidades

Em um modelo de entidade e
relacionamento, nem todas as
entidades sero relacionadas, h
casos em que no h relacionamento
entre entidades, nestes casos
consideramos como entidades
isoladas.

Tipos de Relacionamentos

Existem trs tipos de relacionamento


entre entidades:
Um para um
Um para muitos
Muitos para muitos

Relacionamento um-paraum

O relacionamento um-para-um
usado quando uma entidade A se
relaciona com uma entidade B e viceversa.
Este relacionamento representado
pelo sinal: 1:1

Relacionamento um para
um

Relacionamento umpara-muitos

O relacionamento um-para-muitos
usado quando uma entidade A pode
se relacionar com uma ou mais
entidades B.
Este relacionamento representado
pelo sinal: 1:N

Relacionamentos um para
muitos

Relacionamento muitospara-muitos

O relacionamento muitos-para-muitos
usado quando vrias entidades A se
relacionam com vrias entidades B.
Este relacionamento representado
pelo sinal: N:N ou N:M

Relacionamento muitospara-muitos

Concluso

A cardinalidade um conceito importante para ajudar


a definir o relacionamento, ela define o nmero de
ocorrncias em um relacionamento.
Para determinar a cardinalidade, deve-se fazer a
pergunta relativa ao relacionamento em ambas as
direes.
Um departamento possui quantos empregados?
- no mnimo 1 e no mximo N.
Um empregado est alocado em quantos
departamentos?
- no mnimo em 1 e no mximo em 1
Somando-se as cardinalidades, definimos o resultado
final do relacionamento, ou seja, 1:N

Referncias

Pereira de Abreu, Maurcio. Nery R.


Machado, Felipe. Editora Erika. So Paulo.
2006. 320 pginas.

Anda mungkin juga menyukai