Article image
Lucas Cruz
Lucas Cruz04/04/2024 22:35
Compartilhe

Como normalizar banco de dados?

  • #Banco de dados relacional

Ao fim desse artigo você saberá como normalizar um banco de dados uma habilidade essencial para qualquer um que deseje desenvolver softwares com persistência de dados

O que é normalização?

A normalização é um processo para organizar e estruturar um banco de dados relacional para eliminar redundâncias e anomalias.

As formas normais são 1FN: Atomicidade de dados, 2FN: Eliminação de dependências parciais, 3FN: Eliminação de dependências transitivas. Cada uma das formas normais depende da anterior ou seja é preciso está na 1FN para ir para a 2FN.

1FN: Atomicidade de dados

As colunas devem ser atômicas ou seja indivisíveis, por exemplo, se o endereço for um dado que vai ser salvo, seguindo a 1º forma normal cada parte do endereço deve ser uma coluna:

| número da casa | bairro | rua | cidade |

e não apenas

|endereço|

E também caso tenha muita um valor se repita varias vezes deve-se registrá-lo em outra tabela.

Por exemplo pode haver tabelas para: Bairro, Rua e Cidade

Bairro

| id | nome do bairro |

Rua

| id | nome da rua |

Cidade

| id | nome da cidade |

Assim na tabela endereço as colunas só referenciam o id ao invés de repetir o valor varias vezes.

2NF: Eliminação de Dependências Parciais

Primeiro precisa-se seguir a 1NF.

Os atributos da tabela devem depender de uma chave primaria completa não de forma parcial em caso de chaves conjuntas.

Se for uma tabela pedido:

|id do pedido | id do cliente | nome do cliente | Hora da entrega|

Deve-se analisar qual é a chave primária, agora verificar se algum atributo não chave está dependendo de outra chave, se estiver deve ser movido para outra tabela, nesse caso o nome do cliente ficando assim:

Tabela pedido:

| id do pedido | id do cliente | Hora da entrega |

Tabela cliente:

| id do cliente | nome do cliente |

3NF: Remoção de Dependências Transitivas

Deve atender o 2NF.

Os atributos só podem depender do id e de nenhuma outra coluna.

Por exemplo se você uma tabela produto:

Tabela produto

| id do produto | nome do produto | categoria do produto | preço |

Como a coluna de categoria do produto depende da coluna nome do produto ele deve ser movido para outra tabela e referenciado nessa:

Tabela categorias

| id da categoria | nome da categoria |

Isso promove maior organização dos dados e ajuda a evitar anomalias na modificação, inserção e exclusão de dados.

Referências:

https://pt.wikipedia.org/wiki/Normaliza%C3%A7%C3%A3o_de_dados

https://dev.to/ikauematos/conceitos-principais-sobre-normalizacao-1hpl

Compartilhe
Comentários (0)