You are on page 1of 21

3.

2
3.2 NORMALIZAÇÃO
NORMALIZAÇÃO

•• Normalização
Normalização éé um
um processo
processo sistemático
sistemático através
através do
do
qual
qual uma
uma tabela
tabela relacional
relacional não
não normalizada
normalizada éé
transformada
transformada em
em umum conjunto
conjunto de
de tabelas
tabelas
normalizadas,
normalizadas, que
que representem
representem dada melhor
melhor forma
forma
possível
possível uma
uma realidade
realidade aa ser
ser modelada.
modelada.

•• Um
Um conceito
conceito básico
básico usado
usado para
para aa normalização
normalização éé oo
conceito
conceito de
de dependência
dependência funcional.
funcional.
3.2
3.2 NORMALIZAÇÃO
NORMALIZAÇÃO

3.2.1
3.2.1 Dependência
Dependência Funcional
Funcional
•• Dada
Dada uma
uma relação,
relação, um
um atributo
atributo YY éé dito
dito
funcionalmente
funcionalmente dependente
dependente de de um
um outro
outro atributo
atributo XX
se
se e,
e, somente
somente se,
se, cada
cada ocorrência
ocorrência de de XX está
está
associada
associada sempre
sempre com
com aa mesma
mesma ocorrência
ocorrência de de Y.
Y.

XX ->
-> YY
Diz-se
Diz-se que:
que: XX determina
determina YY
XX designa
designa YY
3.2
3.2 NORMALIZAÇÃO
NORMALIZAÇÃO

