Sie sind auf Seite 1von 12

NORMALIZAO DE DADOS

Prof. Jorge Soares jorge@pobox.com

ROTEIRO
1. INTRODUO E CONCEITOS BSICOS 2. PRIMEIRA FORMA NORMAL 3. SEGUNDA FORMA NORMAL 4. TERCEIRA FORMA NORMAL 5. FORMA NORMAL DE BOYCE-CODD 6. EXERCCIOS

1. INTRODUO E CONCEITOS BSICOS O que Normalizao de Dados ? um processo formal, passo a passo, de anlise dos atributos de uma relao com o objetivo de evitar redundncia de informao, eliminando as chamadas anomalias de atualizao. Teoria proposta por Codd no incio dos anos 70. Baseia-se no conceito de FORMAS NORMAIS. Uma relao (tabela) dita estar em uma determinada forma normal, se ela satisfizer a um conjunto especfico de restries.

1. INTRODUO E CONCEITOS BSICOS Anomalias de Atualizao Incluso Excluso Modificao

Ex: Que problemas seriam decorrentes da relao VENDAS:


Ncli Z Ana Joo Pedro CPF 111 222 333 444 end ABC XYZ XPT KZZ tel 123 456 789 Null Pcod A B C A Nprod Lpis Caneta Rgua Lpis Vunit 0,50 1,00 1,00 0,50 qtd 2 3 2 20 tot 1,00 3,00 2,00 10,00

1. INTRODUO E CONCEITOS BSICOS Como evitar os problemas discutidos no slide anterior ? Seguindo corretamente as etapas de construo de BDs. Elaborando um bom modelo conceitual de dados. Aplicando corretamente o projeto lgico de BDs.

E quando o BD j existir ? Aplicando o processo de Normalizao de Dados.

1. INTRODUO E CONCEITOS BSICOS Conceitos Importantes: Dependncia Funcional entre Atributos Sejam X e Y conjuntos de atributos de uma relao R Diz-se que Y depende funcionalmente de X (X Y), se: Para qqs duas tuplas de R, t1, t2, Sempre que t1[X]=t2[X] ento t1[Y]=t2[Y] Pode-se dizer tambm neste caso que X determina funcionalmente Y.

1. INTRODUO E CONCEITOS BSICOS Conceitos Importantes: Dependncia Funcional entre Atributos Exemplo:
Ncli Z Ana Joo Pedro CPF 111 222 333 444 end ABC XYZ XPT KZZ tel 123 456 789 Null Pcod A B C A Nprod Lpis Caneta Rgua Lpis Vunit 0,50 1,00 1,00 0,50 qtd 2 3 2 20 tot 1,00 3,00 2,00 10,00

CPF Ncli, End, Tel

Pcod Nprod, Vunit

CPF, Pcod Qtd, Tot

1. INTRODUO E CONCEITOS BSICOS Conceitos Importantes: Dependncia Funcional Total Sejam X e Y conjuntos de atributos de uma relao R tq: XY Diz-se que Y depende totalmente de X, se: Para qqs A, A X, A X, X A no determine funcionalmente Y X denominado antecedente e Y consequente da dependncia.

1. INTRODUO E CONCEITOS BSICOS Conceitos Importantes: Dependncia Funcional Total Exemplo:


Ncli Z Ana Z Pedro CPF 111 222 111 444 end ABC XYZ ABC KZZ tel 123 456 123 Null Pcod A B C A Nprod Lpis Caneta Rgua Lpis Vunit 0,50 1,00 1,00 0,50 qtd 2 3 5 20 tot 1,00 3,00 5,00 10,00

CPF, Pcod Qtd, Tot

CPF no determina Qtd, Tot

Pcod no determina Qtd, Tot

1. INTRODUO E CONCEITOS BSICOS Conceitos Importantes: Dependncia Funcional Parcial Sejam X e Y conjuntos de atributos de uma relao R tq: XY Diz-se que Y depende parcialmente de X, se: Existe A, A X, A X, XAY

1. INTRODUO E CONCEITOS BSICOS Conceitos Importantes: Dependncia Funcional Parcial Exemplo:


Ncli Z Ana Z Pedro CPF 111 222 111 444 end ABC XYZ ABC KZZ tel 123 456 123 Null Pcod A B C A Nprod Lpis Caneta Rgua Lpis Vunit 0,50 1,00 1,00 0,50 qtd 2 3 5 20 tot 1,00 3,00 5,00 10,00

CPF Ncli, End, Tel CPF, Pcod Ncli, End, Tel, Nprod, Vunit Pcod Nprod, Vunit

1. INTRODUO E CONCEITOS BSICOS Conceitos Importantes: Atributos Multivalorados So atributos que podem conter mltiplos valores para uma mesma tupla. Exemplo:
Ncli Z Ana Z Pedro CPF 111 222 111 444 End ABC XYZ ABC KZZ Tel 123 555 456 123 432 Null

O atributo Tel multivalorado

