• Nenhum resultado encontrado

Projeto de Bancos de Dados Relacional- Normalização. Vantagens da decomposição Normalização

N/A
N/A
Protected

Academic year: 2021

Share "Projeto de Bancos de Dados Relacional- Normalização. Vantagens da decomposição Normalização"

Copied!
18
0
0

Texto

(1)

Projeto de Bancos de Dados

Relacional- Normalização

Vantagens da decomposição – Normalização

Decomposição sem Perdas;

Teorema de HEATH;

Eliminar Dados Duplicados;

Chaves (Candidata, Primária e Estrangeira);

Campos com valores NULOS (Inform. Incompleta);

Normalização 1FN-3FN

Prof. Anderson Henriques

2

Vantagens da decomposição –

Normalização

n

Para que serve a teoria da Normalização

relacional?

– Determinar se um conjunto de projeções de uma relação é uma decomposição sem perda;

– Regras para escolher a melhor, quando existe mais de uma decomposição sem perdas;

– Simplificar a representação de uma relação eliminando:

p Dados duplicados;

p Resolver problemas com informação incompleta (campos

(2)

3

Vantagens da decomposição –

Normalização (CONT.)

n

Porque eliminar dados duplicados?

– Economia de espaço;

– Economia de tempo na atualização;

– Eliminar a possibilidade de inconsistências;

– Reduz a complexidade dos programas de manipulação do dado (ler-consultar, criar-incluir, atualizar e

remover).

Vantagens da decomposição –

Normalização (CONT.)

n

Ferramentas para o processo de Normalização

– Funções (dependências funcionais);

– Funções multivaloradas;

– Funções não-triviais (axiomas sobre funções); – Decomposição sem perdas de informação; – Teorema de Heath;

– Decomposição útil – que elimina dados duplicados; – Campo comum de duas projeções;

(3)

5

Vantagens da decomposição –

Normalização (CONT.)

n

Ferramentas para o proc. de Normalização(Cont.)

– 4FN-5FN forma normais;

– Regras para escolha da melhor decomposição (1FN-3FN+BCNF, 4FN-5FN);

– Modelo de dados Relacional.

6 Identificar chave primária

e dependências funcionais início Está na 1FN Está na 2FN Decomposição por HEATH Identificar campos multivalorados Decompor Decomposição por HEATH Normalização 4FN-5FN início não não não sim sim sim Normalização 1FN-3FN Está na 3FN

(4)

7 Identificar chaves candidatas

e dependências funcionais início Está na 4FN-5FN Identificar campos multivalorados Decomposição por HEATH

fim sim não

Decomposição para remoção de campos multivalorados

Normalização

Não 1ra Forma Normal (N1FN)

Decomposição sem Perdas

n

Exemplo1:

ZOO+ANIMAL ANIMAL+NATURALDE =

ZOO+ANIMAL+NATURALDE Zôo Animal Naturalde

Bosque Bosque Museu Museu Ema Camelo Canguru Camelo Áustria Arábia Áustria Arábia Zôo Animal Bosque Bosque Museu Museu Ema Camelo Canguru Camelo Animal Naturalde Ema Camelo Canguru Áustria Arábia Áustria

(5)

9

Decomposição sem Perdas

n

Exemplo2:

Zôo Animal Naturalde Bosque Bosque Museu Museu Ema Camelo Canguru Camelo Áustria Arábia Áustria Arábia Animal Naturalde Ema Camelo Canguru Áustria Arábia Áustria Zôo Naturalde Bosque Bosque Museu Museu Áustria Arábia Áustria Arábia 10

Decomposição sem Perdas

n

Exemplo2 (Cont.):

ZOO+NATURALDE ANIMAL+NATURALDE = (tabela abaixo) Zôo Animal Naturalde

Bosque Bosque Museu Museu Museu Bosque Ema Camelo Canguru Camelo Ema Canguru Áustria Arábia Áustria Arábia Áustria Áustria

(Z+N A+N) minus {<museu, ema, austria>= Z+A+N<bosque, canguru, austria>} ou também

Z+A+N union {<museu, ema, austria>=(Z+N A+N)<bosque, canguru, austria>}

(6)

11

Decomposição sem Perdas

n

Exemplo2 (Cont.):

Numa decomposição sem perdas, a junção do conjunto de projeções é igual a relação original.

Teorema de HEATH

Seja a relação R(A,B,C), onde A,B,C são conjuntos de campos. Se B→C então A+B B+C é uma decomposição sem perdas.

Ou, se C é funcionalmente dependente de B então A+B B+C é uma decomposição sem perdas.

(7)

13

Teorema de HEATH (CONT.)

n

Exemplo:

INGREDIENTE→CALS/GRAMA CALS/GRAMA+INGREDIENTE

INGREDIENTE+RECEITA+GRAMAS Receita Ingrediente Gramas

Bolo Bolo Bolo Caramelado Caramelado Caramelado leite açúcar manteiga açúcar manteiga corante 400 450 150 450 255 5 Cals/Grama 4.5 3.7 7.8 3.7 7.8 3.5 14

Eliminar Dados Duplicados

Venda Cliente Telefone nf056 nf057 nf060 nf061 nf062 nf064 Pedro Antunes Pedro Pedro Antunes Gabriel 33000 34555 33000 33000 34555 33111 Venda Cliente nf056 nf057 nf060 nf061 nf062 nf064 Pedro Antunes Pedro Pedro Antunes Gabriel Venda Telefone nf056 nf057 nf060 nf061 nf062 nf064 33000 34555 33000 33000 34555 33111 Cliente Telefone Pedro Antunes Gabriel 33000 34555 33111

(8)

15

Eliminar Dados Duplicados (CONT.)

VENDA+TELEFONE VENDA+CLIENTE VENDA+TELEFONE CLIENTE+TELEFONE VENDA+CLIENTE CLIENTE+TELEFONE = VENDA+CLIENTE+TELEFONE Venda Cliente nf056 nf057 nf060 nf061 nf062 nf064 Pedro Antunes Pedro Pedro Antunes Gabriel Venda Telefone nf056 nf057 nf060 nf061 nf062 nf064 33000 34555 33000 33000 34555 33111 Cliente Telefone Pedro Antunes Gabriel 33000 34555 33111

Eliminar Dados Duplicados (CONT.)

Uma decomposição elimina dados duplicados quando uma das projeções possui menos linhas que a tabela original.

(9)

17

CHAVE CANDIDATA

Venda Cliente nf056 nf057 nf060 nf061 nf062 nf064 Pedro Antunes Pedro Pedro Antunes Gabriel Cliente Telefone Pedro Antunes Gabriel 33000 34555 33111

Uma chave Candidata é um conjunto mínimo de campos que identificam unicamente cada linha de uma tabela. Se um campo da chave candidata é removido ela deixa de ser chave candidata.

18

CHAVE CANDIDATA (CONT.)

ZOO+ANIMAL é a chave candidata.

ANIMAL+NATURALDE não pode ser chave candidata. Zôo Animal Naturalde

Bosque Bosque Museu Museu Ema Camelo Canguru Camelo Áustria Arábia Áustria Arábia Animal Naturalde Ema Camelo Canguru Áustria Arábia Áustria

(10)

19

CHAVE PRIMÁRIA E

CHAVE ESTRANGEIRA

VENDA+CLIENTE CLIENTE+TELEFONE = VENDA+CLIENTE+TELEFONE Venda Cliente nf056 nf057 nf060 nf061 nf062 nf064 Pedro Antunes Pedro Pedro Antunes Gabriel

Chave Primária Chave Estrangeira

Cliente Telefone Pedro Antunes Gabriel 33000 34555 33111 Chave Primária

CHAVE PRIMÁRIA E

CHAVE ESTRANGEIRA (CONT.)

VENDA+CLIENTE+TELEFONE=

(VENDA+CLIENTE CLIENTE+TELEFONE ) Venda Cliente Telefone

nf056 nf057 nf060 nf061 nf062 nf064 Pedro Antunes Pedro Pedro Antunes Gabriel 33000 34555 33000 33000 34555 33111

– Chave Secundária: chave candidata não primária. – Normalização: Eliminar dados duplicados ou

(11)

21

CHAVE PRIMÁRIA E

CHAVE ESTRANGEIRA (CONT.)

A chave primária da tabela é uma das chaves candidatas. Numa decomposição sem perdas o campo comum é

chave primária em pelo menos uma das projeções.

Em uma decomposição sem perdas o campo comum é

chave estrangeira quando não chave primária.

22

Campos com valores NULOS

(Informação Incompleta)

n

Em VENDA+CLIENTE+TELEFONE o campo

VENDA é a chave primária. Portanto, não

podemos registrar o telefone número 36000 para

Mário.

Venda Cliente Telefone

nf056 nf060 nf061 nf062 ---nf063 Pedro Pedro Pedro Antunes Mário Gabriel 33000 33000 33000 34555 36000 33111 Cliente Telefone Pedro Antunes Gabriel Mário 33000 34555 33111 36000

(12)

23

Campos com valores NULOS

(Informação Incompleta) (CONT.)

? VENDA+CLIENTE VENDA+TELEFONE Venda Cliente nf056 nf057 nf060 nf061 ---nf063 Pedro Antunes Pedro Pedro Mário Gabriel Venda Telefone nf056 nf057 nf060 ---nf063 33000 34555 33000 36000 33111

Campos com valores NULOS

(Informação Incompleta) (CONT.)

Uma decomposição elimina dados duplicados quando uma das projeções possui menos linhas que a tabela original.

Uma decomposição (sem perdas) é útil se e somente se elimina dados duplicados.

Uma decomposição (sem perdas) é útil se e somente se o campo comum não é chave candidata em uma das

projeções.

Uma tabela está em 5FN se e somente se não existem decomposição úteis.

(13)

25

Normalização 1FN-3FN

Primeira Forma Normal (1FN)

Uma relação está na 1FN se e somente se nenhuma tupla possui dois valores num mesmo campo.

Professor Disciplina Telefone PedroI PauloII Paula {direito,economia} religião {estrutura,contabilidade} 22-23-24 22-33-39 22-32-70 Professor Disciplina Telefone

PedroI PedroI PauloII Paula Paula direito economia religião estrutura contabilidade 22-23-24 22-23-24 22-33-39 22-32-70 22-32-70 26

Normalização 1FN -3FN

n

Dependência Funcional:

Ingrediente açúcar amido manteiga margarina Cals/Grama 3.7 5.0 7.8 7.8

– O açúcar sempre tem 3.7 cals/grama. Dois INGREDIENTES podem ter as mesmas calorias. Não poderia o açúcar ter dois valores? “açúcar mascavo” e “açúcar diet”.

(14)

27

Normalização 1FN -3FN

n

Dependência Funcional (Cont.):

INGREDIENTE não é funcionalmente dependente de CALS/GRAMA CALS/GRAMA é funcionalmente dependente de INGREDIENTE ou

INGREDIENTE → CALS/GRAMA

CALS/GRAMA → INGREDIENTE (não existe a função)

Um campo B é funcionalmente dependente de um campo A se e somente se:

i) Se não existem 2 valores iguais em B para um mesmo valor A;

