Você está na página 1de 47

Especializao em Tecnologias da

Informao

Banco de Dados: Teoria e Prtica

Normalizao

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Contedo

Motivao
Normalizao
Dependncia Funcional
Formas Normais

1FN
2FN
3FN
Boyce and Codd
4FN
5FN

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Motivao
O processo chamado de Normalizao uma das
atividades do projeto lgico de banco de dados
Seu objetivo assegurar que as relaes surgidas
durante o projeto conceitual e lgico possam
atender perfeitamente semntica da aplicao
(sistema) em questo

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Motivao
Antes de definir de maneira mais formal o que
Normalizao, vamos observar um pequeno
exemplo.
Identidade

9924
9924
9924
9924

Nome

Carlos
Carlos
Carlos
Carlos

Endereo

Rua
Rua
Rua
Rua

F
F
F
F

Habilidade

Futebol
Basquete
Tnis
Atletismo

Essa tabela est mal projetada


Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Motivao
A mesma sofre do que chamamos de anomalias de
atualizao: Modificao, Insero, Remoo
O que acontece se um jogador muda de endereo ?
O que acontece se precisamos cadastrar uma nova
habilidade ?
O que acontece se removemos um jogador e esse
o ltimo relacionado a determinada habilidade ?

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Motivao
O que seria ideal ?
Identidade

9924

Nome

Carlos

Endereo

Rua F

Habilidade

Futebol,
Basquete,
Tnis,
Atletismo

Qual o problema com o esquema acima ?

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Motivao
O que pode ser feito no modelo relacional ?
Identidade

9924

Nome

Carlos
Identidade

9924
9924
9924
9924

Este material no pode ser copiado sem autorizao

Endereo

Rua F
Habilidade

Futebol
Basquete
Tnis
Atletismo

Prof Ricardo Ariel Correa Rabelo

