Você está na página 1de 7

Alex Sandro Valério

Banco de dados, Programação

Ir para conteúdo
 Home
 Sobre
← TDSI – Mapeamento objeto relacional (MOR) com JPA – ManyToMany
BD I – Exercícios de normalização →
BD I – Normalização (1FN, 2FN e 3FN)
Publicado em junho 16, 2014 por Alex Sandro Valério
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)

Você também pode gostar