1. INTRODUO E CONCEITOS BSICOS Conceitos Importantes: Atributos Compostos So atributos que contm tuplas em cada tupla. Exemplo:
Ncli Z Ana Z Pedro CPF 111 222 111 444 End (R. Silva, 23, 102, urca, 222) (R. X, 555, 11, jpa, 222) (R. Y, 2323, 1020, tijuca, 222) (R. Z, 4323, Null, centro, 222) Tel 123 456 123 Null
O atributo End composto

1. INTRODUO E CONCEITOS BSICOS Conceitos Importantes: Atributos Atmicos So atributos que no so nem multivalorados e nem compostos.

A informao em atributos atmicos indivisvel.

Exemplos de atributos atmicos: CPF, Ncli, Nprod, Vunit, etc...

1. INTRODUO E CONCEITOS BSICOS Conceitos Importantes: Dependncia Multivalorada Uma Dependncia Multivalorada (DMV) X Y em uma relao R quando: Para cada 2 tuplas t1 e t2 tais que t1[X] = t2[X], devem existir t3 e t4 tais que: t1[X] = t2[X] = t3[X] = t4[X] t3[Y] = t1[Y] e t4[Y] = t2[Y] t3[Z] = t2[Z] e t4[Z] = t1[Z] Onde Z = R (X Y)

1. INTRODUO E CONCEITOS BSICOS Conceitos Importantes: Dependncia Multivalorada Exemplo:


Ncli Z Z Z Z DepN Ivo Maria Maria Ivo Tel 123 456 123 456
Exemplo de DMV: NCli DepN X=Ncli, Y=Tel, Z=DepN t1[X] = t2[X] = t3[X] = t4[X] t3[Y] = t1[Y] e t4[Y] = t2[Y] t3[Z] = t2[Z] e t4[Z] = t1[Z]

Uma dep. multivalorada X Y em R chamada trivial se: (a) Y X ou (b) X Y = R Caso contrrio X Y chamada no trivial

1. INTRODUO E CONCEITOS BSICOS Conceitos Importantes: Super-Chave Uma super-chave de uma relao R qualquer subconjunto dos atributos de R cujos valores no se repetem em R. Exemplo:
Ncli Z Ana Maria Pedro CPF 111 222 777 444 Id 100 300 400 200 Tel 123 456 123 Null
So exemplos de super-chave: (CPF, Id), (CPF, Tel), (CPF, Ncli), (Id,Ncli), (Id, Id, Tel) (CPF), (Id)

1. INTRODUO E CONCEITOS BSICOS Conceitos Importantes: Chave-Candidata Uma chave candidata de uma relao R uma super-chave que possua a menor quantidade possvel de atributos. Exemplo:
Ncli Z Ana Maria Pedro CPF 111 222 777 444 Id 100 300 400 200 Tel 123 456 123 Null
So exemplos de Chaves-Candidatas: (CPF), (Id) Uma das ChavesCandidatas deve ser eleita como PK

2. PRIMEIRA FORMA NORMAL

PRIMEIRA FORMA NORMAL 1FN Uma relao R est na 1FN se, e somente se R contm somente atributos atmicos.
Todas as Relaes Relaes na 1FN

2. PRIMEIRA FORMA NORMAL Exemplo: Relao Departamento


NomeD Pesquisa Administrao Coordenao NumeroD 5 4 1 NSSGER 33333333 44444444 55555555 LocalizacoesD {Centro, Urca} Barra Ipanema

A relao Departamento no est na 1FN pois possui atributos multivalorados (LocalizacoesD) Como normaliz-la (coloc-la na 1FN) ? Resp: H 3 alternativas.

2. PRIMEIRA FORMA NORMAL Exemplo: Relao Departamento


NomeD Pesquisa Administrao Coordenao NumeroD 5 4 1 NSSGER 33333333 44444444 55555555 LocalizacoesD {Centro, Urca} Barra Ipanema

1a. Alternativa: Expandir a PK Departamento(NomeD, NumeroD, NSSGER, LocalizacoesD) Preserva redundncia de informaes.

2. PRIMEIRA FORMA NORMAL Exemplo: Relao Departamento


NomeD Pesquisa Administrao Coordenao NumeroD 5 4 1 NSSGER 33333333 44444444 55555555 LocalizacoesD {Centro, Urca} Barra Ipanema

2a. Alternativa: Criar novos atributos para LocalizacoesD Departamento(NomeD, NumeroD, NSSGER, LocalizacoesD1, LocalizacoesD2, LocalizacoesD3) O nmero de mximo de localizaes deve ser conhecido. No uma representao econmica.

2. PRIMEIRA FORMA NORMAL Exemplo: Relao Departamento


NomeD Pesquisa Administrao Coordenao NumeroD 5 4 1 NSSGER 33333333 44444444 55555555 LocalizacoesD {Centro, Urca} Barra Ipanema

3a. Alternativa: Separar em duas relaes Departamento(NomeD, NumeroD, NSSGER) LocalizacoesDepto(NumeroD, LocalizacaoD)
As relaes esto na 1FN

Alternativa mais adequada: resolve a limitao de atributos representando o modelo por tuplas.

