normalização de dados profa. dra. marilde santos departamento de computação – ufscar...

47
Normalização de Dados Normalização de Dados Profa. Dra. Marilde Santos Profa. Dra. Marilde Santos Departamento de Computação – Departamento de Computação – UFSCar UFSCar [email protected] [email protected]

Upload: internet

Post on 17-Apr-2015

136 views

Category:

Documents


16 download

TRANSCRIPT

Page 1: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Normalização de DadosNormalização de Dados

Profa. Dra. Marilde SantosProfa. Dra. Marilde SantosDepartamento de Computação – Departamento de Computação –

UFSCarUFSCar

[email protected]@dc.ufscar.br

Page 2: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 2

SGBD + Banco de Dados

• Independência de dados

• Consistência de dados

Page 3: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 3

Consistência de Dados

SGBDRegras de Integridade

• Validade

• Completeza

• Consistência

Page 4: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 4

Consistência de Dados

O controle de consistência pode ser exercido:

• Pelo gerenciador;

• Pelos aplicativos;

• Pela própria construção do sistema.

Page 5: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 5

Consistência de Dados

Pela própria construção do sistema.

• Controlar a construção do sistema através da

criação de tabelas segundo regras que garantam

a manutenção de certas propriedades.

• As tabelas que atendem a um determinado

conjunto de regras, diz-se estarem em uma

determinada forma normal.

Page 6: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 6

Formas NormaisPrimeira Forma Normal

Uma relação está na 1a. forma normal quando todos

os seus atributos são atômicos e monovalorados.

Nome

Idade DataMatrícula

?DataNasc

São atômicos?

Page 7: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 7

Formas NormaisPrimeira Forma Normal

Uma relação está na 1a. forma normal quando todos

os seus atributos são atômicos e monovalorados.

Nome

Idade DataMatrícula

!DataNasc

São atômicos?

DataNasc e DataMatrícula serão atributos

atômicos se não forem utilizadas “partes” das

datas em outras relações do Banco de Dados.

Page 8: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 8

Formas NormaisPrimeira Forma Normal

Atributos multivalorados1) Quando a quantidade de valores é pequena e

conhecida a priori;

Substitui-se o atributo multivalorado por um conjunto

de atributos de mesmo domínio, cada um representando

a ocorrência de um valor.

Page 9: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 9

Formas NormaisPrimeira Forma Normal

Atributos multivalorados.2) Quando a quantidade de valores é muito grande,

variável ou desconhecida.

Retira-se da relação o atributo multivalorado, e cria- se

uma nova relação que tem o mesmo conjunto de

atributos chave, mais o atributo multivalorado como

chave, porém tomado como monovalorado.

Page 10: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 10

Formas NormaisPrimeira Forma Normal

Atributos multivalorados

Nome

Idade DataNasc

Telefone

Quantos números de telefone?

Page 11: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 11

Formas NormaisPrimeira Forma Normal

Atributos multivalorados

Nome

Idade DataNasc

Telefone

Nome

Idade DataNasc

fone1

fone2

fone3

Se forem 3 números

Page 12: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 12

Formas NormaisPrimeira Forma Normal

Atributos multivalorados

Nome

Idade DataNasc

Telefone

Nome

Idade DataNasc Nom

eTelefone

Se forem muitos números

Page 13: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 13

Formas NormaisDependências Funcionais

Se o valor de um conjunto de atributos A

permite descobrir o valor de um outro

conjunto B, dizemos que A determina

funcionalmente B, ou que B depende de A, e

denotamos:

A B

Page 14: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 14

Formas NormaisDependência Funcional Parcial

Se A for chave da relação e o valor de um

subconjunto de atributos de A permite

descobrir o valor de um outro conjunto B,

dizemos que B possui dependência

funcional parcial em relação a A.

Page 15: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 15

Formas NormaisAtributo Primo

Todo atributo que pertence a uma chave candidata é denominado primo.

O que é mesmo chave candidata?

Page 16: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 16

Formas NormaisSegunda Forma Normal

Uma relação está na 2a. forma normal

quando:

está na 1a. F.N. e;

todos os seus atributos que não são primos,

não dependem parcialmente de qualquer

chave candidata da relação.

Page 17: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 17

Formas NormaisSegunda Forma Normal

Número Sigla Número -Horas

Sala

Sigla Número-Horas

Número,Sigla Sala, Número-Horas

Page 18: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 18

Formas NormaisSegunda Forma Normal

Número Sigla Número -Horas

Sala

Número Sigla Sala Sigla Número-Horas

Page 19: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 19

Formas NormaisSegunda Forma Normal

Evita:

• Inconsistências devido a duplicidade de informações

• Perda de dados em operações de remoções / alteração na relação

Page 20: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 20

Formas NormaisSegunda Forma Normal

Número Sigla Número-Horas

Horário

DC12212

10:00

14:00

8:00

15:00

16:00

1

2

1

2

2

2

4

3

DC134

DC122

DC189DC189

Sigla Número-Horas

Número,Sigla Sala, Número-HorasValores Inconsistentes

