Upload
others
View
3
Download
0
Embed Size (px)
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: