Vous êtes sur la page 1sur 23

DISCIPLINA Banco de Dados I

NORMALIZAO
CONCEITOS BSICOS

NORMALIZAO
Introduo A teoria da normalizao tem origem na rea de projetos de bancos de dados relacionais, e teve como criador o Dr. E. F. Codd. . A teoria continua se desenvolvendo at os dias atuais, quando o modelo relacional se mantm como o padro da indstria mundial para bancos de dados, mesmo tendo o modelo de objetos crecente aceitao.

NORMALIZAO
Normalizao em Bancos de Dados Relacionais A teoria da normalizao visa resolver trs problemas potenciais no projeto de bancos de dados relacionais [2]: repetio da informao: informaes repetidas desperdiam espao de armazenamento e criam dificuldades na atualizao do bancos de dados; incapacidade de representao de informao; Perda de informao

NORMALIZAO
A aplicao da normalizao a um modelo de banco de dados relacional realizada (ao menos teoricamente) em etapas, denominadas formas normais; A 1 forma normal (1FN) o ponto de partida. Posteriormente, so aplicadas as formas normais seguintes at o nvel de normalizao desejado; O fato de uma relao se encontrar em uma determinada forma normal implica que ela se encontra tambm em todas as formas normais anteriores. Na prtica, as formas normais 1FN, 2FN e 3FN so aplicadas de forma conjunta sobre as relaes em um projeto de banco de dados.

NORMALIZAO
1 Forma Normal (1FN) "Uma relao est em 1FN se e somente se todos os domnios bsico possuirem apenas valores atmicos; A 1FN implica que todas as tuplas de uma relao devem conter no mximo uma ocorrncia de um valor para cada atributo. Por exemplo, a seguinte relao no est em 1FN (ou seja, no uma relao normalizada):

NORMALIZAO
AGENDA

Nome Mariana Kipper Otaclio Guimares


Teresa Neves Janana Torres

Telefones 234-5672 23-67089 902-5061 334-0110 334-4996 9919-9112

NORMALIZAO
Uma verso em 1FN desta relao seria:

AGENDA' Nome Mariana Kipper Otaclio Guimares Otaclio Guimares Teresa Neves Teresa Neves Janana Torres

Telefone 234-5567 9902-5061 223-6708 334-0110 334-4996 9919-9112

NORMALIZAO
Dependncias Funcionais Tomemos como ponto de partida a seguinte relao em 1FN PEDIDO, cuja chave primria (composta) (S#,P#):

NORMALIZAO
S# S1 S1 S1 S1 S2 S2 S3 S4 S4 S4 STATUS 20 20 20 20 10 10 10 20 20 20 CITY London London London London Paris Paris Paris London London London P# P1 P2 P3 P4 P1 P2 P2 P2 P4 P4 QTY 300 200 400 200 300 400 200 200 300 200

NORMALIZAO
Verifica-se enhto que: S# a identificao do fornecedor; P# a identificao do produto; QTY a quantidade daquele produto; STATUS caracteriza o fornecedor, sendo uma informao dependente da cidade do fornecedor.

NORMALIZAO
"Dada uma relao R, o atributo Y de R funcionalmente dependente do atributo X de R se e somente se cada valor de X em R tiver a ele associado precisamente um valor de Y em R (a qualquer momento)." [ Em outras palavras, o valor do atributo Y depende do valor atual do atributo X, em todas as tuplas da relao R. Tambm se diz que X determina funcionalmente Y.

NORMALIZAO
Na relao PEDIDO, possvel identificar as seguintes dependncias funcionais: (S#,P#) QTY S# CITY CITY STATUS S# STATUS

NORMALIZAO
2 Forma Normal (2FN) Uma relao apenas em 1FN como PEDIDO possui diversos problemas associados s operaes bsicas: insero - no se pode determinar a localizao de um determinado fornecedor at que aquele fornecedor fornea alguma pea; remoo - ao se remover a nica tupla de um determinado fornecedor, perde-se a informao de que aquele fornecedor est localizado naquela cidade;

NORMALIZAO
atualizao - o valor da cidade do fornecedor aparece repetido em todas as tuplas referentes quele fornecedor. Esta redundncia requer que quando a cidade de um fornecedor for alterada: aplica-se esta modificao em todas as tuplas daquele fornecedor (alto custo de processamento) ou em apenas uma das tuplas daquele fornecedor (gerando inconsistncia nos dados). "Uma relao est em 2FN se e somente se ela estiver em 1FN e todos os atributos no-chave forem totalmente dependentes da chave primria."

NORMALIZAO
Como visto anteriormente, os atributos CITY e STATUS so funcionalmente dependentes apenas de S#, mas no de P#. Ao se eliminar estas dependncias funcionais, obtemos as seguintes relaes: FORNECEDOR S# STATUS CITY S1 20 London S2 10 Paris S3 10 Paris S4 20 London S5 30 Athens

NORMALIZAO
S# S1 S1 S1 S1 S2 S2 S3 S4 S4 S4
PEDIDO' P# P1 P2 P3 P4 P1 P2 P2 P2 P4 P4

QTY 300 200 400 200 300 400 200 200 300 200

NORMALIZAO
Agora possvel se representar a localizao de um fornecedor que ainda no forneceu nenhuma pea (S5). Alm disso, a remoo de um pedido no gera perda de informao sobre a localizao de um fornecedor. Por fim, alterar a localizao de um fornecedor requer a atualizao de apenas uma tupla na relao FORNECEDOR.

NORMALIZAO
3 Forma Normal (3FN) Uma relao em 2FN como PEDIDO' ainda possui problemas associados s operaes bsicas, semelhantes queles que existiam em PEDIDO, mas agora relacionados dependncia funcional CITY STATUS. Para resolver estes problemas, precisamos da 3FN. "Uma relao est em 3FN se e somente se ela estiver em 2FN e todos os atributos no-chave forem dependentes no-transitivos da chave primria."

NORMALIZAO
Na relao FORNECEDOR, a dependncia S# STATUS transitiva, e deve ser removida, resultando em: CIDADE CITY STATUS London 20 Paris 10 Amsterdan 10 Athens 30

NORMALIZAO
S# S1 S2 S3 S4 S5
FORNECEDOR' CITY London Paris Paris London Athens

NORMALIZAO
Exercicio Cdigo do Projeto: 1 Tipo: Desenv. Descrio: Vagas CodEmp :1 Nome:Joo categoria:1 Salrio: 7000 DataIncio: 1/11/95 TempoAloc: 6

NORMALIZAO
CodEmp :2 Nome:Carlos categoria:2 Salrio: 1000 DataIncio: 23/11/95 TempoAloc: 9

NORMALIZAO

Cdigo do Projeto: 2 Tipo: Marketing Descrio: Administrativo CodEmp : 2 Nome:Carlos categoria:2 Salrio: 1000 DataIncio: 23/11/95 TempoAloc: 9 CodEmp : 4 Nome: Maria categoria:1 Salrio: 700 DataIncio: 15/11/95 TempoAloc: 12

Vous aimerez peut-être aussi