Normalizao
O que acabamos de fazer foi normalizar a Relao
original de maneira que a mesma no apresente
redundncias que venham a causar anomalias de
atualizao
Normalizao o processo de refinamento de um
projeto de banco de dados visando eliminar
anomalias e inconsistncias.
Regras de Normalizao entram em conflito com o
desempenho
Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Normalizao
Um bom projeto conceitual (um bom diagrama
Entidade-Relacionamento) e um bom mapeamento
para o modelo relacional so suficientes para
normalizar um esquema relacional
Nesse contexto, a normalizao utilizada somente
para validar o projeto relacional

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Normalizao
Formas Normais
Regras gerais para projetar esquemas relacionais.
Obedece uma Hierarquia.
O processo de Normalizao foi proposto inicialmente por
Codd. 1FN , 2FN e 3FN.
Uma definio mais forte da 3FN foi dada por Boyce e
Codd: Boyce-Codd Normal Form.
Ron Fagin definiu posteriormente uma 4FN e uma 5FN
raramente utilizadas.

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Normalizao
As Formas Normais so baseadas em dois
conceitos principais:
Chaves e Dependncia Funcional

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Dependncia Funcional
Sendo A e B dois grupos de atributos de uma
relao R, diz-se que B funcionalmente
dependente (ou dependente funcional) de A se,
sempre que duas tuplas de R coincidirem quanto
aos valores assumidos pelos atributos de A, elas
necessariamente tambm coincidem quanto aos
valores assumidos pelos atributos de B. (A
denominado determinante, neste caso)
Denota-se: A  B (A determina B)

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Dependncia Funcional
Exemplo:
Funcionario(#Matricula, CPF, Nome,
Endereo, Departamento)
#Matricula  CPF
#Matricula  Nome
#Matricula  Endereo
#Matricula  Departamento

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Dependncia Funcional
Temos tambm:
CPF  Matricula
CPF  Nome
CPF  Endereo
CPF  Departamento

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Dependncia Funcional
Dependncia Funcional Total
O grupo de atributos B da relao R dito ser
dependente funcional total do grupo de atributos A, se
dependente funcional de todos os atributos que compem
A, mas no funcionalmente de nenhum subconjunto C
de A.

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Dependncia Funcional
Exemplo:
Inscrio (#Cd_Estudante, #Cd_Curso,
Data_Inscrio)
(#Cd_Estudante,#Cd_Curso)  Data_Inscrio
Data_Inscrio depende totalmente do conjunto
(#Cd_Estudante,#Cd_Curso)

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Dependncia Funcional
Dependncia Funcional Parcial
Estoque(#Cd_Pea, #Cd_Depsito, Quantidade,
Nome_Depsito)
(#Cd_Pea,#Cd_Depsito)  Nome_Depsito
Nome_Depsito no dependente funcional total
do conjunto (#Cd_Pea,#Cd_Depsito)

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Dependncia Funcional
Dependncia Funcional Transitiva
Sendo A, B e C trs grupos de atributos, diz-se
que h dependncia transitiva entre C e A se B
dependente funcional de A, e C dependente
funcional de B.
ABC

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Dependncia Funcional
Exemplo:
Curso(#C, Nm_Curso, Id_Professor,
Sala_Professor)
#C  Nm_Curso, Id_Professor, Sala_Professor
Id_Professor  Sala_Professor

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais

1 Forma Normal (1FN)


Uma relao est na primeira forma normal se
todos os seus atributos possuem valores
atmicos

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais (1FN)


A Relao abaixo no est na 1FN
Cd_Disciplina
D1
D2
D3

Nm_Disciplina
Matemtica
Portugus
Histria

Este material no pode ser copiado sem autorizao

Matricula_Professor
PO1, PO2, PO3
P02, P05
P03, P08

Prof Ricardo Ariel Correa Rabelo

Formas Normais (1FN)


A Relao normalizada para a 1FN
Cd_Disciplina Nm_Disciplina Matricula_Professor
D1
Matemtica
PO1
D1
Matemtica
PO2
D1
Matemtica
PO3
D2
Portugus
P02
D2
Portugus
P05
D3
Histria
P03
D3
Histria
P08

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais

2 Forma Normal (2FN)


Uma relao que tenha uma chave primria
composta est na Segunda Forma Normal se
todos os seus atributos que no fazem parte da
chave so dependentes funcionais totais da
chave.
Se uma relao est na 1FN e tem um nico
atributo na chave ento a mesma j est na 2FN

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais (2FN)


A Relao abaixo no se encontra na 2FN
Notas (#Cd_Disciplina, #Cd_Estudante, Nota,
Nm_Disciplina)
(#Cd_Disciplina, #Cd_Estudante)  Nota
#Cd_Disciplina  Nm_Disciplina

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais (2FN)


Notas (#Cd_Disciplina, #Cd_Estudante, Nota,
Nm_Disciplina)
Problemas com a Relao acima:
Anomalia de Remoo;
Anomalia de Modificao;
Anomalia de Insero.

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais (2FN)

Soluo
Extrair a dependncia parcial
#Cd_Disciplina  Nm_Disciplina
para uma outra Relao

Disciplina(#Cd_Disciplina, Nm_Disciplina)
Notas(#@Cd_Disciplina, #Cd_Estudante, Nota)

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais

3 Forma Normal (3FN)


Uma relao est na terceira forma normal se
estiver na segunda forma normal e no existirem
dependncias transitivas entre seus atributos
no chaves.

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais (3FN)


A Relao abaixo encontra-se na 2FN, mas no se
encontra na 3FN
(#Cd_Empregado, Nm_Empregado,
Cd_Departamento, Local_Departamento)
#Cd_Empregado  Nm_Empregado,
Cd_Departamento, Local_Departamento
Cd_Departamento  Local_Departamento

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais (3FN)


(#Cd_Empregado, Nm_Empregado,
Cd_Departamento, Local_Departamento)
Problemas com a Relao acima:
Anomalia de Insero/Remoo: Se no tem empregado,
no tem informaes sobre Departamento;
Anomalia de Modificao:Se o Departamento muda de
local, vrios registros sero alterados.

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais (3FN)

Soluo
Extrair a dependncia transitiva
#Cd_Departamento  Local_Departamento
para uma outra Relao

(#Cd_Departamento, Local_Departamento)
(#Cd_Empregado, Nm_Empregado,
@Cd_Departamento)

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais

Forma Normal Boyce-Codd


considerada uma definio mais rigorosa da
terceira forma normal
Uma relao est na forma normal Boyce-Codd
se est na 3FN e todos os determinantes so
chaves candidatas

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais (Boyce-Codd)


Considere a seguinte relao R que armazena informaes
sobre estudantes, cursos e tutores

R(#Curso,#Estudante, Tutor)
Considere tambm as seguintes restries:
Cada curso pode ter n tutores
Cada tutor est associado a um nico curso
Para cada curso, um estudante possui um tutor

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais (Boyce-Codd)

Instncia da Relao R
Curso
C1
C1
C2
C2
C2

Estudante
Andre
Carlos
Andre
Joao
Alberto

Este material no pode ser copiado sem autorizao

Tutor
Patricia
Carla
Moema
Tereza
Moema

Prof Ricardo Ariel Correa Rabelo

Formas Normais (Boyce-Codd)


Considere as dependncias existentes
(#Curso,#Estudante)  Tutor
(Tutor)  Curso
A relao est na 3FN pois a mesma est na 2FN e
no apresenta dependncias transitivas entre
atributos no chave

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais (Boyce-Codd)


Apesar de estar na 3FN, pode-se observar as seguintes
anomalias:
Insero No possvel associar um tutor a um Curso sem que o
mesmo esteja associado a um estudante
Modificao Se o nome do Tutor mudar, vrios registros sero
afetados

Essas anomalias existem pois a relao no est na forma


normal Boyce-Codd em funo da dependncia funcional
(Tutor)  Curso

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais (Boyce-Codd)


Uma soluo para esse cenrio seria
Curso(#Curso,#Estudante)
Estudante_Tutor(#Estudante, #Tutor)
Tutor_Curso(#Tutor, Curso)

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais

4 Forma Normal (4FN)


Diz respeito a relacionamentos mltiplos
Para uma relao estar na 4FN, um registro no
deve conter dois ou mais fatos multivalorados e
independentes acerca de uma entidade. Alm
disso a relao deve estar na 3FN

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais (4FN)


A seguinte relao R tenta capturar dois relacionamentos
1:N (Curso:Professor) e (Curso:Livro). Contudo, no existe
relao entre Professor e Livro
Curso
C1
C2
C1
C2
C3

Professor
Andr
Andr
Joo
Ricardo
Pedro

Este material no pode ser copiado sem autorizao

Livro
L1
L2
L3
L5
L5

Prof Ricardo Ariel Correa Rabelo

Formas Normais (4FN)


Para manter as tuplas da Relao anterior
consistentes, precisaramos de uma tupla para
representar cada combinao.
Essa restrio chamada de Dependncia
Multivalorada
Curso  Professor
Curso  Livro

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais (4FN)


Problemas com a relao
Excluso de um livro implica na excluso de vrias tuplas
Modificao de um livro implica na modificao de vrias
tuplas
A Insero de um livro para um curso implica na
obrigatoriedade de um professor

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais (4FN)


Uma soluo para esse cenrio seria
Curso_Professor(#Curso, #Professor)
Curso_Livro(#Curso, #Livro)

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais
5 Forma Normal (5FN)
A quinta forma normal lida com cenrios (casos) nos
quais a informao pode ser reconstruda a partir de
pequenas informaes armazenadas com menos
redundncia
Uma relao est na quinta forma normal quando uma
informao da mesma no pode ser reconstruda a partir
de quantidades menores de informaes

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais (5FN)


Utilizaremos o exemplo clssico de Companhia,
Produto e Vendedor
Se vendedores representam companhias,
companhias fazem produtos, e vendedores vendem
produtos, ento podemos querer armazenar qual
vendedor vende determinado produto para
determinada companhia

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais (5FN)


Essa informao poderia ser armazenada na
seguinte relao R
Vendedor
Smith
Smith

Companhia
Ford
GM

Produto
carro
caminho

Na grande maioria dos casos, essa representao


seria a nica possvel

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais (5FN)


Vamos supor que tivssemos a seguinte regra: Se
um vendedor vende determinado produto, e ele
representa uma companhia que faz aquele produto,
ento ele vende aquele produto para aquela
companhia
Vendedor
Smith
Smith
Smith
Smith
Jones

Companhia
Ford
Ford
GM
GM
Ford

Este material no pode ser copiado sem autorizao

Produto
carro
caminho
carro
caminho
carro
Prof Ricardo Ariel Correa Rabelo

Formas Normais (5FN)


Nesse caso, podemos reconstruir a informao a
partir de trs relaes normalizadas, contendo duas
colunas cada:
Vendedor
Smith
Smith
Jones

Companhia
Ford
GM
Ford

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais (5FN)


Companhia
Ford
Ford
GM
GM

Produto
carro
caminho
carro
caminho

Vendedor
Smith
Smith
Jones

Produto
carro
caminho
carro

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Você também pode gostar