ii) Ou, quando muda o valor A e muda também o valor B; iii)Ou, se o campo A define o valor do campo B;

iv)Ou, se existe a função A→B.

Normalização 1FN -3FN

n

Dependência Funcional (Cont.):

nf056 nf056 nf057 nf057 nf057 lápis caneta lápis caneta cola 50 150 50 150 90 2 3 1 3 1 100 450 50 450 90 Venda Produto Preço Unidades SubTotal

Dep. verdadeira

(15)

29

Normalização 1FN -3FN

n

Dependência Funcional (Cont.):

SUBTOTAL é dependente de

PREÇO+PRODUTO+UNIDADES. SUBTOTAL é dependente de PREÇO+UNIDADES. SUBTOTAL é dependente de PRODUTO+UNIDADES. PREÇO é dependente de PRODUTO.

Nos dados “lápis+50+2” pode-se calcular subtotal 100. Logo, 100 depende de “lápis+50+2”

(PRODUTO+PREÇO+UNIDADES).

30

Normalização 1FN -3FN

n

Dependência Funcional (Cont.):

*Uma soma B é dita completamente dependente de uma soma A se e somente se:

i) B é funcionalmente dependente de A;

ii)B não é funcionalmente dependente de um subconjunto de campos da soma A;

iii)Ou, se tirarmos um campo de A, B não mais depende de A;

