Banco de Dados I - Aula 09 - Normalização de Dados

35
# Banco de Dados # Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais) Prof. Leinylson Fontinele Pereira

Transcript of Banco de Dados I - Aula 09 - Normalização de Dados

Page 1: Banco de Dados I - Aula 09 - Normalização de Dados

# Banco de Dados #Aula 05 - MODELAGEM DE DADOS

(Normalização de Dados e Formas Normais)

Prof. Leinylson Fontinele Pereira

Page 2: Banco de Dados I - Aula 09 - Normalização de Dados

Na aula anterior...

MODELAGEM DE DADOS# Modelo Lógico

11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 3: Banco de Dados I - Aula 09 - Normalização de Dados

Introdução

11:14 3 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 4: Banco de Dados I - Aula 09 - Normalização de Dados

O que vamos aprender?

MODELAGEM DE DADOS# Normalização de Dados

# Formas Normais

11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 5: Banco de Dados I - Aula 09 - Normalização de Dados

Vamos começar?

11:14 5 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 6: Banco de Dados I - Aula 09 - Normalização de Dados

Normalização

11:14

Conceito introduzido em 1970 por E. F. Codd (1FN)

Processo matemático formal fundamentado na teoriados conjuntos

Aplica uma série de regras sobre as tabelas de umbanco de dados para verificar se estas foramcorretamente projetadas

Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 7: Banco de Dados I - Aula 09 - Normalização de Dados

Normalização

11:14

Definição# Processo formal e passo a passo que examina os atributos de uma entidade, com o objetivo

de evitar anomalias observadas na inclusão, exclusão e alteração de registros.

Regra de ouro# No Modelo Relacional de Dados “não devemos misturar assuntos em uma mesma Tabela”

# Exemplo: na Tabela Clientes devemos colocar somente campos relacionados com o assuntoClientes. Não devemos misturar campos relacionados com outros assuntos, tais como Pedidos,Produtos, etc.

# Essa “Mistura de Assuntos” em uma mesma tabela acaba por gerar repetição desnecessáriados dados bem como inconsistência dos dados.

Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 8: Banco de Dados I - Aula 09 - Normalização de Dados

Processo de Normalização

11:14

O processo de normalização passa pelas seguintes etapas:O documento ou arquivo a ser normalizado é representado na forma de uma tabela

não normalizada;

A tabela vai sendo decomposta em tabelas normalizadas ("bem projetadas"). A normalização dá-se em três passos principais, passando por três formas normais;

Uma forma normal é um conjunto de regras que uma tabela deve obedecer. Estas regras destinam-se a eliminar as redundâncias de dados.

Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 9: Banco de Dados I - Aula 09 - Normalização de Dados

Primeira Forma Normal

11:14 9 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 10: Banco de Dados I - Aula 09 - Normalização de Dados

1FN – Primeira Forma Normal

11:14

Uma relação estará na primeira forma normal (1FN), senão houver grupo de dados repetidos, isto é, se todos osvalores forem únicos.

Em outras palavras, a primeira forma normal não admiterepetições ou campos que tenha mais que um valor

Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 11: Banco de Dados I - Aula 09 - Normalização de Dados

Passagem para a Primeira Forma Normal (1FN)

11:14

Procedimentos:

a) Identificar a chave primária da entidade

b) Identificar o grupo repetitivo e removê-lo da entidade

c) Criar uma nova entidade com a chave primária da entidadeanterior e o grupo repetitivo

Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 12: Banco de Dados I - Aula 09 - Normalização de Dados

Passagem para a Primeira Forma Normal (1FN)

11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Cria-se uma nova relação Turmas

Page 13: Banco de Dados I - Aula 09 - Normalização de Dados

1FN – Primeira Forma Normal

11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 14: Banco de Dados I - Aula 09 - Normalização de Dados

1FN – Primeira Forma Normal

11:14

Mesmo com o ajuste acima, a tabela ainda não está na primeira formanormal, pois há clientes com mais de um telefone e os valores estão em umamesma célula. Para normalizar será necessário criar uma nova tabela paraarmazenar os números dos telefones e o campo-chave da tabela cliente.

Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 15: Banco de Dados I - Aula 09 - Normalização de Dados

1FN – Primeira Forma Normal

