Normalização de dados

Posted by Miguel Lopes on Tue, Oct 25, 2011
In Base De Dados,

A normalização de dados no modelo relacional é uma serie de etapas que permitem reduzir a redundancia e inconsistencia de dados, numa base de dados relacional. Existem varias formas normais no entanto considera-se que as bases de dados estão normalizadas se obedecerem á 3ª forma normal.

Notações Básicas

Na arquitectura de dados do modelo relacional existem duas formas de descrever a mesma, formal e informal. Na descrição informal lida-se com os termos práticos tabelas, linhas e colunas; Na descrição formal utiliza-se termos como Relação, Tupla e Cabeçalho.

Relação (Entidades) - Uma Base de dados relacional, é composta por uma ou mais Tabelas que são compostas por linhas e colunas, sendo que todas as linhas (Tuplas) de uma tabela contêm as mesmas colunas; Atendendo que numa linha podem existir colunas sem valor ou null.

Cabeçalho - Os cabeçalhos são os campos no modelo relacional, num tabela ‘Clientes’ as colunas poderiam ser ‘Id de Cliente’, ‘Nome do Cliente’,‘Morada’, etc…

_Tupla - _É uma linha, de uma lista ordenada de colunas de uma Tabela (ou relação ou entidade). Numa tabela ‘Clientes’  uma Tupla é o conjunto de valores de uma linha das colunas ‘Id de Cliente’, ‘Nome do Cliente’ e ‘Morada’; Exemplo : {‘Id de Cliente’ => ‘3219’, ‘Nome do Cliente’ => ‘José Augusto Moura’, ‘Morada’ => ‘Av. Vasco da Gama 193’}

Chave - A singularidade de cada Tupla vai ser possível devido as Chaves de cada Tabela; uma Chave é uma coluna cujo o valor de cada linha não pode ser igual ao valor de outra linha nem pode ser nulo. O proposito das Chaves passa também por relacionar as Tabelas com o objectivo de diminuir a repetição de dados; numa Tabela de vendas a Coluna ‘Id de Cliente’ esta a relacionar a tabela de vendas com a Tabela de Clientes, não sendo necessário inserir todos os dados do cliente na tabela de vendas.

Normalização

Como mencionei no inicio, uma base dados é considerada estar na forma normal assim desde que obedeça á 3ª forma normal, sendo que essa será a meta neste artigo.

Primeira Forma Normal

Para obedecer á 1FN é necessário que os valores das Colunas sejam simples/com um só valor.

Exemplo:

Segunda Forma Normal

Ao estar na 2FN, é necessário que a entidade esteja já na 1FN e que os atributos que não são chaves primárias dependam das mesmas em conjunto, ou seja se numa entidade existir apenas uma chave primária e já estiver na 1FN podemos avançar porque nesse caso a 1FN e a 2FN são iguais no entanto se a chave for composta por dois ou mais atributos,  todos os atributos não chave devem depender igualmente de todas as chaves.

Terceira Forma Normal

Finalmente é considerada uma entidade estar na 3FN quando respeitar a 2FN e todos os atributos que não sejam chave sejam independentes entre si.

Para este caso o Exemplo mais comum é o da LocalidadeCódigo Postal já que estes são dependentes entre si pois para uma Localidade existe apenas um Código Postal e vice-versa.

Referências

Wikipédia



comments powered by Disqus