Receba Novidades

Assinar

Insira aqui o seu Nome e E-Mail para receber gratuitamente as atualizações do Blog!

Nós também detestamos SPAM. Prometemos nunca enviar nenhum E-Mail indesejado para sua caixa postal.

Pesquisar Google

Pesquisa Personalizada

Login de Acesso

Localização Visitantes

Visitantes

01790133
Hoje
Ontem
Esta semana
Semana passada
Este mês
Mês passado
Todos os dias
6
22
54
1789943
207
1138
1790133

Seu IP: 13.58.151.231
Hora do Servidor: 2024-04-24 02:25:43

Quem está Online

Temos 3 visitantes e Nenhum membro online

Links Patrocinados

BD - Normalização e suas formas normais

Compartilhar

Banco de Dados

BANCO DE DADOS

NORMALIZAÇÃO E SUAS FORMAS NORMAIS

Resumo

Normalização de dados é o processo formal 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. Uma regra de ouro que devemos observar quando do projeto de um Banco de Dados baseado no Modelo Relacional de Dados é a de "não misturar assuntos em uma mesma Tabela". Por exemplo: na Tabela Clientes devemos colocar somente campos relacionados com o assunto Clientes. Não devemos misturar campos relacionados com outros assuntos, tais como Pedidos, Produtos, etc. Essa "Mistura de Assuntos" em uma mesma tabela acaba por gerar repetição desnecessária dos dados bem como inconsistência dos dados.

1.INTRODUÇÃO

O processo de normalização pode ser visto como o processo no qual são eliminados esquemas de relações (tabelas) não satisfatórios, e compondo-os, através da separação de seus atributos em esquemas de relações menos complexas, mas que satisfaçam as propriedades desejadas.

1.1 Normalização

Por que Normalizar ?

1º) Minimizar de redundâncias e inconsistências;
2º) Facilitar manipulações do Banco de Dados;
3º) Facilitar manutenção do Sistema de Informações

O processo de normalização como foi proposto inicialmente por Edgar Frank Codd.
Para que se compreenda melhor suponha que haja uma entidade PROJETO que armazene as informações dos projetos e funcionários de uma empresa e que o resultado físico final seja a tabela mostrada abaixo.

Relatório de Alocação do Projeto

Ao se observar a tabela vê-se que ela sofre varias anomalias:

Para poder resolver o dilema acima é necessário NORMALIZAR a entidade. Para isto aplicam-se as formas normais como será mostrado a seguir:



2.Desenvolvimento

2.1 Primeira Forma Normal (1FN)

Uma relação está na 1FN se todos os domínios básicos contiverem valores únicos (não contiver grupos repetitivos). Para atingir esta forma normal é necessário eliminar as redundâncias da base (tautologia) e os grupos de repetição. Isso significa dizer que todos os atributos de uma tabela devem ser atômicos (indivisíveis), ou seja, não são permitidos atributos multivalorados, atributos compostos ou, ainda, atributos multivalorados compostos.
a) Identificar qual elemento é, potencialmente, a chave primária da entidade;
b) Identificar o grupo repetitivo e excluí-lo da entidade;
c) Criar uma nova entidade com a chave primária da entidade anterior e o grupo repetitivo.
A chave primária da nova entidade será obtida pela concatenação da chave primária da entidade inicial e a do grupo repetitivo.
Ex. Não Normalizada

Primeira Forma Normal

Arquivo de Projetos (CodProjetos, TipoProjeto, Descrição, Matricula, Nome, Categoria, TipoSalario, data, Tempo)
O resultado após a aplicação da primeira forma normal (1FN) será:

Resultado da primeira Forma Normal

Considerando-se, agora, as entidades:
Arquivo de Projetos (CodProjetos, TipoProjeto, Descrição, Matricula, Nome, Categoria, TipoSalario, data, Tempo)
Arquivo de Equipe (CodProjetos,Matricula, Nome, Categoria, Tiposalario, Data, Tempo)

2.2 Segunda Forma Normal (2FN)

Uma relação R está na 2FN se e somente se ela estiver na primeira e todos os atributos não chave forem totalmente dependentes da chave primária (dependente de toda a chave e não apenas de parte dela).

Procedimentos:

a) Identificar os atributos que não são funcionalmente dependentes de toda a chave primária.
b) Remover da entidade todos esses atributos identificados e criar uma nova entidade com eles.
A chave primária da nova entidade será o atributo do qual os atributos do qual os atributos removidos são funcionalmente dependentes.

Considerando-se, agora, a entidade:

Arquivo de Equipes (CodProjetos, Matricula, Nome, Categoria, Tiposalario, Data, Tempo)

Segunda Forma Normal

O resultado após a aplicação da segunda forma normal (2FN) será:

Arquivo de Equipe (CodProjetos,Matricula, Data, Tempo)

Arquivo de Funcionario (Matricula, Nome, Categoria, Tiposalario)

2.3 Terceira Forma Normal (3FN)

Uma relação R está na 3FN se somente estiver na 2FN e todos os atributos não chave forem dependentes não transitivos da chave primária (cada atributo for funcionalmente dependente apenas dos atributos componentes da chave primária ou se todos os seus atributos não chave forem independentes entre si).

Procedimentos:

a) Identificar todos os atributos que são funcionalmente dependentes de outros atributos não chave;
b) Remove-los e criar uma nova entidade com os mesmos. A chave primária da nova entidade será o atributo do qual os atributos removidos são funcionalmente dependentes.

Considerando-se, agora, as entidades:

Arquivo de Equipes (CodProjetos,Matricula, Data, Tempo)

Arquivo de Funcionario (Matricula, Nome, Categoria, Tiposalario)

Resultado da Segunda Forma Normal

O resultado após a aplicação da Terceira forma normal (3FN) será:

Resultado da terceira Forma Normal

Arquivo de Categoria (CodCategoria, Descricao)

Arquivo de TipoSalario (CodTipoSalario, Descricao,Valor, DataInicio)

Arquivo de TipoProjeto (CodTipoProjeto, Descricao)




3. Conclusão

Podemos perceber que normalmente após a aplicação das regras de normalização de dados, algumas tabelas acabaram sendo divididas em duas ou mais tabelas, o que no final gera um número maior de tabelas do que o originalmente existente. Este processo causa a simplificação dos atributos de uma tabela, colaborando significativamente para a estabilidade do modelo de dados, reduzindo-se consideravelmente as necessidades de manutenção.

Compartilhar

Adicionar comentário


Código de segurança
Atualizar


 

Insira aqui o seu Nome e E-Mail para receber gratuitamente as atualizações do Blog!

Nós também detestamos SPAM. Prometemos nunca enviar nenhum E-Mail indesejado para sua caixa postal.