Normalização é a técnica que objetiva eliminar redundâncias de dados de arquivos/documentos. A motivação de seu uso deve-se a sistemas raramente documentados, necessidade de modelo E-R, manutenção, migração para outro tipo de banco de dados e integração com outros banco de dados.
Resumindo:
- Normalização: Processo que transforma um esquema de dados qualquer em um modelo relacional.
Links externos:
http://www.dsc.ufcg.edu.br/~pet/jornal/maio2011/materias/recapitulando.html
Modelo de documento para normalizar
Tabela Não Normalizada – ÑN
Uma tabela é dita não-normalizada quando a mesma possui tabelas aninhadas (embutidas).
Tabela não-normalizada = tabela que contém outras tabelas aninhadas ou grupos repetidos.
Representação da figura exemplo em lógico textual.
Proj ( CodProj,tipo,descr, ( CodEmp,Nome,Cat,Sal,DataIni,TempoAl ))
Notem o parênteses aninhados (embutidos) dentro de Proj.
Tabela na Primeira Forma Normal – 1FN
Uma tabela se encontra na primeira forma normal quando 1FN quando a mesma não contem tabelas aninhadas.
Primeira forma normal = quando ela não contém tabelas aninhadas ou grupos repetidos.
Representação da tabela na 1FN com decomposição de tabelas.
Proj ( CodProj, tipo, descr)
ProjeEmp( CodPro, CodEmp, Nome, Cat,Sal, DataIni, TempoAl )
Notar que a chave da tabela Proj (CodPro) agora faz parte da chave primária da tabela ProjEmp no caso uma chave concatenada.
Dependência Funcional
Para entender as próximas formas normais deve-se estudar o conceito de depêndencia funcional. Em poucas palavras é quando uma coluna determina outra e a outra depende funcionalmente da primeira, na figura abaixo temos os exemplos.
Segunda Forma Normal – 2FN
Dependência Funcional Parcial
A passagem a segunda forma normal deve-se eliminar um tipo de redundância de dados. Uma tabela encontra-se na segunda forma normal 2FN quando cada coluna não chave depende da chave primária completa, ou seja deve-se eliminar as dependências funcionais parciais.
Segunda forma normal = quando além de estar na 1FN também não contém dependências parciais.
Na figura o exemplo de uma dependência parcial.
Agora a passagem a 2FN
Proj ( CodProj, tipo, descr)
ProjeEmp( CodPro, CodEmp, DataIni, TempoAl )
Emp(CodEmp,Nome,Cat,Sal)
Notar que agora nesse tipo de dependência não há herança da chave primaria na outra tabela.
Terceira Forma Normal – 3FN
Para a passagem a terceira forma normal deve-se eliminar outro tipo de redundância de dados. Uma tabela encontra-se na terceira forma normal 3FN quando uma coluna não-chave primária depende funcionalmente de outra coluna não chave primária.
Terceira forma normal = quando além de estar na 2FN não contém dependências transitivas.
Proj ( CodProj, tipo, descr)
ProjeEmp ( CodPro, CodEmp, DataIni, TempoAl )
Emp (CodEmp,Nome,Cat)
Categoria (Cat,Sal)
F0ntes:
HEUSER, Carlos A. Projeto de banco de dados. 4.Ed.Porto Alegre: Sagra Luzatto 1998.
[1] http://www.dsc.ufcg.edu.br/~pet/jornal/maio2011/materias/recapitulando.html. Último acesso em 07/06/2016.
Ótimo conteúdo , bem demostrativo.