Buscar

NORMALIZAÇÃO

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

NORMALIZAÇÃO 
O que é e para que serve? 
Normalização é uma ferramenta usada no projeto lógico que serve para reestruturar tabelas e 
atributos, reduzindo assim redundâncias e permitindo o correto crescimento do banco de dados. 
Por meio dela que bancos com muita movimentação garantem sua integridade após remoção, 
inserção e alteração dos dados. 
O processo de normalização conta com 6 formas: 
 1° Forma Normal 
 2° Forma Normal 
 3° Forma Normal 
 FNBC (Forma normal de Boyce e Codd) 
 4° Forma Normal 
 5° Forma Normal 
A partir da 3° forma normal diz-se que o banco de dados já se encontra normalizado. A FNBC, a 
4FN e a 5FN são usadas para refinar ainda mais o banco. No entanto alguns projetos decidem parar 
na 3FN pois as outras formas, dependendo da situação, podem exigir um pouco mais de 
processamento. Nesse post, vamos abordar apenas as 3 primeiras, porque são as mais usadas. As 
outras são usadas em casos bem específicos… deixaremos para um próximo post. 
Problemas de tabelas não normalizadas 
 
Problemas de Inserção 
o Só é possível inserir um cliente se o mesmo adquirir um produto 
o Só é possível inserir um produto se algum cliente adquiri-lo 
Problemas de alteração 
o Para atualizar o telefone do cliente todos os outros registros deverão ser atualizados. 
o Para atualizar o preço do produto todos os registros desse mesmo produto deverão ser 
atualizados. 
Problemas de exclusão 
o Se os produtos adquiridos por algum cliente forem excluídos, os dados cadastrais do 
mesmo se perderão. 
Formas normais e suas aplicações 
1FN → 2FN → 3FN 
As formas normais são sequenciais, ou seja, se um banco se encontra na terceira forma normal, 
isso também significa que o mesmo está na segunda e também na primeira. Por isso devemos 
sempre começar a normalização pela primeira forma normal, para que não hajam problemas mais 
a frente na nossa normalização. 
Primeira Forma Normal 
Podemos dizer que uma tabela se encontra na Primeira Forma Normal se: 
o Possui chave primária; 
o Não possui grupos repetitivos; 
o Todos os seus atributos são atômicos, ou seja, não precisa ser decomposto. 
 
Para chegar a primeira forma normal devemos: Determinar o atributo que possui característica de 
chave primária, tornar todos atributos atômicos, transformar o grupo repetitivo em uma nova 
tabela, levando a chave primária da tabela na qual estava, para manter a ligação entre a tabela 
criada e a original. Depois aplicamos também sobre essa nova tabela a primeira forma normal. 
Aplicação: 
Tabela (cod_cliente, nome_cliente, tel1, tel2, endereco, cod_produto, nome_produto, preco, 
quantidade) ✗ 
Cliente (cod_cliente, nome_cliente, tel1, tel2, rua, bairro, cidade, estado) ✓ 
Produto (cod_cliente, cod_produto, nome_produto, preco, quantidade) ✓ 
Segunda Forma Normal 
Podemos dizer que uma tabela se encontra na Segunda Forma Normal se: 
o Está na primeira forma normal; 
o Não possui dependências parciais da chave primária; 
Para chegar a segunda forma normal verifique se a chave primária dessa tabela é composta ou 
simples. Se for simples, já se encontra na segunda forma normal. Se for composta, verifique se 
todos os atributos da relação dependem de todos os atributos que compõem a chave primária. Por 
exemplo, se a chave primária é composta dos atributos A , B e o campo C em questão depende 
somente de B. Se sim, já está na segunda forma normal. Se não, pegue o atributo (C) que 
depende parcialmente da chave primária e crie uma nova tabela. Essa tabela terá como chave 
primária o campo da chave primária original que determinou o campo C (nesse exemplo é o B) e 
adicione como atributo simples da relação o C. Veja o exemplo abaixo: (Obs: ➙ significa 
“determina”, ou seja, define, indica, aponta) 
Aplicação: 
Cliente (cod_cliente, nome_cliente, tel1, tel2, rua, bairro, cidade, estado) ✓ (não possui chave 
primária composta) 
Produto (cod_cliente, cod_produto, nome_produto, preco, quantidade) ✗ 
cod_produto ➙ nome_produto, preco (dependência parcial) 
cod_cliente, cod_produto ➙ quantidade (dependência total) 
Resp: Produto (cod_produto, nome_produto, preco) ✓ 
Resp: Compra (cod_cliente, cod_produto, quantidade) ✓ 
 
 
Terceira Forma Normal 
Podemos dizer que uma tabela se encontra na Terceira Forma Normal se: 
o Está na segunda forma normal; 
o Se nenhum dos campos foram determinados transitivamente pela chave primária. 
Para chegar a terceira forma normal verifique os campos que não são chave primária. Se algum 
desses campos não chave possuir dependência com outro campo não chave, então essa tabela não 
se encontra na terceira forma normal. Veja o exemplo abaixo: 
Carro (placa, modelo, km_rodados, cod_fabricante, nome_fabricante) ✗ 
Placa, modelo ➙ km_rodados 
Placa, modelo ➙cod_fabricante 
Placa, modelo ➙ nome_fabricante 
Cod_frabricante ➙ nome_fabricante 
Carro (placa, modelo, kmRodados, cod_fabricante) ✓ 
Fabricante (cod_fabricante, nome_fabricante) ✓ 
 
 
 
Conclusão 
Aplicando essas três formas normais podemos dizer que o nosso banco já está normalizado. Alguns 
bancos, com muita movimentação, necessitam de uma normalização mais específica. Esses bancos 
usam também a FNBC, a quarta e a quinta forma na normalização. Por isso, para um próximo 
assunto, iremos dar continuidade a normalização de dados, abrangendo essas formas. Contudo, 
para a maioria dos casos a terceira normalização já está suficiente.

Continue navegando