Page 21: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 21

Formas NormaisSegunda Forma Normal

Número Sigla Número-Horas

Horário

DC12212

10:00

14:00

8:00

15:00

16:00

1

2

1

2

2

2

4

3

DC134

DC122

DC189DC189

Se não houver turmas de uma determinada disciplina em um semestre,

perde-se a informação sobre oNúmero de Horas!!!

Page 22: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 22

Formas NormaisTerceira Forma Normal

Uma relação está na 3a. Forma normal

quando: Está na 2a. F.N. E;

Todos os seus atributos não primos são

dependentes não transitivos de uma chave

candidata.Mas o que é

Dependência Funcional Transitiva?

Page 23: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 23

Formas NormaisTerceira Forma Normal

Seja a relação R(X, Y, A),A é transitivamente dependente de X, se existe Y tal que:

Mas o que é Dependência Funcional Transitiva?

X Y, Y não determina X YA A XY

Page 24: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 24

Formas NormaisTerceira Forma Normal

Número Sigla Sala Prédio

Número, Sigla Sala, Prédio

Sala Prédio

Page 25: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 25

Formas NormaisTerceira Forma Normal

Número Sigla Sala Prédio

Número, Sigla Sala Sala Prédio

Número Sigla Sala Sala Prédio

Page 26: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 26

Formas NormaisTerceira Forma Normal

Evita:

• inconsistências devido a duplicidade de informações

• perda de dados em operações de remoções / alteração na relação

Page 27: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 27

Formas NormaisTerceira Forma Normal

Valores Inconsistentes!!!!!

Número, Sigla Sala, Prédio

Sala Prédio

Número Sigla PrédioSala

DC10212

3

4

12

4

12

1

2

1

E1

C2

E1

C2

C2

DC155

DC102

DC104DC155

Page 28: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 28

Formas NormaisTerceira Forma Normal

Número, Sigla Sala, Prédio

Sala Prédio

Número Sigla PrédioSala

DC10212

3

4

12

4

12

1

2

1

E1

C2

E1

C2

C2

DC155

DC102

DC104DC155

Se não houver aula em uma determinada sala nessesemestre perde-se a informação sobre qual prédio

contém a tal sala.

Page 29: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 29

Formas NormaisTerceira Forma Normal

Uma relação está na 3a. Forma normal quando:

Está na 2a. F.N. e;

Todos os seus atributos não primos são dependentes não

transitivos de uma chave candidata.

Em outras palavras, uma relação está na 3FN se:

para toda dependência funcional X A de R,

X for superchave ou

A for atributo primo

Page 30: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 30

Formas NormaisForma Normal de Boyce-Codd

• Uma relação está na FNBC, se:

• Para toda dependência funcional X A de R,

• X for superchave Não adianta A ser primo!!!

Page 31: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 31

Formas NormaisForma Normal de Boyce-Codd

Apostila Disciplina

SO1

BD1

ED1

BD1

BD2

SO

BD

ED

BD

BD

Pr1 Central

Central

Sul

Id_Propried Nome_Região Lote Área

L54

500

Pr2

Pr3

Pr4

L2

L14

L23l

800

1000

1000Sul

Pr5

Pr6

Pr7

Norte

Central

1500

L414

L43l

1500

Leste L400

500

Id_propried Nome_região, Lote, ÁreaNome_região, Lote Id_propried, ÁreaÁrea Nome_região

Page 32: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 32

Formas NormaisForma Normal de Boyce-Codd

Nome_Região

Central

Sul

500

1000

Apostila Disciplina

SO1

BD1

ED1

BD1

BD2

SO

BD

ED

BD

BD

Pr1

Id_Propried Lote

L54

500

Pr2

Pr3

Pr4

L2

L14

L23l

500

1000

1000

Apostila Disciplina

SO1

BD1

ED1

BD1

BD2

SO

BD

ED

BD

BD

Pr1 Central

Central

Sul

Id_Propried Nome_Região Lote

L54

500

Pr2

Pr3

Pr4

L2

L14

L23l

500

1000

1000Sul

Área

ÁreaÁrea

Page 33: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 33

Formas NormaisDependências Funcionais Multivaloradas

O conceito baseia-se no fato de que, embora

não seja possível um conjunto de valores

determinar o valor de outro atributo, esse

conjunto consegue restringir os valores

possíveis para aquele atributo.

Page 34: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 34

Formas NormaisDependências Funcionais Multivaloradas

Se um conjunto de atributos A restringe os

valores possíveis para os atributos de um

outro conjunto B, diz-se que A multi-

determina funcionalmente B, ou que B é

multi-dependendente de A, e denota-se:

A B

Page 35: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 35

Formas NormaisDependências Funcionais Multivaloradas Uma dependência multivalorada X Y

especificada sobre a relação esquema R, onde X e Y são subconjuntos de R, especifica a seguinte restrição sobre qualquer r de R: se duas tuplas t1 e t2 existem em r tal que t1[x] = t2[x], então duas tuplas t3 e t4 deverão também existir em r com as seguintes propriedades, onde Z=(R-(X Z)):

