Você está na página 1de 28

Normalização de Dados

Disciplina: Fundamentos de Banco de dados


Docente: Kelyn Schenatto
História...
• Muitos dos sistemas de informação ainda
utilizados atualmente foram desenvolvidos ao
longo dos últimos 20 anos e não utilizam
banco de dados relacionais, sendo chamados
de sistemas legados (HEUSER, 2009).
História...
• Os dados desses sistemas estão armazenados
em arquivos de linguagens de terceira
geração, como COBOL ou Basic, ou então em
banco de dados da era pré-relacional.
Raramente, os arquivos destes sistemas estão
documentados através de modelos
conceituais (HEUSER, 2009).
História...
• Também existem bancos de dados relacionais
que não possuem documentação na forma de
um modelo conceitual.
Normalização de dados
• Montagem do Modelo Entidade
Relacionamento considerando outro ponto de
vista;

• A partir de documentos, aplicando regras


previstas no processo de normalização é
gerado o Modelo de Dados.
Utilização
• Geração de um BD relacional a partir de
formulários, fichas, planilhas, etc;
• Substituição de um BD não relacional pelo
modelo relacional;
• Validação de um BD relacional construído;
• Atualização da documentação de um BD que
passou por alterações;
• Geração de documentação de um BD que foi
desenvolvido de forma empírica.
Teoria da normalização
• A teoria da normalização é expressa através
de um conjunto de Formas Normais, que
otimizam a estrutura e o conteúdo das
relações entre as entidades.

• O conceito de normalização foi introduzido


por Edgar F. Codd em 1970.
Normalização de dados
• Normalização de dados é 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.

• Critérios de adequação de tabelas.


Anomalias de inclusão
• Ao ser incluído um novo cliente ele precisa
estar relacionado a uma venda;
• Não se pode inserir uma nova peça no BD sem
que se tenha um pedido.

nomeC CPF endereco fone codP nomeP Vunit qtd total


Zé 111 ABC 123 A Lápis 0,50 2 1,00
Ana 222 XYZ 456 B Caneta 1,00 3 3,00
João 333 XPT 789 C Régua 1,00 2 2,00
Pedro 444 KZZ Null A Lápis 0,50 20 10,00
Anomalias de exclusão
• A exclusão de uma informação causa a perda
de outra informação;
• Ao ser excluído um cliente os dados referentes
às suas compras serão perdidos;
• Ao ser excluída uma venda os dados do
produto também são perdidos;
nomeC CPF endereco fone codP nomeP Vunit qtd total
Zé 111 ABC 123 A Lápis 0,50 2 1,00
Ana 222 XYZ 456 B Caneta 1,00 3 3,00
João 333 XPT 789 C Régua 1,00 2 2,00
Pedro 444 KZZ Null A Lápis 0,50 20 10,00
Anomalias de alteração
• Uma mudança na descrição da peça A requer
várias mudanças;
• Se for alterado o preço do produto eu perco o
histórico dele.

nomeC CPF endereco fone codP nomeP Vunit qtd total


Zé 111 ABC 123 A Lápis 0,50 2 1,00
Ana 222 XYZ 456 B Caneta 1,00 3 3,00
João 333 XPT 789 C Régua 1,00 2 2,00
Pedro 444 KZZ Null A Lápis 0,50 20 10,00
Objetivos
• A normalização tem a função de analisar
problemas e organizar as tabelas de forma
que a sua estrutura seja simples, relacional e
estável;

• Evitar a perda e a repetição de informações;

• Atingir uma forma de representação


adequada para o que se deseja armazenar.
Objetivos
• Reagrupar informações de forma a eliminar a
redundância de dados;

• Garantir a integridade, evitando que


informações desnecessárias sejam inseridas;

• Permitir a obtenção de um Modelo Entidade


Relacionamento confiável e integro.
Benefícios
• Permite um processo de engenharia reversa
de arquivos, como documentos, arquivos
manuais, arquivos convencionais em um
computador ou banco de dados gerenciados
por SGBD não-relacional.
Benefícios
• Armazenamento consistente;
• Eficiente acesso aos dados em bancos de
dados relacionais;
• Esses passos reduzem a redundância de dados
e as chances dos dados se tornarem
inconsistentes.
Normalizando dados...
• A normalização é normalmente utilizada para
projetar um BD, partindo de um documento
existente, considerando-o como sendo uma
tabela única, e aplicando-se as regras.

• Também pode ser utilizada para validar um


modelo criado.
Formas normais
• Formas normais são regras de simplificação e
adequação de tabelas.

• Embora existam cinco formas normais, a


maioria dos autores afirma que as três
primeiras são suficientes para elaboração do
modelo de dados.
Formas normais - Regras
• Para aplicar a normalização de dados é necessário
considerar a sequência das formas normais;

• Inicialmente, realiza-se a definição de todos os


atributos que o documento possui, registrando que
eles são tidos como atributos da entidade principal;

• Atribui-se um a chave primária para entidade


principal.
Nota Fiscal
1ª Forma Normal (1FN)
• Situações que nos deparamos com algumas
informações que se repetem dentro de uma
única linha.

• A 1FN diz que cada ocorrência da chave primária


deve corresponder a uma e somente uma
informação de cada atributo, ou seja, a entidade
não deve conter atributos repetidos, ou ainda, os
atributos não-chave deverão ser
atômicos(únicos).
1ª Forma Normal (1FN)
• Ao observar que certos atributos não-chave
não são atômicos, esses atributos deverão ser
decompostos em uma nova entidade.

• Nas novas entidades criadas, deve-se manter


a chave primária da entidade original ( o que
mantém o relacionamento entre elas), como
também o conjunto de atributos que se
repetem.
1ª Forma Normal (1FN)
• Importante: As tabelas que saem na 1FN são
tabelas associativas.
2ª Forma Normal (2FN)
• Elimina redundância de dados;

• Para estar na segunda forma normal uma


entidade deve obrigatoriamente estar na 1FN;

• Na 2FN devemos observar se alguma entidade


possui chave primária concatenada (composta), e
para aquelas que satisfazerem essa condição,
analisar se existe algum atributo ou conjunto de
atributos com dependência parcial em relação a
chave primária concatenada.
2ª Forma Normal (2FN)
• Na 2FN as entidades em observação geram
outras entidades, que herdarão a chave parcial e
todos os atributos que dependem da chave
parcial.

• Com base na necessidade de armazenamento de


históricos, na aplicação da 2FN também devemos
observar, para cada entidade definida, quais de
seus atributos vão se transformar com o tempo e
duplica-los nas duas entidades.
3ª Forma Normal (3FN)
• A 3FN diz que todo atributo precisa estar na
segunda forma normal, e todos os atributos
que não são chave, não podem depender de
outros atributos que também não são chave.
3ª Forma Normal (3FN)
• Deve-se ainda verificar se o valor de um atributo
pode se repetir em muitos registros, sendo que
neste caso, é necessário a inclusão de uma nova
entidade. Nesse caso deve-se adicionar o código
da nova entidade nas entidades em que ele for
dependente, para realizar o relacionamento.

• Entidades na 3FN também não podem conter


atributos que sejam o resultado de algum cálculo
de outro atributo, visando manter a consistência
dos dados.
Referências
• MACHADO, F. N. R.; ABREU, M. P. Projeto de
Banco de Dados: uma visão prática. Editora
Érica,1995, Cap.12, Normalização.

• HEUSER, C. A. Projeto de banco de dados.


Editora Bookman, 2009.