Normalização
Aula 3
Normalização
Contexto deste Modulo
Normalização é o processo de desagregar um corpo de dados em conjuntos
de dados. A desagregação acontece pela remoção de:
1) repetição de dados
2) dependências de dados não chave em parte de um dado chave
composto (dependências parciais)
3) dependências de dados não-chave em outros dado não-chave
(dependências transitivas)
4) seleção da chave apropriado dentro das chaves candidatas.
Ao final, cada conjunto representa um objeto ou evento descrito no sistema.
Enquanto cada conjunto é logicamente independente dos outros em sua
representação, todos eles estão relacionadas logicamente por dados chaves.
# do Prontuário
Nome
Data de Nasc.
Peso
Altura
Sexo
Nome da Mãe
Nome do Pai
Dados - fatos sobre coisas ou eventos (82 Kg)
Meta-Dados - Dados que descrevem dados (Peso)
Chave Primária - Meta-dado (# do prontuário) ou meta-dados (nome e data de
nascimento) cujo dado (12346547) ou dados (João da Silva e que identifique
UNICAMENTE um instância (o João) de um objeto (paciente) ou evento.
Chave Secundaria - Meta dado ou dados que fazem parte da chave primária (data de
nascimento) cujos dados (11/6/1967) identificam um grupo de instâncias (todos que
nasceram em 11/6/1967) de um objeto (paciente) ou evento.
Chave Estrangeira - Meta dado ou dados que NÃO fazem parte da chave primária
(nome da mãe) cujos dados (Maria da Silva) identificam um grupo de instâncias (os
filhos da Maria) de um objetos (paciente) ou evento.
Chave Candidata - Podemos usar # do prontuário OU nome e data de nascimento
como a chave primaria. Então são "candidatos" para o papel de chave primária.
1a Forma Normal (1FN)
Corpo de dados desagrega em conjuntos sem:
1.repetição de dados
Corpo de meta-dados em primeira forma
Corpo de meta-dados não normalizada
# do Prontuário
Nome_pac
DDN_pac
Sexo_pac
Data_cons
Med_cons
Fon_med
Prob1_cons
Prob2_cons
Prob3_cons
Prob4_cons
# do Prontuário
Nome_pac
DDN_pac
Sexo_pac
Data_cons
Med_cons
Fon_med
# do Prontuário
Data_cons
Prob_cons
2a Forma Normal (2FN)
Corpo de dados desagrega em conjuntos sem:
1.repetição de dados
2.dependências parciais
Corpo de meta-dados em segunda forma
# do
# do
# do
Prontuário
Prontuário
Prontuário
Data_cons
Nome_pac
Data_cons
Med_cons
DDN_pac
Prob_cons
Fon_med
Sexo_pac
3a Forma Normal (3FN)
Corpo de dados desagrega em conjuntos sem:
1.repetição de dados
2.dependências parciais
3.dependências transitivas
Corpo de meta-dados em terceira forma
# do
Prontuário
Data_cons
Med_cons
Med_cons
Fon_med
# do
Prontuário
Nome_pac
DDN_pac
Sexo_pac
# do
Prontuário
Data_cons
Prob_cons
Normalização - Estudo de Caso 1
Descrição
Normalização é o processo de quebrar um conjunto de dados do nivel
"exterior" en subconjuntos de dados no nível "conceitual" para minimizar
repetição de dados e eliminar dependencias atrapalhantes entre
subconjuntos de dados. O produto do processo, os conjunto normailzado
vai ser mapeado para as tabelas na etapa de desenvolvimento
(programação) da base de dados
Chave Primária
Precisamos identificar uma chave primária (cp) para nos conjunto não
normalizado. O conjunto de dados é um modelo de uma instância de um
objeto ou evento na realidade. A chave primária é o dado ou os dados que
indentifica esta instância unicamente na população de todos as instâncias
do objeto ou evento. Por exemplo o número de passaporte indentifica
unicamente um cidadão na população de um pais.
No caso seguinte, vamos usar o "nome" e o "cidade de nasc." como um
chave composto (quando precisa mais que um dado para indentificar
uma instância de um objeto) para indentificar um gravidez. Estamos
assumindo que, enquanto "nome" e " cidade de nasc." não são únicos, a
combinação dos dois é.
Conjunto não dormalizado
nome(cp)
data de nasc.
cidade de nasc.(cp)
estado de nasc.
endereco
grav. #
grav. # data do parto
grav. # nome do pai
grav. # fone do pai
1a Forma (1FN)
Para ir de um conjunto não normalizada para conjuntos em primeira
forma precisa tirar os conjuntos que se repetem no conjunto original. Em
nosso exemplo "gravidez" pode ser repetido para a mesma mulher.
Então:
Conjunto não Normalizado
nome(cp)
data de nasc.
cidade de nasc.(cp)
estado de nasc.
endereco
grav. #
grav. # data do parto
grav. # nome do pai
grav. # fone do pai
Conjunto em 1a FN
nome(cp)
data de nasc.
cidade de nasc.(cp)
estado de nasc.
endereco
nome(cp)(cs)
cidade de nasc.(cp)(cs)
grav. #(cp)
grav. # data do parto
grav. # nome do pai
grav. # fone do pai
O conjunto repetindo sobre a gravidez foi removado com a chave primária do co njunto original. Mas,
enquanto esta chave identifica um pessoa unicamente, ela não identifica um gravidez unicamente. Portanto
precisamos adicionar mais um dado do conjunto de gravidez para criar uma nova chave compost para este
conjunto. Neste caso vamos adicionar o "grav. #" para criar nossa nova chave. A chave composto original se
torna em chave secudaria (cs) para preservar a ligação logica com a chave primária do outro conjunto.
2a Forma Normal (2FN)
Para ir de um conjuntos em primeira forma para conjuntos em segunda
forma precisa tirar os subconjuntos que têm dependência parcial. Uma
dependência parcial acontece quando há um ou mais dados não chave
que são atributos de parte de uma chave composto e não a chave
composto completo. Neste caso "estado de nasc." só é um atributo de
"cidade de nasc." e não a combinação de "nome" e "cidade de nasc.".
Então:
Conjunto não normalizado
nome(cp)
data de nasc.
cidade de nasc.(cp)
estado de nasc.
endereco
grav. #
grav. # data do parto
grav. # nome do pai
grav. # fone do pai
Conjunto em 1a FN
nome(cp)
data de nasc.
cidade de nasc.(cp)
estado de nasc.
endereco
nome(cp)(cs)
cidade de nasc.(cp)(cs)
grav. #(cp)
grav. # data do parto
grav. # nome do pai
grav. # fone do pai
Conjunto em 2a FN
nome(cp)
data de nasc.
cidade de nasc.(cp)(cs)
endereco
cidade de nasc.(cp)
estado de nasc.
nome(cp)
cidade de nasc.(cp)
grav. #(cp)
grav. # data do parto
grav. # nome do pai
grav. # fone do pai
3a Forma Normal (3FN)
Para ir de um conjuntos em segunda forma para conjuntos em terceira
forma precisa tirar os subconjuntos que têm dependência transativo.
Uma dependência transativo acontece quando há um ou mais dados não
chave que são atributos de um outro dado não chave. Neste caso "fone do
pai" só é um atributo de "nome do pai". Então:
Conjunto não
normalizado
nome(cp)
data de nasc.
cidade de nasc.(cp)
estado de nasc.
endereco
grav. #
grav. # data do parto
grav. # nome do pai
grav. # fone do pai
Conjunto em 1a FN
Conjunto em 2a FN
nome(cp)
data de nasc.
cidade de nasc.(cp)
estado de nasc.
endereco
nome(cp)(cs)
cidade de nasc.(cp)(cs)
grav. #(cp)
grav. # data do parto
grav. # nome do pai
grav. # fone do pai
Conjunto em 3a FN
nome(cp)
data de nasc.
cidade de nasc.(cp)(cs)
endereco
nome(cp)
data de nasc.
cidade de nasc.(cp)(cs)
endereco
cidade de nasc.(cp)
estado de nasc.
cidade de nasc.(cp)
estado de nasc.
nome(cp)
cidade de nasc.(cp)
grav. #(cp)
grav. # data do parto
grav. # nome do pai
grav. # fone do pai
nome(cp)
cidade de nasc.(cp)
grav. #(cp)
grav. # data do parto
grav. # nome do pai(cs)
grav. # nome do pai(cp)
grav. # fone do pai
Normalização - Estudo de Caso 2
Formulários:
Pedido / Laudo
Nome do Paciente:
No. de Ident.:
Data de Nascimento:
Fone:
Endereço:
Cidade:
No. de Ident.:
Pedido feito por Dr.:
Endereço:
CEP:
Cidade:
Fone:
CEP:
Fax:
Perg. Diag.:
Código do Perg. Diag. (CDI-10):
Perg. Diag. Data:
No. de Ident. do Proc.:
Código do Proc. (CDI-10):
Data do Proc.:
Tipo Procedimento:
Resultado:
Data do Laudo:
Radiologista:
Formulários:
Fatura
o.
N
da Fatura:
Data da Fatura:
Nome do Paciente:
No. de Ident.:
Endereço:
Cidade:
CEP:
Data do Proc.:
Custo do Proc.:
No. de Ident. do Proc.:
Código do Proc. (CDI-10):
Total:
Sumário do Paciente
Nome do Paciente:
No. de Ident.:
Data de Nascimento:
Endereço:
Cidade:
CEP:
Tipo de Proc.:
No. de Ident. do Proc.:
Data do Proc.:
Código do Proc. (CDI-10):
Radiologista:
Resultado:
Tipo de Proc.:
No. de Ident. do Proc.:
Código do Proc. (CDI-10):
Radiologista:
Data do Proc.:
Resultado:
Tipo de Proc.:
No. de Ident. do Proc.:
Código do Proc. (CDI-10):
Radiologista:
Data do Proc.:
Resultado:
Tipo de Proc.:
No. de Ident. do Proc.:
Código do Proc. (CDI-10):
Radiologista:
Resultado:
Data do Proc.:
Conjunto de dados não normalizado
Pac. Nome, # Pac., Pac. Data Nasc., Pac. Fone, Pac. End., Pac. Cid., Pac. CEP, Med. Nome, # Med., Med.
End., Med. Cid., Med. CEP, Med. Fone, Med. Fax, Perg. Diag., Perg. Diag. Código, Perg. Diag. Data, # Proc.,
Proc. Código, Proc. Data, Proc. Tipo, Resultado, Data do Laudo, Radiologista,
1st Normal Form
Pac. Nome, # Pac., Pac. Data Nasc., Pac. Fone, Pac. End., Pac. Cid., Pac. CEP, Med. Nome, # Med., Med.
End., Med. Cid., Med. CEP, Med. Fone, Med. Fax, Perg. Diag., Perg. Diag. Código, Perg. Diag. Data, # Proc.,
Proc. Código, Proc. Data, Proc. Tipo, Resultado, Data do Laudo, Radiologista,
2a Forma Normal (2NF)
Pac. Nome, # Pac., Pac. Data Nasc., Pac. Fone, Pac. End., Pac. Cid., Pac. CEP, Med. Nome, # Med., Med.
End., Med. Cid., Med. CEP, Med. Fone, Med. Fax, Perg. Diag., Perg. Diag. Código, Perg. Diag. Data, # Proc.,
Proc. Código, Proc. Data, Proc. Tipo, Resultado, Data do Laudo, Radiologista,
3a Forma Normal (3NF)
# Pac., # Med., Perg.
Diag. Código, Perg.
Diag. Data, # Proc.,
Proc. Data, Proc.
Código, Resultado,
Data do Laudo,
Radiologista
Pac. Nome, # Pac.,
Pac. Data Nasc., Pac.
Fone, Pac. End., Pac.
Cid., Pac. CEP
Med. Nome, # Med.,
Med. End., Med.
Cid., Med. CEP, Med.
Fone, Med. Fax
Perg. Diag.
Código, Perg.
Diag.
Proc. Código,
Proc. Tipo
Conjunto de dados não normalizado
No. da Fatura, Data da Fatura, Pac. Nome, # Pac., Pac. End., Pac. Cid., Pac. CEP, # Proc. (R),
Proc. Código (R), Proc. Data (R), Custo do Proc. (R), Total (calculated)
1a Forma Normal (1NF)
No. da Fatura, Data da Fatura, Pac.
Nome, # Pac., Pac. End., Pac. Cid.,
Pac. CEP
2a Forma Normal (2NF)
No. da Fatura, # Proc., Proc. Código, Proc. Data , Custo
do Proc.
No. da Fatura, Data da Fatura, Pac.
Nome, # Pac., Pac. End., Pac. Cid.,
Pac. CEP
3a Forma Normal (3NF)
No. da Fatura, #
Proc.
# Proc., Proc. Código, Proc. Data,
Custo do Proc.
No. da Fatura,
Data da Fatura,
# Pac.
No. da Fatura, #
Proc.
# Proc., Proc.
Código, Proc. Data
# Pac., Pac. Nome,
Pac. End., Pac. Cid.,
Pac. CEP
Proc. Código,
Cost
Sumário do Paciente
Conjunto de dados não normalizado
Pac. Nome, # Pac., Pac. Data Nasc., Pac. End., Pac. Cid., Pac. CEP, Proc. Tipo (R), # Proc. (R), Proc.
Data (R), Proc. Código (R), Radiologista (R), Resultado (R)
1a Forma Normal (1NF) (1FN)
# Pac., Pac. Nome, Pac. Data # Pac., # Proc., Proc. Tipo, Proc. Data, Proc. Código, Radiologista,
Nasc., Pac. End., Pac. Cid.,
Resultado
Pac. CEP
2a Forma Normal (2NF) (2FN)
# Pac., Pac. Nome, Pac. Data # Pac., # Proc.
# Proc., Proc. Tipo, Proc. Data, Proc. Código,
Nasc., Pac. End., Pac. Cid.,
Radiologista, Resultado
Pac. CEP
3a Forma Normal (3NF) (3FN)
# Pac., Pac. Nome, Pac. Data # Pac., # Proc.
Nasc., Pac. End., Pac. Cid.,
Pac. CEP
# Proc., Proc. Data,
Proc. Código,
Radiologista, Resultado
Proc. Código, Proc.
Tipo
Download

Apresentação