Anda di halaman 1dari 7

Normalização

Normalização
● Processo que permite obter um modelo
relacional, eliminando redundâncias de dados
● Baseia-se no conceito de forma normal:
– Regra que deve ser obedecida por uma tabela para
que esta seja considerada “bem projetada”
● As formas normais a serem consideradas
dependem da necessidade do projeto, e da
visão do projetista: 1FN, 2FN, 3FN, 4FN, 5FN
Tabela não normalizada
CodProj Tipo Descr Emp
CodEmp Nome Cat Sal DataIni TempAlo
LSC001 NovoDesenv Sistema 2146 Joao A1 4 1/11/91 24
de 3145 Silvio A2 4 2/10/91 24
Estoque
6126 Jose B1 9 3/10/92 18
1214 Carlos A2 4 4/10/92 18
8191 Mario A1 4 1/11/92 12
PAG02 Manutencao Sistema 8191 Mario A1 4 1/05/93 12
de RH 4112 Joao A2 4 4/01/91 24
6126 Jose B1 9 1/11/92 12

Tabela aninhada: Proj (CodProj, Tipo, Descr,


(CodEmp, Nome, Cat, Sal, DataIni, TempAlo))
1º forma normal (1FN)
● Tabela não contém tabelas aninhadas
● Para transformar uma tabela não normalizada
em um esquema na 1FN:
– Construir uma única tabela com redundância de
dados:
ProjEmp
– (CodProj, Tipo, Descr, CodEmp, Nome, Cat, Sal, DataIni, TempAlo)

– Construir uma tabela para cada tabela aninhada:

Proj (CodProj, Tipo, Descr)

ProEmp (CodProj, CodEmp, Nome, Cat, Sal, DataIni, TempAlo)


2º forma normal (2FN)
● Tabela está na 1FN e não contém
dependências parciais:
– Dependência parcial = uma coluna da tabela
depende apenas de parte de uma chave primária
composta

ProjEmp (CodProj, CodEmp, Nome, Cat, Sal, DataIni, TempAlo)

● Uma tabela que possui apenas uma coluna


como chave primária não contém
dependências parciais
2º forma normal (2FN)
● Para colocar a tabela ProjEmp na 2FN:

Proj (CodProj, Tipo, Descr)

ProjEmp (CodProj, CodEmp, DataIni, TempAlo)

Emp (CodEmp, Nome, Cat, Sal)


3º forma normal (3FN)
● A tabela está na 2FN, e não contém
dependências transitivas (ou indiretas):
– Dependência transitiva: uma coluna, além de
depender da chave primária da tabela, depende de
outra coluna ou conjunto de colunas da tabela
● Para colocar a tabela Emp na 3FN:
Proj (CodProj, Tipo, Descr)
ProjEmp (CodProj, CodEmp, DataIni, TempAlo)
3FN
2FN Emp (CodEmp, Nome, Cat)
Emp (CodEmp, Nome, Cat, Sal)
Cat (Cat, Sal)

Anda mungkin juga menyukai