Você está na página 1de 26

Fundamentos de

Banco de Dados
Prof. M.Sc. Anderson Pazin

Teoria da
Normalizao

Introduo
Um dos objetivos principais do
gerenciamento de Bancos de Dados
manter a consistncia dos dados nele
armazenados, e para esse fim, algumas
regras precisam ser consideradas.
Algumas dessas regras so garantidas
pelo prprio gerenciador, tais como
unicidade da chave, ligao entre relaes
atravs da chave estrangeira, etc.

Introduo
Outras regras so definidas nos programas
de aplicao que ficam responsveis por
mant-las.
Para que essa manuteno seja vlida,
necessrio que as relaes sejam bem
fundamentadas, no sentido de evitar
redundncias que possam gerar, entre
outros problemas, inconsistncia de
dados.

Normalizao
Para procurar garantir esse aspecto, foi
desenvolvida uma tcnica chamada
Normalizao.
Para o desenvolvimento da Teoria Formal
de Normalizao, foram estabelecidas
dependncias funcionais (DF)1, sobre as
quais est fundamentada a teoria.
Uma DF, uma "formulao" de uma
restrio sobre a semntica dos atributos
que compem uma relao.

Normalizao
Pode ser visto como o processo no qual so eliminados
esquemas de relaes (tabelas) no satisfatrios,
decompondo-os, atravs da separao de seus
atributos em esquemas de relaes menos complexas
mas que satisfaam as propriedades desejadas.
Foi proposto inicialmente por Codd .
Conduz um esquema de relao atravs de um bateria
de testes para certificar se o mesmo est na 1, 2 e
3 Forma Normal.
Estas trs Formas Normais so baseadas em
dependncias funcionais dos atributos do esquema de
relao.

Formas Normais

Primeira Forma Normal


(1FN)

Uma relao est na 1 Forma Normal


quando todos os seus atributos so
atmicos e monovalorados.
(A) Um valor no atmico
se a aplicao lida com
somente uma parte do
valor.
(B) Um valor que atmico
em uma aplicao, pode
ser no atmico em
outra aplicao.

Primeira Forma Normal


(1FN)

Caso haja atributos multivalorados na


relao:
1. Quando a quantidade de valores pequena e
conhecida priori: Substitui-se o atributo
multivalorado por um conjunto de atributos de
mesmo domnio, cada um representando a
ocorrncia de um valor.

Exemplo 1: 1FN - Multivalorado

Primeira Forma Normal


(1FN)

Caso haja atributos multivalorados na


relao:
2. Quando a quantidade de valores muito
grande, varivel ou desconhecida: Retira-se da
relao o atributo multivalorado, e cria-se uma
nova relao que tem o mesmo conjunto de
atributos chave, mais o atributo multivalorado
como chave, porm tomado como
monovalorado.

Exemplo 2: 1FN - Multivalorado

Segunda Forma Normal


(2FN)

Uma relao est na 2 forma normal


quando:

est na 1 F.N. e;
todos os seus atributos que no so primos, so
dependentes totalmente todas as chaves
candidatas da relao.
Todo atributo que pertence a uma chave candidata
denominado primo.

Como aplicar a 2FN - Passo


1

Verifica-se todos os grupos de atributos


dependem da mesma parte da chave.

Nome depende exclusivamente do RA e de nenhuma outra chave


candidata

Como aplicar a 2FN - Passo


2

Retirar da relao todos os atributos de um


desses grupos.

Como aplicar a 2FN - Passo


3

Cria-se uma nova relao, que tem esse


grupo como atributos no chave, e os
atributos que determinam esse grupo como
chave.

Como aplicar a 2FN - Passo


4

Repete-se a operao toda para cada grupo,


at que a relao somente contenha
atributos que dependam da chave toda.

Terceira Forma Normal


(3FN)

Uma relao est na 3 forma normal


quando:

est na 1 e 2 F.N. e;
todos os seus atributos no primos so
dependentes no transitivos de uma chave
candidata.
O atributo Prdio (no primo) depende do atributo sala
(tambm no primo) estabelecendo uma dependncia
transitiva.

Como aplicar a 3FN Passo


1

Verifica-se um grupo de atributos que no


depende diretamente da chave.

Como aplicar a 3FN Passo


2

Retira-se da relao esse grupo de


atributos.

Como aplicar a 3FN Passo


3

Cria-se uma nova relao, que tem esse


grupo como atributos, e inclui-se nela
como chave, os atributos dos quais esse
grupo depende diretamente.

Como aplicar a 3FN Passo


4

Repetem-se esses passos at que todos os


atributos restantes na relao original
dependam diretamente de toda a sua
chave.

Para que serve a 3FN

Evita:
Perda de dados em operaes de remoes
/alterao na relao
Inconsistncias devido duplicidade de
informaes

Consideraes sobre
Normalizao
Normalizar evita introduzir inconsistncias
quando se alteram relaes; porm obriga a
execuo de custosas operaes de juno
para a consulta de informaes.
NORMALIZAR ou NO?
A deciso deve ser tomada considerando-se
o compromisso entre se garantir a
eliminao de inconsistncias na base, e
eficincia de acesso.

Exerccio

Considere os seguintes atributos existente


em uma nota fiscal de compra:
Num. NF, Srie, Data emisso, Cod. do Cliente,
Nome do cliente, Endereo do cliente, CNPJ/CPF
do cliente, relao das mercadorias vendidas
(onde para cada mercadoria temos: Cdigo da
Mercadoria, Descrio da Mercadoria,
Quantidade vendida, Preo de venda e Total da
venda desta mercadoria) e Total Geral da Nota

Normalize essa estrutura de


armazenamentos de dados

Resposta
Notas Fiscais (Num. NF, Srie, Data emisso,
Cdigo do Cliente e Total Geral da Nota)
Vendas (Num. NF, Cdigo da Mercadoria,
Quantidade vendida e Total da venda desta
mercadoria)
Mercadorias (Cdigo da Mercadoria,
Descrio da Mercadoria, Preo de venda)
Clientes (Cdigo do Cliente, Nome do
cliente, Endereo do cliente e CNPJ / CPF do
cliente)

Você também pode gostar