3.2.2
3.2.2 Processo
Processo de
de Normalização
Normalização
OOprocesso
processo de
denormalização
normalizaçãopassa
passapelas
pelasseguintes
seguintesetapas:
etapas:
•• OOdocumento
documentoou ouarquivo
arquivoaaser
sernormalizado
normalizadoéérepresentado
representado
na
naforma
formadedeuma
umatabela
tabelanão
nãonormalizada;
normalizada;
•• AAtabela
tabelavai
vaisendo
sendo decomposta
decompostaem em tabelas
tabelas normalizadas
normalizadas
("bem
("bem projetadas").
projetadas"). AAnormalização
normalizaçãodá-se
dá-seem
emtrês
trêspassos
passos
principais,
principais, passando
passando porportrês
trêsformas
formas normais;
normais;
•• Uma
Umaforma
formanormal
normal ééumumconjunto
conjuntodederegras
regrasque
queumaumatabela
tabela
deve
deveobedecer.
obedecer. Estas
Estasregras
regrasdestinam-se
destinam-se aaeliminar
eliminar as
as
redundâncias
redundâncias de de dados.
dados.
3.2
3.2 NORMALIZAÇÃO
NORMALIZAÇÃO
--Exemplo
Exemplode
dedocumento
documentoaanormalizar:
normalizar:Relatório
RelatóriodedeAlocação
AlocaçãoaaProjeto
Projeto
CÓDIGO
CÓDIGODODOPROJETO:
PROJETO:LSC001
LSC001 TIPO:
TIPO:Novo
NovoDesenv.
Desenv. DESCRIÇÃO:
DESCRIÇÃO:Sist.
Sist.Estoque.
Estoque.
NOEMP
NOEMP NOME
NOMECATEG
CATEG SALÁRIO
SALÁRIO INÍCIO
INÍCIO TEMPO
TEMPO
PROJETO
PROJETO ALOCAÇÃO
ALOCAÇÃO
2146
2146 João
João A1 A1 40
40 01/11/91
01/11/91 24
24
3145
3145 Sílvio
Sílvio A2
A2 40 40 02/10/91
02/10/91 24
24
6126
6126 José
José B1 B1 90
90 03/10/92
03/10/92 18
18
1181
1181 Carlos
Carlos A2
A2 40 40 01/11/92
01/11/92 12
12

CÓDIGO
CÓDIGODO
DOPROJETO:
PROJETO:PAG02
PAG02 TIPO:
TIPO:Manutenção
Manutenção DESCRIÇÃO:
DESCRIÇÃO:Sistema
Sistemade
deRH.
RH.
NOEMP
NOEMP NOME
NOMECATEG
CATEG SALÁRIO
SALÁRIO INÍCIO
INÍCIO TEMPO
TEMPO
PROJETO
PROJETO ALOCAÇÃO
ALOCAÇÃO
1181
1181 Carlos
Carlos A2
A2 4040 01/11/93
01/11/93 14
14
5672
5672 Luís
Luís A1
A1 4040 12/10/91
12/10/91 24
24
6126
6126 José
José B1 B1 90
90 31/11/92
31/11/92 11
11
3.2
3.2 NORMALIZAÇÃO
NORMALIZAÇÃO

3.2.3
3.2.3 Forma
Forma Não
Não Normalizada
Normalizada
•• Uma
Umatabela
tabelanão
nãonormalizada
normalizada(NN)
(NN) contém
contémvalores
valoresde
de
atributos
atributosnão
nãoatômicos,
atômicos,isto
istoé,
é,contém
contémtabelas
tabelasembutidas
embutidas
(grupos
(gruposrepetidos,
repetidos,arrays).
arrays).

•• Representação
Representaçãonão
nãonormalizada
normalizadado
dodocumento
documentoexemplo:
exemplo:
PROJ
PROJ((CODPROJ,
CODPROJ,TIPOPROJ,
TIPOPROJ,DESCR,
DESCR,
(NOEMP,
(NOEMP,NOME,
NOME,CAT,
CAT,SAL,
SAL,DATAINÍCIO,TEMPOALOC))
DATAINÍCIO,TEMPOALOC))

•• Deve-se
Deve-seobservar
observaraa representação
representação do
do embutimento
embutimentode
de
tabelas
tabelasatravés
atravésde
deparênteses
parênteseseeaaindicação
indicaçãodas
daschaves
chaves
primárias
primáriasem
emcada
cadanível
nível de
deembutimento.
embutimento.
3.2
3.2 NORMALIZAÇÃO
NORMALIZAÇÃO

3.2.4.
3.2.4. Primeira
Primeira Forma
Forma Normal
Normal
•• Uma
Umatabela
tabelana
naprimeira
primeiraforma
formanormal
normal(PFN)
(PFN)não
nãocontém
contém
tabelas
tabelasembutidas.
embutidas.
•• AApassagem
passagemààprimeira
primeiraforma
formanormal
normal ééfeita
feitanos
nosseguintes
seguintes
passos:
passos:
1.
1.Para
Paracada
cadatabela
tabelaembutida
embutida(cada
(cadauma
umaabre
abre parênteses),
parênteses),
inclusive
inclusiveaamais
maisexterna,
externa,éécriada
criadauma
umatabela
tabelana
naPFN
PFNque
que
contém:
contém:
--as
aschaves
chavesprimárias
primáriasde
decada
cadatabela
tabelaexterna
externaààtabela
tabela
embutida;
embutida;
--os
osatributos
atributosda
daprópria
própriatabela
tabelaembutida.
embutida.
•• 2.
2.São
Sãodefinidas
definidasas
aschaves
chavesprimárias
primáriasdas
dastabelas
tabelasnanaPFN.
PFN.
3.2
3.2 NORMALIZAÇÃO
NORMALIZAÇÃO

3.2.4.1
3.2.4.1Passagem
PassagemààPFN
PFN--decomposição
decomposiçãode
detabelas
tabelas

-- Tabela1:
Tabela1: corresponde
correspondeao
aonível
nívelexterno
externo
PROJ
PROJ(( CODPROJ,
CODPROJ, TIPOPROJ,
TIPOPROJ, DESCR)
DESCR)

-- Tabela2:
Tabela2: corresponde
correspondeààtabela
tabelaembutida
embutida
PROJEMP
PROJEMP(CODPROJ,
(CODPROJ,NOEMP,
NOEMP, NOME,
NOME,CAT,
CAT,SAL,
SAL,
DATAINÍCIO,
DATAINÍCIO,TEMPOALOC
TEMPOALOC))
3.2
3.2 NORMALIZAÇÃO
NORMALIZAÇÃO

3.2.4.2
3.2.4.2Passagem
PassagemààPFN
PFN--identificação
identificação de
de chaves
chaves

-- Tabela1:
Tabela1: corresponde
correspondeao
aonível
nívelexterno
externo
PROJ
PROJ(( CODPROJ,
CODPROJ,TIPOPROJ,
TIPOPROJ, DESCR)
DESCR)

-- Tabela2:
Tabela2: corresponde
correspondeààtabela
tabelaembutida
embutida
PROJEMP
PROJEMP(CODPROJ,
(CODPROJ, NOEMP,
NOEMP, NOME,
NOME,CAT,
CAT,SAL,
SAL,
DATAINÍCIO,
DATAINÍCIO,TEMPOALOC
TEMPOALOC))
3.2
3.2 NORMALIZAÇÃO
NORMALIZAÇÃO

3.2.5
3.2.5 Segunda
Segunda Forma
Forma Normal
Normal

•• Uma
Umatabela
tabelaestá
estána
nasegunda
segundaforma
formanormal
normal (SFN)
(SFN)quando,
quando,
além
alémde
deestar
estarnanaPFN,
PFN, cada
cadaatributo
atributonão
nãochave
chaveprimária
primária
depende
dependefuncionalmente
funcionalmentede detoda
todaaachave
chaveprimária
primáriaee não
não de
de
apenas
apenasparte
parte dela.
dela.

•• Ao
Aopassar
passaruma
umatabela
tabelapara
paraaaSFN
SFNéénecessário
necessárioconsiderar
considerar
apenas
apenastabelas
tabelasque
que tenham:
tenham:
--chave
chaveprimária
primáriacomposta;
composta;
--pelo
pelomenos
menos um
um atributo
atributo não
nãochave.
chave.
3.2
3.2 NORMALIZAÇÃO
NORMALIZAÇÃO

Para
Para oo caso
caso do
do exemplo:
exemplo:

PROJ
PROJ(CODPROJ,
(CODPROJ,TIPOPROJ,
TIPOPROJ,DESCR)
DESCR)

PROJEMP
PROJEMP(CODPROJ,
(CODPROJ,NOEMP,
NOEMP,DATAINÍCIO,TEMPOALOC)
DATAINÍCIO,TEMPOALOC)

EMP
EMP(NOEMP,
(NOEMP,NOME,
NOME,CAT,
CAT,SAL
SAL))
3.2
3.2 NORMALIZAÇÃO
NORMALIZAÇÃO

3.2.6
3.2.6 Terceira
Terceira Forma
Forma Normal
Normal

•• Uma
Umatabela
tabelaestá
estána
naterceira
terceiraforma
formanormal
normal(TFN)
(TFN)quando,
quando,além
além
de
deestar
estarna
naSFN,
SFN,cada
cadaatributo
atributonão
nãochave
chaveprimária
primáriadepende
depende
diretamente
diretamenteda dachave
chaveprimária,
primária,isto
istoé,
é, não
nãohá
hádependências
dependências
entre
entreatributos
atributosnão
nãochave;
chave;

•• Na
Napassagem
passagemààTFN,
TFN,basta
bastaconsiderar
considerartabelas
tabelascom
commais
maisde
de
um
umatributo
atributonão
nãochave.
chave.
3.2.
3.2. NORMALIZAÇÃO
NORMALIZAÇÃO

Para
Para oo caso
caso do
do exemplo:
exemplo:

PROJ
PROJ(CODPROJ,
(CODPROJ,TIPOPROJ,
TIPOPROJ,DESCR)
DESCR)
3.2.
3.2. NORMALIZAÇÃO
NORMALIZAÇÃO

Para
Para oo caso
caso do
do exemplo:
exemplo:

PROJ
PROJ(CODPROJ,
(CODPROJ,TIPOPROJ,
TIPOPROJ,DESCR)
DESCR)

PROJEMP
PROJEMP(CODPROJ,
(CODPROJ,NOEMP,
NOEMP,DATAINÍCIO,TEMPOALOC)
DATAINÍCIO,TEMPOALOC)
3.2.
3.2. NORMALIZAÇÃO
NORMALIZAÇÃO

Para
Para oo caso
caso do
do exemplo:
exemplo:

PROJ
PROJ(CODPROJ,
(CODPROJ,TIPOPROJ,
TIPOPROJ,DESCR)
DESCR)

PROJEMP
PROJEMP(CODPROJ,
(CODPROJ,NOEMP,
NOEMP,DATAINÍCIO,TEMPOALOC)
DATAINÍCIO,TEMPOALOC)

EMP ( NOEMP , NOME, CAT, SAL )


3.2.
3.2. NORMALIZAÇÃO
NORMALIZAÇÃO

EMP ( NOEMP , NOME, CAT, SAL )

EMP
EMPéésubdividida
subdivididaem
emduas:
duas:

EMP
EMP(( NOEMP,
NOEMP, NOME,
NOME,CAT
CAT))

CATEGORIA
CATEGORIA(CAT,
(CAT,SAL
SAL))
3.2.
3.2. NORMALIZAÇÃO
NORMALIZAÇÃO

Documento
Documento normalizado:
normalizado:

PROJ
PROJ(CODPROJ,
(CODPROJ,TIPOPROJ,
TIPOPROJ,DESCR)
DESCR)

PROJEMP
PROJEMP(CODPROJ,
(CODPROJ,NOEMP,
NOEMP,DATAINÍCIO,TEMPOALOC)
DATAINÍCIO,TEMPOALOC)

EMP
EMP(( NOEMP,
NOEMP,NOME,
NOME, CAT
CAT))

CATEGORIA
CATEGORIA(CAT,
(CAT, SAL
SAL))
3.2.
3.2. NORMALIZAÇÃO
NORMALIZAÇÃO

Na
Na Terceira
Terceira Forma
Forma Normal:
Normal:

•• Atributos
Atributos Calculados
Calculados podem
podem ser
ser desconsiderados;
desconsiderados;

•• Chaves
Chaves candidatas
candidatas não
não devem
devem ser
ser consideradas
consideradas
determinantes
determinantes funcionais.
funcionais.
3.2.
3.2. NORMALIZAÇÃO
NORMALIZAÇÃO

•• Exemplo
Exemplo genérico
genérico de
de Passagem
Passagem àà PFN
PFN

Tabela
Tabela NN:
NN:
(A1,A2,
(A1,A2, A3,
A3, A4,
A4, A5
A5
(B1,
(B1, B2,
B2, B3,
B3, B4
B4
(C1,C2,
(C1,C2, C3)
C3)
(D1,
(D1, D2)
D2) ))
(E1,
(E1, E2,
E2, E3)
E3) ))
3.2.
3.2. NORMALIZAÇÃO
NORMALIZAÇÃO

PFN
PFN -- Subdivisão
Subdivisão de
de Tabelas
Tabelas

1.
1. (A1,
(A1, A2,
A2, A3,
A3, A4,
A4, A5)
A5)
2.
2. (A1,
(A1, A2,
A2, B1,
B1, B2,
B2, B3,
B3, B4)
B4)
3.
3. (A1,
(A1, A2,
A2, B1,
B1, C1,
C1, C2,
C2, C3)
C3)
4.
4. (A1,
(A1, A2,
A2, B1,
B1, D1,
D1, D2)
D2)
5.
5. (A1,
(A1, A2,
A2, E1,
E1, E2,
E2, E3)
E3)
Exercício
Exercício de
de Normalização
Normalização 11
•• "Uma
"Umafábrica
fábricade
demóveis
móveisvai
vaiinformatizar
informatizarosospedidos
pedidosdedeprodutos
produtos
especificados
especificadospor
porfuncionários
funcionáriospara
pararevendedores.
revendedores.Cada
Cadapedido
pedidocontém
contém
um
umnúmero,
número,data,
data,prazo
prazodedeentrega,
entrega,nome
nomedo docliente
cliente(revendedor),
(revendedor),
endereço,
endereço,cidade,
cidade,U.F.,
U.F.,CGC
CGCeeinscrição
inscriçãoestadual
estadualdo
dorevendedor.
revendedor.Além
Além
disso,
disso,um
umpedido
pedidocontém
contémvários
váriositens
itensdedepedido.
pedido.Cada
Cadaitem
itemde
depedido
pedido
registra
registraoocódigo
códigodo
doproduto,
produto,descrição,
descrição,setor,
setor,quantidade,
quantidade,valor
valorunitário,
unitário,
desconto
descontoeesubtotal."
subtotal."

•• Forma
FormaNão-Normalizada:
Não-Normalizada:

PEDIDO
PEDIDO(NUM_PEDIDO,
(NUM_PEDIDO,DATA,
DATA,PRAZO,
PRAZO,NOME_REV,
NOME_REV,ENDEREÇO,
ENDEREÇO,CIDADE,
CIDADE,
UF,
UF,CGC,
CGC,INSCR_EST,
INSCR_EST,NUM_F
NUM_F
(COD_PROD,
(COD_PROD,DESCR,
DESCR,SETOR,
SETOR,QUANTIDADE,
QUANTIDADE,VALOR_UNIT,
VALOR_UNIT,
DESCONTO,
DESCONTO,SUBTOTAL)
SUBTOTAL)))
Exercício
Exercício de
de Normalização
Normalização 22

•• “Uma
“Umaempresa
empresade deônibus
ônibuspossui
possuium umnúmero,
número,nome
nome(empresa),
(empresa),endereço
endereço
eenome
nomedo dogerente.
gerente.Cada
Cadaempresa
empresade deônibus
ônibuspossui
possuivários
váriosônibus
ônibusee
motoristas.
motoristas.Um Umônibus
ônibuspertence
pertenceaasomente
somenteumaumaempresa
empresaeeum ummotorista
motorista
pode
podetrabalhar
trabalharememmais
maisdedeuma
umaempresa
empresade deônibus.
ônibus.Um
Umônibus
ônibuspossui
possui
um
umnúmero,
número,placa,
placa,ano
anodedefabricação,
fabricação,tipo
tipoeecapacidade
capacidade(número
(númerode de
passageiros
passageirosde deacordo
acordocom
comootipo
tipodo
doônibus).
ônibus).UmUmmotorista
motoristapossui
possuium um
número
número(especificado
(especificadopela
pelaSecretaria
SecretariaMunicipal
MunicipaldedeTransportes),
Transportes),nome
nomeee
tempo
tempode deexperiência.
experiência.Uma
Umalinha
linhade
deônibus
ônibuscontém
contémum umnúmero,
número,
itinerário,
itinerário,ééexecutada
executadaporporvários
váriosônibus,
ônibus,pode
podeser
serpercorrida
percorridavárias
várias
vezes
vezes(cada
(cadauma
umadelas
delascom
comum umhorário
horáriodedepartida
partidaeede
dechegada)
chegada)ao aodia
dia
em
emsentidos
sentidosopostos
opostosouounonomesmo
mesmosentido.
sentido. Por
Porexemplo,
exemplo,aalinha
linha3131sai
sai
às
às88horas
horasnonosentido
sentidocentro/bairro
centro/bairroeetambém
tambémàs às88 horas
horasnonosentido
sentido
bairro/centro.”
bairro/centro.”

You might also like