iv) Ou, X+Y→Z se e somente se X+Y→Z e Y→Z. Onde o operador → indica completamente dependente e, o

(16)

31

Normalização 1FN -3FN

n

Dependência Funcional (Cont.):

nf056 nf056 nf057 nf057 nf057 lápis caneta lápis caneta cola 50 150 50 150 90 2 3 1 3 1 100 450 50 450 90 Venda Produto Preço Unidades SubTotal

SUBTOTAL é dependente de

PREÇO+PRODUTO+UNIDADES. SUBTOTAL é dependente de PREÇO+UNIDADES. SUBTOTAL é dependente de PRODUTO+UNIDADES.

Normalização 1FN -3FN

n

Dependência Funcional (Cont.):

SUBTOTAL não é completamente dependente de PREÇO+PRODUTO+UNIDADES. SUBTOTAL é dependente de PREÇO+UNIDADES. SUBTOTAL não é dependente de PREÇO.

SUBTOTAL não é dependente de UNIDADES. SUBTOTAL é completamente dependente de

(17)

33

Normalização 1FN -3FN

Segunda Forma Normal (2FN)

Uma relação em 1FN também está em 2FN se e

somente se todos os atributos não parte da chave

primária são completamente dependentes da chave primária.

Professor Disciplina Telefone PedroI PedroI PauloII Paula Paula direito economia religião estrutura contabilidade 22-23-24 22-23-24 22-33-39 22-32-70 22-32-70 34

