normalização de dados prof. christiano lima santos

29
Normalização de Dados Prof. Christiano Lima Santos

Upload: internet

Post on 22-Apr-2015

107 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Normalização de Dados Prof. Christiano Lima Santos

Normalização de DadosProf. Christiano Lima Santos

Page 2: Normalização de Dados Prof. Christiano Lima Santos

Sumário

O que é?Por quê?BenefíciosFormas NormaisExercícios

Page 3: Normalização de Dados Prof. Christiano Lima Santos

O que é?

Conjunto de passos em um projeto de banco de dados visando o armazenamento consistente e acesso eficiente aos dados;

Tais passos reduzem a redundância dos dados e as chances dos dados se tornarem inconsistentes.

Page 4: Normalização de Dados Prof. Christiano Lima Santos

Por quê?

Um banco de dados não-normalizado pode apresentar:Redundância;Dependência incorreta entre os dados;Maior complexidade nas consultas SQL.

Page 5: Normalização de Dados Prof. Christiano Lima Santos

Benefícios

Elimina a necessidade de redundância dos dados;

Reduz os riscos de inconsistência; Evita anomalias de atualização; Facilita a manipulação dos dados por meio

de uma linguagem de consulta (SQL);

Page 6: Normalização de Dados Prof. Christiano Lima Santos

Conceitos

Atributo principal: é um atributo da relação R que é membro de alguma chave candidata de R.

Page 7: Normalização de Dados Prof. Christiano Lima Santos

Formas Normais

Uma tabela num banco de dados relacional está numa certa forma normal se satisfaz as condições impostas pela mesma;

Edgar F. Codd definiu originalmente três formas normais, mas existem hoje outras formas normais geralmente aceitas.

Page 8: Normalização de Dados Prof. Christiano Lima Santos

Formas Normais Formas normais mais comuns:

Primeira Forma Normal (ou 1FN); Segunda Forma Normal (ou 2FN); Terceira Forma Normal (ou 3FN); Forma Normal de Boyce-Codd (ou FNBC); Quarta Forma Normal (ou 4FN); Quinta Forma Normal (ou 5FN); Forma Normal Chave-Domínio (FNCD).

Para efeitos práticos, considera-se que a base de dados está normalizada se aderir à terceira forma normal.

Page 9: Normalização de Dados Prof. Christiano Lima Santos

Primeira Forma Normal (1FN)

Uma relação está na 1FN quando (três possíveis definições): Todos os atributos baseiam-se em um domínio

simples, não contendo grupos ou valores repetidos; Não possui atributos multivalorados ou compostos; Todos os seus atributos são atômicos.

Ela reprova “relações dentro de relações”.

Page 10: Normalização de Dados Prof. Christiano Lima Santos

Primeira Forma Normal (1FN)

Tabela Não-1FN

Page 11: Normalização de Dados Prof. Christiano Lima Santos

Primeira Forma Normal (1FN)

Tabela Não-1FN Tabela 1FN

Page 12: Normalização de Dados Prof. Christiano Lima Santos

Primeira Forma Normal (1FN)

Tabela Não-1FN

VendaID ProdutoID___Nome___PrecoUnitario___Qtd

Total

1 1, Sabão em pó, 2.50, 32, Camisa, 1.00, 5

12.50

2 1, Sabão em pó, 2.50, 14, Balde, 6.00, 2

14.50

3 5, Feijão (1kg), 10.00, 1 10.00

Page 13: Normalização de Dados Prof. Christiano Lima Santos

Primeira Forma Normal (1FN)

Tabela 1FNVendaI

DProdutoID ProdutoNo

mePrecoUnitari

oQtd Subtotal

1 1 Sabão em pó 2.50 3 7.50

1 2 Camisa 1.00 5 5.00

2 1 Sabão em pó 2.50 1 2.50

2 4 Balde 6.00 2 12.00

3 5 Feijão (1kg) 10.00 1 10.00

Page 14: Normalização de Dados Prof. Christiano Lima Santos

Primeira Forma Normal (1FN)

ProblemasRedundância;Anomalias de atualização.

Page 15: Normalização de Dados Prof. Christiano Lima Santos

Segunda Forma Normal (2FN)

Uma relação está na 2FN se: Estiver na 1FN; Cada atributo não principal for dependente da

chave primária inteira.

Se a tabela possui chave primária composta, se um atributo depende apenas de uma parte da chave primária, ele deve ser colocado em outra tabela.

Page 16: Normalização de Dados Prof. Christiano Lima Santos

Segunda Forma Normal (2FN)

Tabela Não-2FNVendaI

DProdutoID ProdutoNo

mePrecoUnitari

oQtd Subtotal

1 1 Sabão em pó 2.50 3 7.50

1 2 Camisa 1.00 5 5.00

2 1 Sabão em pó 2.50 1 2.50

2 4 Balde 6.00 2 12.00

3 5 Feijão (1kg) 10.00 1 10.00

Page 17: Normalização de Dados Prof. Christiano Lima Santos

Segunda Forma Normal (2FN)

Tabela 2FNVenda

IDProdutoI

DQtd PrecoUnitar

ioSubtot

al

1 1 3 2.50 7.50

1 2 5 1.00 5.00

2 1 1 2.50 2.50