11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 16: Banco de Dados I - Aula 09 - Normalização de Dados

Segunda Forma Normal

11:14 16 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 17: Banco de Dados I - Aula 09 - Normalização de Dados

2FN – Segunda Forma Normal

11:14

Uma relação está na 2FN se, e somente se, estiver na1FN e cada atributo não-chave for dependente da chaveprimária inteira, isto é, cada atributo não-chave nãopoderá ser dependente de apenas parte da chave.

No caso de tabelas com chave primária composta, se umatributo depende apenas de uma parte da chave primária,então esse atributo deve ser colocado em outra tabela.

Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 18: Banco de Dados I - Aula 09 - Normalização de Dados

2FN – Segunda Forma Normal

11:14

Criar uma nova relação Turma/Professor

Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 19: Banco de Dados I - Aula 09 - Normalização de Dados

2FN – Segunda Forma Normal

11:14

Procedimentos:a) Identificar os atributos que não são funcionalmentedependentes de toda a chave primária

b) Remover da entidade todos esses atributos identificadose criar uma nova entidade com eles

Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 20: Banco de Dados I - Aula 09 - Normalização de Dados

2FN – Segunda Forma Normal

11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 21: Banco de Dados I - Aula 09 - Normalização de Dados

2FN – Segunda Forma Normal

11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 22: Banco de Dados I - Aula 09 - Normalização de Dados

Terceira Forma Normal

11:14 22 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 23: Banco de Dados I - Aula 09 - Normalização de Dados

3FN – Terceira Forma Normal

11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Uma tabela está na Terceira Forma Normal 3FN se elaestiver na 2FN e se nenhuma coluna não chave dependerde outra coluna não-chave.

Na terceira forma normal temos de eliminar aqueles camposque podem ser obtidos pela equação de outros campos damesma tabela.

Page 24: Banco de Dados I - Aula 09 - Normalização de Dados

3FN – Terceira Forma Normal

11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 25: Banco de Dados I - Aula 09 - Normalização de Dados

3FN – Terceira Forma Normal

11:14

Procedimentos:

a) Identificar todos os atributos que são funcionalmentedependentes de outros atributos não chave

b) Removê-los

Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 26: Banco de Dados I - Aula 09 - Normalização de Dados

3FN – Terceira Forma Normal

11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 27: Banco de Dados I - Aula 09 - Normalização de Dados

3FN – Terceira Forma Normal

11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 28: Banco de Dados I - Aula 09 - Normalização de Dados

É só isso?!

11:14 28 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 29: Banco de Dados I - Aula 09 - Normalização de Dados

Formas Normais Complementares

11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Forma normal de Boyce/Codd (FNBC)

Quarta forma normal (4FN)

Quinta forma normal (5FN)

Page 30: Banco de Dados I - Aula 09 - Normalização de Dados

Vantagens

11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Estruturas de dados mais estáveis Elimina a redundância Obtêm-se um modelo de dados mais natural e mais simples Evitam-se os efeitos laterais da alteração Evitam-se os efeitos laterais da inserção Evitam-se os efeitos laterais da remoção Facilita a exploração e manutenção de ficheiros

Page 31: Banco de Dados I - Aula 09 - Normalização de Dados

Desvantagens

11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Favorece a proliferação no nº de tabelas

Favorece a fragmentação exagerada

Perigoso de seguir cegamente

Page 32: Banco de Dados I - Aula 09 - Normalização de Dados

Material: https://sites.google.com/site/leinylsonnassau

11:14

Aula baseada no material do:

Prof. Gustavo Zimmermann

Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 33: Banco de Dados I - Aula 09 - Normalização de Dados

Nesta aula aprendemos...

MODELAGEM DE DADOS# Normalização de Dados

# Formas Normais

11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 34: Banco de Dados I - Aula 09 - Normalização de Dados

Na próxima aula veremos...

MODELAGEM DE DADOS# Modelo Físico

LINGUAGEM DE CONSULTA SQL# Comandos DDL

11:14 Banco de Dados II: Aula 05 - MODELAGEM DE DADOS (Normalização de Dados e Formas Normais)

Page 35: Banco de Dados I - Aula 09 - Normalização de Dados

Alguma Dúvida?

11:14

Até a próxima aula...

[email protected]