Um bom banco de dados, passa antes de tudo por um bom desenvolvimento, para isso deve ser basear nas regras de normalização. A normalização assim como o modelo de banco de dados relacionais, teve seu conceito introduzido por E.F. Codd durante os anos 70. A normalização também é conhecida como Normal Forms (Formas Normais), visa manter um banco de dados otimizado para reduzir redundâncias e dependências.
Quando se normaliza um banco de dados, tem como objetivo flexibilizar a estrutura do banco de dados, assegura que os atributos estão nas tabelas corretas, reduzir a redundância dos dados, aumentar a efetividade dos programadores, diminuir custos de manutenção das aplicações e maximizar a efetividade da estrutura dos dados.
Primeira forma normal (First Normal Form 1NF)
Basicamente, uma tabela na 1NF não consta dados repetidos, então, para atender a primeira forma normal devemos considerar que em uma tabela cada coluna seja única.
Exemplo:
Na imagem acima vemos que a tabela 'Registro' possui 3 colunas para o mesmo tipo de dados, o que gera repetição.
Para aplicar a 1NF, é criada uma nova tabela 'Telefone', com as informações referente aos números de telefone e tipo do número, cada registro possui um ID único, que é disponibilizado na tabela 'Registro' por meio de chave estrangeira Foreigner Key.
Segunda forma normal (Second Normal Form 2NF)
Como premissa para a 2NF, a tabela já deve estar normalizada na 1NF, sabendo disso, o conceito da 2NF é que nenhuma outra coluna da tabela deve ser dependente de parte do valor da chave primária. Para exemplificar, uma tabela que possui uma chave primária composta, ou seja, 2 colunas ou mais formam a chave primária, uma nova coluna não pode depender do valor que consta apenas em uma coluna que forma a chave primária, isso busca reduzir a redundância de dados.
Exemplo.
Após aplicar o 2NF, temos uma tabela para o país, uma para o estado onde o id do país vem como chave estrangeira da tabela país, e uma para cidade ontem temos as chaves estrangeiras do estado e do país, dessa forma ao alterar o nome do estado ou sigla do país, por exemplo, a informação esta integra, pois todos os registros da tabela cidade apontam para o identificador das outras tabelas.
Terceira forma normal (Third Normal Form 3NF)
Como premissa para a 3NF, a tabela já deve atender as normas anteriores. A 3NF consiste em que uma tabela, não possua uma coluna que dependa de outra coluna que não seja uma coluna chave, para normalizá-la deve-se remover essa coluna para outra tabela.
Exemplo:
Existem mais normas formais, contundo, um banco de dados que atende a estas 3 normas, já se torna otimizado de modo que muitos problemas possam ser evitados.
Fontes:
https://www.ibm.com/support/knowledgecenter/SSGU8G_12.1.0/com.ibm.ddi.doc/ids_ddi_066.htm
https://www.w3schools.in/dbms/database-normalization/
Nenhum comentário:
Postar um comentário