You are on page 1of 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 Nome Endereo Habilidade

9924 9924 9924 9924

Carlos Carlos Carlos Carlos

Rua Rua Rua Rua

F F F F

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 Nome Endereo Habilidade

9924

Carlos

Rua F

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

9924

Carlos
Identidade

Rua F
Habilidade

9924 9924 9924 9924

Futebol Basquete Tnis Atletismo

Este material no pode ser copiado sem autorizao

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 #Matricula #Matricula #Matricula CPF Nome Endereo Departamento

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Dependncia Funcional Temos tambm: CPF CPF CPF CPF Matricula Nome Endereo 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. A B C

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 Sala_Professor

Id_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 Matricula_Professor PO1, PO2, PO3 P02, P05 P03, P08

Este material no pode ser copiado sem autorizao

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) #Cd_Disciplina Nm_Disciplina Nota

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 Tutor Patricia Carla Moema Tereza Moema

Este material no pode ser copiado sem autorizao

Prof Ricardo Ariel Correa Rabelo

Formas Normais (Boyce-Codd) Considere as dependncias existentes (#Curso,#Estudante) (Tutor) Curso Tutor

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 Livro L1 L2 L3 L5 L5

Este material no pode ser copiado sem autorizao

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 Curso

Professor 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 Produto carro caminho carro caminho carro
Prof Ricardo Ariel Correa Rabelo

Este material no pode ser copiado sem autorizao

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 Vendedor Smith Smith Jones Produto carro caminho carro caminho Produto carro caminho carro
Prof Ricardo Ariel Correa Rabelo

Este material no pode ser copiado sem autorizao