2. PRIMEIRA FORMA NORMAL Exemplo: Relao Empregado_Projeto (EMP_PROJ)


NSS 111 222 333 Enome Z Ana Pedro PROJS (NumeroP, HorasP) (100, 40) (50, 10) (80, 20)

A relao EMP_PROJ no est na 1FN pois possui atributos compostos (PROJS). Como normaliz-la ?

2. PRIMEIRA FORMA NORMAL Exemplo: Relao Empregado_Projeto (EMP_PROJ)


NSS 111 222 333 Enome Z Ana Pedro PROJS (NumeroP, HorasP) (100, 40) (50, 10) (80, 20)

Separando a relao em duas: Empregado(NSS, Enome) EMP_PROJ(NSS, NumeroP, HorasP)


As relaes esto na 1FN

3. SEGUNDA FORMA NORMAL

SEGUNDA FORMA NORMAL 2FN Uma relao R est na 2FN se, e somente se R est na 1FN e no possui dependncia parcial da PK.
Todas as Relaes Relaes na 1FN Relaes na 2FN

3. SEGUNDA FORMA NORMAL Exemplo: Relao VENDAS


Numero CodP NomeP Vunit Qtde Vtot

A Vendas est na 1FN pois possui somente atributos atmicos Pergunta-se: est na 2FN ? Para responder, precisamos identificar as dependncias funcionais envolvendo atributos da PK:
Numero, CodP NomeP, Vunit, Qtde, Vtot CodP NomeP, Vunit

Esta uma dependncia parcial da PK !!!

3. SEGUNDA FORMA NORMAL Exemplo: Relao VENDAS


Numero CodP NomeP Vunit Qtde Vtot

A Vendas no est na 2FN pois possui dependncial parcial da PK. Pergunta-se: como normaliz-la para a 2FN ? Separando a relao em duas ou mais de forma a eliminar a dependncia parcial: Vendas(Numero, CodP, Qtde, Vtot) Produto(CodP, NomeP, Vunit)

3. SEGUNDA FORMA NORMAL Exemplo: Seja R uma relao contendo apenas atributos atmicos. A PK de R simples (possui apenas 1 atribtuto) Pergunta-se: Qual a forma normal de R ? Resp: Segunda Forma Normal R contm apenas atributos atmicos est na 1FN A PK de R simples No h como existir dependncia parcial

4. TERCEIRA FORMA NORMAL TERCEIRA FORMA NORMAL 3FN Uma relao R est na 3FN se, e somente se R est na 2FN e nenhum atributo no pertencente a PK possua dependncia transitiva em relao PK.
Todas as Relaes Relaes na 1FN Relaes na 2FN Relaes na 3FN

10

4. TERCEIRA FORMA NORMAL Exemplo: Relao FUNCIONARIO


Mat Nome End CodCargo CNome Salario

A relao Funcionrio est na 2FN pois possui somente atributos atmicos e no apresenta dependncia parcial da PK. Pergunta-se: est na 3FN ? Para responder, precisamos identificar dependncias funcionais envolvendo atributos que no pertenam PK:
CodCargo CNome, Salario Mat CodCargo

H dependncia transitiva da PK !!!

4. TERCEIRA FORMA NORMAL Exemplo: Relao FUNCIONARIO


Mat Nome End CodCargo CNome Salario

A relao Funcionario no est na 3FN pois possui dependncia transitiva com relao PK. Pergunta-se: como normaliz-la para a 3FN ? Separando a relao em duas ou mais de forma a eliminar a dependncia transitiva: Funcionario(Mat, Nome, End, CodCargo) Cargo(Cod, CNome, Salario)

5. FORMA NORMAL DE BOYCE-CODD FORMA NORMAL DE BOYCE-CODD FNBC / BCNF Uma relao R est na BCFN se, e somente se R est na 3FN e nenhum atributo possua dependncia transitiva em relao PK (incluindo atributos no chave).
Todas as Relaes Relaes na 1FN Relaes na 2FN Relaes na 3FN Relaes na BCNF

11

5. FORMA NORMAL DE BOYCE-CODD Exemplo: Relao CURSA


Aluno Disciplina Tutor

A relao Funcionrio est na 3FN pois possui somente atributos atmicos, no apresenta dependncia parcial da PK e no possui atributos no chave dependendo da PK. Pergunta-se: est na BCNF ? Para responder, precisamos identificar dependncias funcionais envolvendo atributos que pertenam PK:
Tutor Disciplina Aluno, Disciplina Tutor

H dependncia transitiva da PK !!!

5. FORMA NORMAL DE BOYCE-CODD Exemplo: Relao CURSA


Aluno Disciplina Tutor

A relao Cursa no est na BCNF pois possui dependncia transitiva de um atributo chave com relao PK. Pergunta-se: como normaliz-la para a BCNF ? Separando a relao em duas ou mais de forma a eliminar a dependncia transitiva: Tutoria(Tutor, Disciplina) Cursa(Tutor, Aluno)

12

Das könnte Ihnen auch gefallen