Sei sulla pagina 1di 6

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 FISCAL ITENS


cd_Nota_Fiscal cd_Nota_Fiscal
dt_Emissão_Nota cd_Produto
cd_Vendedor ds_Produto
nm_Vendedor sg_Tipo_Embalagem_Produto
cd_Cliente vl_Unitário_Produto_Vendido
nm_Cliente qt_Produto_Vendido
ds_Endereço_Cliente
vl_Total_Nota_Fiscal

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 Depende da Chave


dt_Emissão_Nota sim
cd_Vendedor sim
nm_Vendedor sim
cd_Cliente sim
nm_Cliente sim
ds_Endereço_Cliente sim
vl_Total_Nota_Fiscal sim

Item chave = cd_Nota_Fiscal + cd_Produto


Atributo Depende da Chave
ds_Produto não, apenas do cd_Produto
sg_Tipo_Embalagem_Produto não, apenas do cd_Produto
vl_Unitário_Produto_Vendido sim
qt_Produto_Vendido 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 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 ITENS


cd_Nota_Fiscal cd_Nota_Fiscal
dt_Emissão_Nota cd_Produto
cd_Vendedor qt_Produto_Vendido
cd_Cliente vl_Unitário_Produto_Vendido
vl_Total_Nota_Fiscal

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 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 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

Potrebbero piacerti anche