2 4 2 6.00 12.00

3 5 1 10.00 10.00

ProdutoID ProdutoNome

1 Sabão em pó

2 Camisa

1 Sabão em pó

4 Balde

5 Feijão (1kg)

Page 18: Normalização de Dados Prof. Christiano Lima Santos

Terceira Forma Normal (3FN)

Uma relação R está na 3FN se: Estiver na 2FN; Cada atributo não principal de R não possui

dependência transitiva da chave primária.

Page 19: Normalização de Dados Prof. Christiano Lima Santos

Terceira Forma Normal (3FN)

Tabela Não-3FNVenda

IDProdutoI

DQtd PrecoUnitar

ioSubtot

al

1 1 3 2.50 7.50

1 2 5 1.00 5.00

2 1 1 2.50 2.50

2 4 2 6.00 12.00

3 5 1 10.00 10.00

Page 20: Normalização de Dados Prof. Christiano Lima Santos

Terceira Forma Normal (3FN)

Tabela 3FNVenda

IDProdutoI

DQtd PrecoUnitar

io

1 1 3 2.50

1 2 5 1.00

2 1 1 2.50

2 4 2 6.00

3 5 1 10.00

Page 21: Normalização de Dados Prof. Christiano Lima Santos

Resumo das Três Primeiras FNForma Normal

Teste Solução (normalização)

Primeira (1FN)

Relação não deve ter atributos multivalorados ou relações aninhadas.

Formar novas relações para cada atributo multivalorado ou relação aninhada.

Segunda (2FN)

Para relações em que a chave primária contém múltiplos atributos, nenhum atributo não chave deverá ser funcionalmente dependente de uma parte da chave primária.

Decompor e montar uma nova relação para cada chave parcial com seu(s) atributo(s) dependente(s). Certificar-se de manter uma relação com a chave primária original e quaisquer atributos que sejam total e funcionalmente dependentes dela.

Terceira (3FN)

A relação não deve ter um atributo não chave determinado funcionalmente por outro atributo não chave (ou por um conjunto de atributos não chave). Ou seja, não deve haver dependência transitiva de um atributo não chave sobre a chave primária.

Decompor e montar uma relação que inclua o(s) atributo(s) não chave que determina(m) funcionalmente outro(s) atributo(s) não chave.

Page 22: Normalização de Dados Prof. Christiano Lima Santos

Forma Normal de Boyce-Codd (FNBC)

Uma relação R está na FNBC se:Estiver na 3FN;Toda vez que uma dependência funcional

não trivial X A se mantiver em R, então X é uma superchave de R.

Page 23: Normalização de Dados Prof. Christiano Lima Santos

Forma Normal de Boyce-Codd (FNBC)

Considere uma relação LOTES com as seguintes dependências: DF1: PropriedadeID {Cidade, Lote, Area}

DF2: {Cidade, Lote} {PropriedadeID, Area}

DF3: Area Cidade

Tal relação satisfaz 3FN, mas não é FNBC.

PropriedadeID

Cidade Lote Area

Page 24: Normalização de Dados Prof. Christiano Lima Santos

Forma Normal de Boyce-Codd (FNBC)

Relação após normalização (segundo FNBC):

O que aconteceu com as dependências DF1, DF2 e DF3?

PropriedadeID

Area Lote Area Cidade

Page 25: Normalização de Dados Prof. Christiano Lima Santos

Perguntas de Revisão

A que se refere o termo relação não-normalizada?

Defina cada forma normal aqui estudada; Como a Forma Normal de Boyce-Codd difere

da 3FN? Por que ela é considerada uma forma mais forte de 3FN?

Page 26: Normalização de Dados Prof. Christiano Lima Santos

Exercícios

Dada a relação SERVIDOR:

Quais formas normais ela satisfaz? Por quê? Que alterações são necessárias para que ela satisfaça as demais?

Nome CPF Dependentes Telefones EndereçoRua__Numero__Bairro

Anderson 001.001.001-01

{Adriana, Antonio}

{2222-2222} Gentil Tavares, 27, Inacio

Bruno 002.002.002-02

{Bianca} {3333-3333} Getulio Vargas, 12, Siqueira

Page 27: Normalização de Dados Prof. Christiano Lima Santos

Exercícios

Dada a relação MANUTENCAO:

Em que forma normal ela se encontra? Como alterá-la para satisfazer as demais?

ManutencaoID

Dia Bairro Rua

1 01/01/2014 Vila Velha Pereira Lobo

2 02/02/2014 Vila Nova José Machado

3 03/03/2014 Vila Mais Nova Ainda Guimarães Rosa

4 04/04/2014 Vila Qualquer Zaqueu Brandão

Page 28: Normalização de Dados Prof. Christiano Lima Santos

Exercícios

Dada a relação CONTROLE_BIBLIOTECA:

Em que forma normal ela se encontra? Como alterá-la para satisfazer as demais?

EmprestimoID

Livro Autores Aluno Matricula DataPedido

DataDevolucao

Page 29: Normalização de Dados Prof. Christiano Lima Santos

Bibliografia Recomendada

ELMASRI, Ramez; NAVATHE, Shamkant. Sistemas de Banco de Dados. 6ª ed. São Paulo : Pearson Addison-Wesley, 2011.