Sunday, November 13, 2011

Aplicando as regras de normalização

É possível aplicar as regras de normalização de dados (também chamadas simplesmente regras de normalização) como próxima etapa do design. Use essas regras para ver se as tabelas estão corretamente estruturadas. O processo de aplicação de regras ao design do banco de dados é denominado normalização de banco de dados, ou apenas normalização.

A normalização é muito mais útil após a representação de todos os itens de informações e da obtenção de um design preliminar. A ideia é ajudar a assegurar que você distribua os itens de informações pelas tabelas corretas. O que a normalização não pode fazer é assegurar que se tenham todos os itens de dados corretos de início.
Aplique as regras em sequência, assegurando a cada etapa que o seu design chegue ao que é conhecido como "formas normalizadas". Cinco formas normalizadas são amplamente aceitas — da primeira forma normalizada à quinta forma normalizada. Este artigo se expande nas três primeiras, porque elas são tudo o que se exige para a maior parte dos bancos de dados.

Primeira forma normalizada

A primeira forma normalizada declara que a cada interseção de linha e coluna da tabela existe um valor único e nunca uma lista de valores. Por exemplo, não é possível ter um campo denominado Preço, em que se insira mais de um Preço. Quando se entende cada interseção de linhas e colunas como uma célula, cada célula poderá manter apenas um valor.

Segunda forma normalizada

A segunda forma normalizada requer que cada coluna não-chave seja totalmente dependente de toda a chave primária, não apenas de parte da chave. Essa regra aplica-se quando se tem uma chave primária que consiste em mais de uma coluna. Por exemplo, supondo que haja uma tabela contendo as colunas a seguir, onde Código do Pedido e Código do Produto formam a chave primária:
·         Código do Pedido (chave primária)
·         Código de Produto (chave primária)
·         Nome de Produto
Esse design desrespeita a segunda forma normalizada, uma vez que o Nome do Produto é dependente do Código do Produto, mas não do Código do Pedido, portanto, não depende de toda a chave primária. É preciso remover o Nome do Produto da tabela. Ele pertence a uma tabela diferente (Produtos).

Terceira forma normalizada

A terceira forma normalizada exige que não apenas todas as colunas não-chave sejam dependentes de toda a chave primária, mas que as colunas não-chave sejam independentes entre si.
Uma outra forma de dizer isso é que cada coluna não-chave seja dependente da chave primária e somente da chave primária. Por exemplo, na hipótese de haver uma tabela contendo as seguintes colunas:
·         CódigoDeProduto (chave primária)
·         Nome
·         SRP
·         Desconto
Suponha que Desconto dependa do SRP (suggested retail price, preço a varejo sugerido). Essa tabela desrespeita a terceira forma normalizada, porque uma coluna não chave, Desconto, depende de uma outra comuna não-chave, SRP. A independência da coluna significa que é possível alterar todas as colunas não-chave sem afetar nenhuma outra coluna. Se você alterar um valor do campo SRP, Desconto seria pertinentemente alterada, o que infringiria a regra. Nesse caso, Desconto seria movida para uma outra tabela chaveada em SRP.

No comments:

Post a Comment