Você está na página 1de 6
UNIP - Universidade Paulista Ciência da Computação Modelagem de Dados - Parte 06 6. Normalização
UNIP - Universidade Paulista
Ciência da Computação
Modelagem de Dados - Parte 06
6. Normalização
6.1 Definições e Finalidades
6.1.1 O que é Normalização?
São várias regras de simplificação de tabelas que recebe o nome de Formas Normais. Cada
uma desta regras apresenta um critério, e o processo de adequação de tabelas a estas regras
chama-se Normalização.
6.1.2 Para que serve?
A normalização serve para analisar tabelas e organiza-las de forma que sua estrutura seja
simples, relacional e estável, para que o gerenciamento possa ser também simples, eficiente e
seguro. Os objetivos são evitar a perda e a repetição, atingindo uma forma de representação
adequada para que se deseje armazenar.
6.1.3 Conceitos Básicos
Aplicação das regras de normalização requer o conhecimento de alguns conceitos, que serão
vistos conforme a necessidade.
Regra
Presente na:
Atributo Determinante
1
FN
Domínio Multivalorado
1
FN
Determinante
2
FN
Dependência Funcional
2
FN
Dependência Funcional Transitiva
3
FN
Chave Candidata
FNBC
Fato Multivalor
4 FN
Exemplo: Nota Fiscal.
Prof. Marcelo Nogueira

UNIP - Universidade Paulista Ciência da Computação

Fluxo de Dados

Informações_Nota_Fiscal = cd_Nota_Fiscal

+ dt_Emissão_Nota

+ cd_Cliente

+ nm_Cliente

+ ds_Endereço_Cliente

+ cd_Vendedor

+ nm_Vendedor

{ + cd_Produto

+ ds_Produto

+ sg_Tipo_Embalagem_Produto

+ vl_Unitario_Produto_Vendido

+ qt_Produto_Vendido }

+ vl_Total_Nota_Fiscal

6.2 Formas Normais (FN)

6.2.1 Primeira Forma Normal (1 FN)

Atributo Determinante ou Chave;

Eliminação de Domínio Multivalorado;

6.2.1.1 Domínio Simples da Tabela

cd_Nota_Fiscal

dt_Emissão_Nota

cd_Cliente

mn_Cliente

ds_Endereço_Cliente

cd_Vendedor

nm_Vendedor

vl_Total_Nota_Fiscal

6.2.1.2 Domínios Multivalorados

cd_Produto

ds_Produto

sg_Tipo_Embalagem_Produto

vl_Unitário_Produto_Vendido

qt_Produto_Vendido

6.2.1.3 Atributo Determinante:

cd_Nota_Fiscal

Prof. Marcelo Nogueira

