O documento descreve os conceitos de normalização de bases de dados, que envolve organizar campos e tabelas para minimizar redundância e dependência de dados. Explica as três principais regras de normalização para eliminar grupos repetitivos, dados redundantes e campos não dependentes de chaves primárias. Brevemente menciona regras adicionais e o processo de desnormalização em certas condições.
02. Informática - Windows 10 apostila completa.pdf
Normalização BD
1. Bases de dados: Normalização
Carlos Santos
LabMM 4 - NTC - DeCA - UA
Aula 09, 15-03-2012
2. Normalização
Processo de organizar os campos e tabelas de uma base de dados
relacional de modo a minimizar a redundância e dependência dos dados
• é essencial para que se possa tirar partido do SQL
Objetivos:
• libertar a BD de anomalias de edição
• minimizar necessidades de redesenho da BD quando é necessário
extender a sua implementação
• tornar o modelo de dados mais informativo para os utilizadores
• evitar tendência do modelo relativamente a um determinado padrão de
queries
(http://en.wikipedia.org/wiki/Database_normalization)
3. Primeira regra de normalização (First normal form)
Eliminação de grupos repetitivos:
• A primeira regra de normalização envolve a eliminação de grupos
repetitivos dentro de um qualquer campo.
ENCOMENDAS
NrEncom DataEncomenda DataPagamento Produto Quantidade
Mesa de Sala 1
1 12-09-2000 12-09-2000 Sofá 2
Cadeira 12
Cadeira 2
2 30-08-2001 11-12-2001
Aparador 1
3 21-01-2000 24-01-2000 Sofá 3
4. Segunda regra de normalização
(Second normal form)
Eliminação de dados redundantes (na tabela):
• a primeira regra de normalização tem que ser respeitada;
• todos os campos que não fazem parte da chave primária são
funcionalmente dependentes da totalidade da chave primária; isto é, não
podem existir campos que são dependentes apenas de uma parte da
chave primária.
ENCOM_PROD
NrEncom ID_Produto Produto Quantidade
1 1 Cadeira 12
1 2 Mesa de Sala 1
2 3 Aparador 2
• Neste caso, o campo “Produto” é dependente do campo “ID_Produto”
que é apenas uma parte da chave primária, logo a tabela não se encontra
de acordo com a segunda regra de normalização.
5. Terceira regra de normalização (Third normal form)
Eliminação de campos que não são dependente das chaves:
• a segunda regra de normalização tem que ser respeitada;
• todos os campos que não são chaves têm que ser independentes entre si.
Ou seja, para os campos que não são chaves, o valor de uma dado
campo não pode depender do valor de outro campo.
VENDEDOR
NrVendedor Nome Apelido CodPostal Localidade
1 João Tomás 3810 Aveiro
1 Maria Costa 3830 Ílhavo
2 Manuel Ribeiro 1000 Lisboa
• Neste caso, o campo “Localidade” é dependente do campo “CodPostal”,
logo a tabela não se encontra de acordo com a terceira regra de
normalização.
• Por vezes, em situações práticas, pode ser conveniente não aplicar
totalmente esta regra de normalização....
• Campos calculados também são “proibidos” por esta regra.
6. Regras de normalização
Mais regras de normalização:
• Boyce/Codd Normal Form
• Quarta regra de normalização (Fourth normal form)
• Quinta regra de normalização (Fifth normal form)
• Domain Key/Normal Form
• ...
Estas regras raramente têm que ser aplicadas porque só fazem sentido
em situações muito complexas que raramente são encontradas no mundo
real.