• T3[X] = T4[X] = T1[X] = T2[X]

• T3[Y] = T1[Y] e T4[Y] = T2[Y]

• T3[Z] = T2[Z] e T4[Z] = T1[Z]

Page 36: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 36

Formas NormaisDependências Funcionais Multivaloradas

Orientando

Nome

t3[X] = t4[X] = t1[X] = t2[X]; t3[Y] = t1[Y] e t4[Y] = t2[Y]; t3[Z] = t2[Z] e t4[Z] = t1[Z].

MatériaNome

Alzira ES

BD

BD

ESAlzira

Alzira

Alzira Paulo

Sonia

Paulo

Sonia

Nome Matéria

Orientando

Alzira BD

ESAlzira

Pedro

Pedro

Page 37: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 37

Formas NormaisQuarta Forma Normal

Uma relação está na quarta forma normal quando:

dado um conjunto completo de dependências

funcionais multivaloradas não triviais para essa

relação:

Para todas as A B,

A é uma superchave da relação.DFM Trivial?!

O que é isso????

Page 38: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 38

Formas NormaisQuarta Forma Normal

A B é uma DFM Trivial se:B A ou AB=R

Page 39: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 39

Formas NormaisQuarta Forma Normal

Orientando

NomeMatériaNome

Carlos

SO

SO

BD

ESAlzira

Alzira

Carlos

Mario

Paulo

Paulo

Ana

Nome Matéria

Orientando

Alzira BD

ESAlzira

Sonia

Sonia

Nome não é superchave.

Page 40: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 40

Formas NormaisQuarta Forma Normal

Nome Matéria

Orientando

SOCarlos

Alzira ES

SO

BD

BD

ES

Carlos

Alzira

Alzira

Alzira

Mário

Ana

Paulo

Sonia

Paulo

Sonia

Sempre que dois conjuntos de atributos multivalorados independentes ocorrerem na mesma relação, será necessário repetir-se todos os valores de cada conjunto de atributos para cada valor possível do outro conjunto.

Page 41: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 41

Formas NormaisQuarta Forma Normal

Nome Matéria

Orientando

SOCarlos

Alzira ES

SO

BD

BD

ES

Carlos

Alzira

Alzira

Alzira

Mário

Ana

Paulo

Sonia

Paulo

Sonia

Alzira BD

ESAlzira

Pedro

Pedro

Page 42: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 42

Formas NormaisQuarta Forma Normal

Evita:

• Inconsistências devido à inclusão de uma nova tupla que tem valores diferentes das diversas ocorrências de um outro atributo multivalorado.

• Inconsistências em operações de remoção de tuplas, sendo que o produto cartesiano dos atributos multivalorados da relação possuem diferentes valores de um dos atributos em comparação com os valores de outro atributo.

Page 43: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 43

Formas NormaisQuarta Forma Normal

Nome Matéria Orientando

SOCarlos

Alzira ES

SO

BD

BD

ES

Carlos

Alzira

Alzira

Alzira

Mário

Ana

Paulo

Sonia

Paulo

Sonia

Alzira BD

ESAlzira

Pedro

Pedro

Nome Orientando Nome Matéria

Nome MatériaOrientandoNome

Page 44: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 44

Formas NormaisConsiderações Finais

Normalizar evita introduzir inconsistências quando

se alteram relações; porém obriga a execução de

custosas operações de junção para a consulta de

informações.

Page 45: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 45

Formas NormaisConsiderações Finais

A decisão deve ser tomada considerando-se o

compromisso entre se garantir a eliminação de

inconsistências na base, e eficiência de acesso.

Mas, e aí?!

Normalizar ou não Normalizar?

Eis a questão!

Page 46: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 46

Formas NormaisRegras de Inferência para DFs

1.Reflexiva. Se X Y, então X Y

2.Aumentativa. Se X Y, então XZ YZ

3.Transitiva. Se X Y e Y Z, então X Z

4.Decomposição/projeção. Se X YZ, então X Y e X Z

5.União/aditiva. Se X Y e X Z, então X YZ

6.Pseudotransitiva. Se X Y e WY Z, então WX Z

Page 47: Normalização de Dados Profa. Dra. Marilde Santos Departamento de Computação – UFSCar marilde@dc.ufscar.br

Novembro de 2003 Profa. Marilde Santos 47

Formas NormaisRegras de Inferência (DFMs)

1.Reflexiva. Se X Y, então X Y

2.Aumentativa. Se X Y, então XZ YZ

3.Transitiva. Se X Y e Y Z, então X Z

4.Complementação. Se X Y, então X ( R - (X Y) )

5.Aumentativa (DFM). Se X Y e W Z, então WX YZ

6.Transitiva (DFM). Se X Y e Y Z, então X (Z - Y)

7.Replicação. Se X Y, então X Y

8.Coalescência. Se X Y, e W com as seguintes

propriedades: a) WY é vazio; b)w Z e c) Y Z,

então: X Z