UNIP - Universidade Paulista Ciência da Computação 6.2.1.4 Construção da Tabela na 1 FN NOTA
UNIP - Universidade Paulista
Ciência da Computação
6.2.1.4 Construção da Tabela na 1 FN
NOTA FISCAL
cd_Nota_Fiscal
dt_Emissão_Nota
cd_Vendedor
nm_Vendedor
cd_Cliente
nm_Cliente
ds_Endereço_Cliente
vl_Total_Nota_Fiscal
ITENS
cd_Nota_Fiscal
cd_Produto
ds_Produto
sg_Tipo_Embalagem_Produto
vl_Unitário_Produto_Vendido
qt_Produto_Vendido
Conclusão:
Uma
tabela
está
na
1
FN
se
nenhum
dos
seus
atributos
tem
domínio
multivalorado.
6.2.2 Segunda Forma Normal (2 FN)
• Dependência do Atributo Dominante
Nota Fiscal
chave = cd_Nota_Fiscal
Atributo
dt_Emissão_Nota
cd_Vendedor
nm_Vendedor
cd_Cliente
nm_Cliente
ds_Endereço_Cliente
vl_Total_Nota_Fiscal
Depende da Chave
sim
sim
sim
sim
sim
sim
sim
Item
Atributo
ds_Produto
sg_Tipo_Embalagem_Produto
vl_Unitário_Produto_Vendido
qt_Produto_Vendido
chave = cd_Nota_Fiscal + cd_Produto
Depende da Chave
não, apenas do cd_Produto
não, apenas do cd_Produto
sim
sim
Conclusão: É necessário modelar ds_Produto e sg_Tipo_Embalagem_Produto separadamente
da tabela Item.
ITEM
PRODUTO
cd_Nota_Fiscal
cd_Produto
cd_Produto
ds_Produto
vl_Unitário_Produto_Vendido
sg_Tipo_Embalagem_Produto
qt_Produto_Vendido
vl_Unitário_Produto
Obs. vl_Untário_Produto_Vendido não é o preço de lista de produto, portanto não depende
apenas de cd_Produto.
Prof. Marcelo Nogueira
UNIP - Universidade Paulista Ciência da Computação Conclusão: Uma tabela esta na segunda forma normal
UNIP - Universidade Paulista
Ciência da Computação
Conclusão: Uma tabela esta na segunda forma normal quando esta na 1 FN e seus atributos
dependem funcionalmente da totalidade da chave ou atributo determinante.
6.2.3 Terceira Forma Normal (3 FN)
• Eliminação da Dependência Funcional Transitiva
Dependência Funcional Transitiva é a situação onde um atributo depende de outro e este
segundo depende de um terceiro.
Exemplo: nm_Vendedor depende de cd_Vendedor que depende de cd_Nota_Fiscal.
NOTA FISCAL
cd_Nota_Fiscal
dt_Emissão_Nota
cd_Vendedor
cd_Cliente
vl_Total_Nota_Fiscal
ITENS
cd_Nota_Fiscal
cd_Produto
qt_Produto_Vendido
vl_Unitário_Produto_Vendido
PRODUTO
CLIENTE
VENDEDOR
cd_Produto
cd_Cliente
cd_Vendedor
ds_Produto
nm_Cliente
nm_Vendedor
sg_Tipo_Embalagem_Produto
ds_Endereço
vl_Unitário_Produto
Conclusão: Para construir a tabela na 3 FN devemos eliminar de Nota Fiscal as dependência
transitivas, mantendo apenas dependências funcionais.
6.2.3.1 Exercício I
Um funcionário de Hospital, pouco experiente em banco de dados, projetou uma única tabela
para armazenar no computador todas as informações sobre uma internação.
Dados da Internação
Número da Ficha
Código do Paciente
Nome do Paciente
Data da Baixa
Data da Internação
Número do Quarto
Código do Convênio
Nome do Convênio
Código do Médico
Nome do Médico
Código do Setor
Nome do Setor
Código do Exame
Descrição do Exame
Faça a normalização do banco de dados, já que a tabela apresentada não está nem na 1 FN.
Prof. Marcelo Nogueira
UNIP - Universidade Paulista Ciência da Computação 6.2.3.2 Resolução do Exercício Descrição do Fluxo de
UNIP - Universidade Paulista
Ciência da Computação
6.2.3.2 Resolução do Exercício
Descrição do Fluxo de Dados
Informação_Internação =
cd_Ficha_Internação
+ cd_Paciente
+ nm_Paciente
+ dt_Internação
+ dt_Baixa_Internação
+ cd_Quarto
{ + cd_Convênio
+ nm_Convênio}
+ cd_Médico
+ nm_Médico
+ cd_Setor
+ nm_Setor
{ + cd_Exame
+ ds_Exame}
1 FN
INTERNAÇÃO
PAC-CONV
INTER-EXAME
cd_Ficha_Internação
cd_Paciente
cd_Ficha_Internação
cd_Paciente
cd_Convênio
cd_Exame
nm_Paciente
nmConvênio
ds_Exame
dt_Internação
dt_Baixa_Internação
cd_Quarto
cd_Médico
nm_Médico
cd_Setor
nm_Setor
2
FN
INTERNAÇÃO
PAC-CONV
INTER-EXAME
cd_Ficha_Internação
cd_Paciente
cd_Ficha_Internação
cd_Paciente
cd_Convênio
cd_Exame
nm_Paciente
nmConvênio
ds_Exame
dt_Internação
dt_Baixa_Internação
cd_Quarto
CONVÊNIO
EXAME
cd_Médico
cd_Convênio
cd_Exame
nm_Médico
nm_Convênio
ds_Exame
cd_Setor
nm_Setor
Prof. Marcelo Nogueira
UNIP - Universidade Paulista Ciência da Computação 3 FN INTERNAÇÃO PAC-CONV INTER-EXAME cd_Ficha_Internação
UNIP - Universidade Paulista
Ciência da Computação
3 FN
INTERNAÇÃO
PAC-CONV
INTER-EXAME
cd_Ficha_Internação
cd_Paciente
cd_Ficha_Internação
cd_Paciente
cd_Convênio
cd_Exame
dt_Baixa_Internação
nmConvênio
ds_Exame
dt_Internação
cd_Quarto
CONVÊNIO
EXAME
cd_Médico
cd_Convênio
cd_Exame
cd_Setor
nm_Convênio
ds_Exame
PACIENTE
MÉDICO
SETOR
cd_Paciente
cd_Médico
cd_Setor
nm_Paciente
nm_Médico
nm_Setor
6.2.3.3 Normalizar a Ficha de Prestação de Serviço.
6.2.3.4 Normalizar a Ficha de Locação de Fitas.
Prof. Marcelo Nogueira