47
Normalização de Dados Normalização de Dados

Normalização de Dados. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

Embed Size (px)

Citation preview

Page 1: Normalização de Dados. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

Normalização de DadosNormalização de Dados

Page 2: Normalização de Dados. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

2

SGBD + Banco de Dados

Independência de dados

Consistência de dados

Page 3: Normalização de Dados. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

3

Consistência de Dados

SGBDRegras de Integridade

Validade

Completeza

Consistência

Page 4: Normalização de Dados. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

10

Formas NormaisPrimeira Forma Normal

Atributos multivalorados

Nome

Idade

DataNasc

Telefone

Quantos números de telefone?

Page 11: Normalização de Dados. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

18

Formas NormaisSegunda Forma Normal

Número Sigla Número -Horas

Sala

NúmeroSigla Sala Sigla Número-Horas

Page 19: Normalização de Dados. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

25

Formas NormaisTerceira Forma Normal

Número Sigla Sala Prédio

Número, Sigla Sala Sala Prédio

NúmeroSigla Sala Sala Prédio

Page 26: Normalização de Dados. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

27

Formas NormaisTerceira Forma Normal

Valores Inconsistentes!!!!!

Número, Sigla Sala, Prédio

Sala Prédio

Número Sigla PrédioSala

DC1021

2

3

4

12

4

12

1

2

1

E1

C2

E1

C2

C2

DC155

DC102

DC104

DC155

Page 28: Normalização de Dados. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

28

Formas NormaisTerceira Forma Normal

Número, Sigla Sala, Prédio

Sala Prédio

Número Sigla PrédioSala

DC1021

2

3

4

12

4

12

1

2

1

E1

C2

E1

C2

C2

DC155

DC102

DC104

DC155

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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 superchaveNão adianta A

ser primo!!!

Page 31: Normalização de Dados. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

34

Formas NormaisDependências Funcionais MultivaloradasSe 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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

36

Formas NormaisDependências Funcionais Multivaloradas

OrientandoNome 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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

38

Formas NormaisQuarta Forma Normal

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

Page 39: Normalização de Dados. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

39

Formas NormaisQuarta Forma Normal

OrientandoNome Maté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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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

PedroPedro

Page 42: Normalização de Dados. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

45

Mas, e aí?!

Normalizar ou não Normalizar?

Eis a questão!

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.

Page 46: Normalização de Dados. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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. 2 SGBD + Banco de Dados Independência de dados Consistência de dados

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