NORMALIZAÇÃOadao/AULA03BD3B2017f.pdfcolunas que não são chave primária dependem totalmente da...

Preview:

Citation preview

1

NORMALIZAÇÃO

Adão de Melo Neto

CONVERSÃO

MER PARA O RELACIONAL

2

SEGUINDO ESTE PROCEDIMENTO AS TABELAS ESTARÃO NORMALIZADAS

3

MOTIVAÇÃO – TABELAS BEM ESTRUTURADAS

Tabelas com o mínimo de mínimo de redundância, o que permitem o usuário atualizar uma tabela (inserir, modificar e apagar linhas em tabelas), sem erros e inconsistências.

Redundâncias e uma tabela pode resultar em erros e inconsistências quando se tenta atualizar os dados na tabela.

4

QUAL DAS TABELAS ESTA BEM ESTRUTURADA

Qual das duas tabelas apresenta uma relação bem estruturada?

5

NORMALIZAÇÃO A tabela Empregado_2 não está bem estruturada (contém redundâncias) e

portanto pode ser dividida em duas tabelas: Empregado e Curso.

O conceito de Normalização tem por base esta explicação e a capacidade de gerar relações bem estruturadas.

6

NORMALIZAÇÃO e SUAS ETAPAS

A Normalização é uma técnica ligada ao modelo relacional, que pretende definir um conjunto de tabelas prontas para serem implementadas numa base de dados relacional.

Quando sigo o passo a passo da conversão do DER em tabelas as mesmas ficarão NORMALIZADAS

PASSAGEM PARA

1ª FORMA NORMAL(remover grupos repetidos)

8

1ª FORMA NORMAL(remover grupos repetidos)

Uma tabela está na 1ª Forma Normal quando se todas as suas colunas são elementares (atômicas)

Na TABELA, os clientes possuem RUA, CEP, BAIRRO e estas informações estão na mesma coluna tabela não esta na 1ª FN.

Para normalizar, colocar cada informação em coluna diferente

CLIENTE

CLIENTE (ALTERAÇÃO 1)

9

A tabela ainda não está na primeira forma normal, pois há clientes com mais de um telefone e os valores estão em uma mesma célula.

PROBLEMA: Imagine um campo telefone que permita a entrada de mais de um valor

(dois números de telefones), por exemplo. Isto traria problema na busca de um dos valores , por exemplo.

CLIENTE – ALTERAÇÃO 1

1ª FORMA NORMAL(remover grupos repetidos)

10

1ª FORMA NORMAL (REGRA PRÁTICA)

1. Identificar a chave primária

2. Identificar o grupo repetitivo e removê-lo da tabela

3. Criar uma nova tabela com a chave primária da tabela anterior e o grupo repetitivo.

EXERCÍCIO - REALIZAR PASSAGEM PARA 1ª FN

1. Identificar a chave primária

2. Identificar o grupo repetitivo e removê-lo da tabela

3. Criar uma nova tabela com a chave primária da tabela anterior e o grupo repetitivo.

EXERCÍCIO - REALIZAR PASSAGEM PARA 1ª FN

GRUPO REPETITIVO

SOLUÇÃO – PASSAGEM PARA 1ª FN

14

DEPENDÊNCIAS FUNCIONAIS

A normalização é baseada na análise das dependências funcionais, ou seja, uma relação entre dois campos da tabela.

15

DEPENDÊNCIAS FUNCIONAIS

A normalização é baseada na análise das dependências funcionais, ou seja, uma relação entre dois campos da tabela.

O MESMO VALOR EM EMP_ID GERA O MESMO VALOR EM NOME

16

2ª FORMA NORMAL

(remover dependências parciais)

Uma tabela está na 2ª Forma Normal quando estiver na 1ª FN e as suas colunas que não são chave primária dependem totalmente da chave primária (dependente de toda a chave e não apenas de parte dela).

Codigo_produto Produto (VERDADE)• O mesmo valor em código do produto gera o mesmo valor em produto.• O valor em produto depende do valor em código de produto

Codigo_produto Valor_unit (VERDADE)• O mesmo valor em código_produto gera o mesmo valor em Valor_Unit.• O valor em Valor_Unit depende do valor em código_produtoN_pedido Produto (INVERDADE) e portanto não está na 2ª FN. • O mesmo valor em N_pedido não gera o mesmo valor em produto.N_pedido Valor_unit(INVERDADE) e portanto não está na 2ª FN. • O mesmo valor em N_pedido não gera o mesmo valor em Valor_Unit.

N_pedido, Código_produto Quantidade, Subtotal (VERDADE)

PASSAGEM PARA

2ª FORMA NORMAL(remover dependências parciais)

18

2ª FORMA NORMAL (REGRA PRÁTICA)

Identificar as colunas que não são funcionalmente dependentes de toda a chave primária (produto e Valor_Unit);

Remover da tabela todos esses atributos identificados e criar uma nova tabela com eles.

A chave primária da nova entidade será o atributo do qual os atributos removidos são funcionalmente dependentes (código_produto).

SOLUÇÃO – PASSAGEM PARA 2ª FN

PODE SER OBSERVADO QUE:CodEmp NomeCodEmp CatCodEmp SalCodProj,CodEmp DataIni, TempAl

SOLUÇÃO– PASSAGEM PARA 2ª FN

NÃO ESTÁ NA SEGUNDA FORMA NORMAL

SOLUÇÃO– PASSAGEM PARA 2ª FN

SOLUÇÃO– PASSAGEM PARA 2ª FN

PASSAGEM PARA

3ª FORMA NORMAL(remover dependências transitivas)

3ª FORMA NORMAL (REGRA PRÁTICA)

Remover as dependências transitivas

RESUMO:

Recommended