Durante o processo de modelagem de dados, é importante organizar as informações de forma eficiente.
A Normalização é uma técnica utilizada para eliminar redundâncias e evitar inconsistências em bancos de dados relacionais.
Normalização é um conjunto de regras utilizadas para estruturar tabelas de maneira lógica e eficiente.
Essas regras são conhecidas como Formas Normais.
O objetivo é garantir que cada informação seja armazenada apenas onde realmente pertence.
Considere a seguinte tabela:
| ID | Cliente | Cidade | Produto |
|---|---|---|---|
| 1 | Maria | São Paulo | Notebook |
| 2 | Maria | São Paulo | Mouse |
| 3 | Maria | São Paulo | Teclado |
Observe que as informações da cliente são repetidas várias vezes.
| Problema | Consequência |
|---|---|
| Redundância | Dados repetidos. |
| Atualização | Necessidade de alterar vários registros. |
| Inserção | Dificuldade para cadastrar informações. |
| Exclusão | Possível perda de dados importantes. |
A normalização divide os dados em tabelas relacionadas.
ID_CLIENTE | NOME | CIDADE
1 | Maria | São Paulo
ID_PEDIDO | ID_CLIENTE | PRODUTO
1 | 1 | Notebook
2 | 1 | Mouse
3 | 1 | Teclado
| Forma Normal | Objetivo |
|---|---|
| 1FN | Eliminar grupos repetitivos. |
| 2FN | Eliminar dependências parciais. |
| 3FN | Eliminar dependências transitivas. |
As próximas aulas abordarão cada uma dessas formas normais em detalhes.
| Sistema | Aplicação da Normalização |
|---|---|
| Loja Virtual | Separação de clientes, pedidos e produtos. |
| Escola | Separação de alunos, cursos e matrículas. |
| Hospital | Separação de pacientes, médicos e consultas. |
| Biblioteca | Separação de usuários, livros e empréstimos. |
Embora a normalização seja importante, em alguns cenários pode ser necessário manter determinados dados juntos para melhorar o desempenho.
Esse processo é conhecido como Desnormalização.