Normalização 1FN -3FN

n Assumimos a chave primária

PROFESSOR+DISCIPLINA. n TELEFONE depende de PROFESSOR+DISCIPLINA. n TELEFONE depende de PROFESSOR.

n Logo o campo TELEFONE não é complemente dependente da chave primária – não está em 2FN.

n Por HEATH removemos PROFESSOR→TELEFONE resultando em: Professor Disciplina

PedroI PedroI PauloII Paula Paula direito economia religião estrutura contabilidade Professor Telefone PedroI PauloII Paula 22-23-24 22-33-39 22-32-70

(18)

35

Normalização 1FN -3FN

Terceira Forma Normal (3FN)

Uma relação em 2FN também está em 3FN se e

somente se todos os atributos não parte de chaves

candidatas são dependentes apenas de chaves candidatas.

– A chave primária é ÁRVORE.

– Todos são completamente dependentes da ÁRVORE existe uma dependência entre não chaves:

CAIFOLHA depende de ESPÉCIE. 1. 2. 3. 4. cupuaçu castanheira bacuri cupuaçu 21 9 23 20 sim não não sim Árvore Espécie Altura Caifolha

Normalização 1FN -3FN

n Eliminamos a informação duplicada: <cupuaçu sim>

1. 2. 3. 4. cupuaçu castanheira bacuri cupuaçu 21 9 23 20 Árvore Espécie Altura

Espécie Caifolha cupuaçu castanheira bacuri sim não não

Referências

Documentos relacionados

Aqui o leitor encontrará idéias como: Distribuição de Combinações; Progressão Fatorial Especial; Produtos Invariáveis; Cálculo Variável; Pacotes de Classes

Renewable Energy Technologies TOPIC Type of scheme TRL EC Contribution. LCE7 – 2016/2017 Developing the next generation technologies of renewable electricity

Veremos essas questões - nos seus distintos propósitos - em Pierre Bayle, Eduard Gibbon, Leopoldo Von Rank, Jacques Rousseau, Lawrence Sterne, Basílio da Gama, Odorico Mendes,

Com foco no objetivo estabelecido, foi realizado o levantamento de dados para a compreensão e exposição, primeiramente, dos meios de comunicação utilizados no transporte

44- Para o desenvolvimento de um estudo epidemiológico envolve, pelo menos, seis etapas, nessa ordem: A- Escolha do delineamento adequado, segundo a viabilidade do estudo e

ao Piso (Janeiro a Dezembro) Comp..

A empresa sempre investiu em projetos de cunho social, buscando dar mais tranqüilidade para seus clientes e melhorar a qualidade de vida de todos.. Para que isso acontecesse,

1.1 Constitui objeto do presente Contrato o provimento, pela TBRASIL à EMPRESA, de Linhas Dedicadas sob a modalidade de exploração industrial, conforme as condições,