Técnicas de Modelação de Dados
Curso Profissional Técnico de Gestão e Programação de Sistemas de Informáticos
Programação e Sistemas de Informação
Módulo 13 – Técnicas de Modelação de Dados
Professora: Sandra Soares
Normalização
Normalização
A Normalização é um processo de análise que minimiza
redundância de dados e minimiza anomalias nas operações
de modificação dos dados. As relações que não satisfazem
certas propriedades – formas normais – são sucessivamente
decompostas em relações mais pequenas de modo a
satisfazerem as propriedades pretendidas (Codd 1972).
Normalização
Técnica para analisar dados
Características da normalização:
Permite derivar estruturas de dados, tornando-as flexíveis e sem
anomalias.
A teoria da normalização foi construída à volta do conceito das Formas
Normais.
Diz-se que uma estrutura está numa determinada forma normal se
satisfizer um conjunto de restrições.
Formas Normais
Uma estrutura diz-se não normalizada quando não se encontra na 1ª FN.
Restrições para uma estrutura se encontrar numa determinada forma
normal:
Uma estrutura está na 1ª Forma Normal se não houver grupos
repetitivos de atributo(s), isto é, cada atributo assume um só valor.
Uma estrutura está na 2ª Forma Normal se já estiver na 1ª FN e cada
atributo não chave depende inteiramente da chave.
Uma estrutura está na 3ª Forma Normal se já estiver na 2ª FN e não há
nenhuma dependência entre atributos não-chave.
Formas Normais
As formas normais são como que orientações para o desenho de
boas relações.
As formas normais existentes são:
1NF – Primeira forma normal
2NF – Segunda forma normal
3NF – Terceira forma normal
BCNF – Forma normal de Boyce–Codd
4NF – Quarta forma normal
5NF – Quinta forma normal
Nem sempre é necessário normalizar uma BD até à última
formal normal (por vezes, 3NF ou BCNF é suficiente).
Formas Normais
1ª Formal Normal (1FN)
Uma relação está na 1FN quando:
Todos os valores das colunas, numa tabela, são atómicos.
A normalização para a primeira forma normal elimina grupos
repetidos, pondo-os cada um numa tabela separada,
conectando-os com uma chave primária ou estrangeira;
Formas Normais
CodAluno Aluno Morada CodDisciplina Disciplina
001 André Espinho 001;002 Português;
Matemática
002 Ana Anta 003;004 Inglês;
História
003 Maria Ovar 005 Geografia
Esta tabela não respeita a 1FN, pois não tem uma estrutura bidimensional
correta: os campos referentes à disciplina são dados não atómicos;
CodAluno Aluno Morada CodDisciplina Disciplina
001 André Espinho 001 Português
001 André Espinho 002 Matemática
002 Ana Anta 003 Inglês
002 Ana Anta 004 História
003 Maria Ovar 005 Geografia
Esta tabela vai ao encontro da 1FN; porém, coloca um problema de redundância
de informação: para cada disciplina são repetidos os dados dos alunos.
Formas Normais
Dependências Funcionais
A compreensão da 2FN e da 3FN implica a perceção do conceito de
dependência funcional.
Quando um atributo ou conjunto de atributos identifica de modo
unívoco os registos de uma tabela, diz-se que determina
funcionalmente os outros atributos. Isso acontece sempre com a
chave primária de uma tabela. Mas também pode acontecer em
relação a outros campos.
Formas Normais
2ª Formal Normal (2FN)
Uma relação está na 2FN quando:
está na 1FN;
todos os atributos não-chave dependem da totalidade da
chave primária.
Formas Normais
Antes da 2FN
Aluno
CodAluno Aluno Morada CodDisciplina Disciplina
Depois da 2FN
Aluno Disciplina
CodAluno Aluno Morada CodDisciplina Disciplina
CodAluno CodDisciplina
Formas Normais
O exemplo seguinte não satisfaz a 2FN.
Porquê?
Qual a solução?
Formas Normais
3ª Formal Normal (3FN)
Uma relação está na 3FN quando:
está na 2FN;
Nenhum atributo não-chave depende por transitividade da
chave primária.
Formas Normais
Antes da 3FN
Aluno
CodAluno Aluno Morada CodCurso NomeCurso
Depois da 3FN
Aluno Curso
CodAluno Aluno Morada CodCurso CodCurso NomeCurso
Formas Normais
Porquê a 3ª Formal Normal?
Evita redundância e consequentemente evita inconsistência.
Diminui o espaço necessário para guardar a informação.
Formas Normais (Resumo)
Dados não-normalizados 1. Decompor as estruturas com elementos de
A tabela pode não ter uma dados repetitivos em estruturas independentes.
estrutura bidimensional correta.
Podem existir campos não atómicos.
1ª Forma Normal 2. Para as estruturas que têm chaves com mais
A tabela tem apenas dados atómicos. do que um elemento de dados, é necessário
Pode ocorrer redundância garantir que todos os outros elementos de
de informação. dados dependem da chave como um todo.
Dividir a estrutura, se necessário, para satis-
fazer esta condição.
2ª Forma Normal 3. Eliminar todas as dependências transitivas.
Cada campo não chave é Dividir a estrutura, se necessário, para atingir
funcionalmente dependente da esta condição.
Totalidade da chave.
3ª Forma Normal
Os campos não chave não dependem
Funcionalmente uns dos outros.