A Recusa do Chamado
Prólogo: A Sombra da Complexidade
Com o “Pergaminho de Regras” em mãos, a euforia inicial da aventura dá lugar a uma sombra de dúvida. “Muitas regras!”, “Como relacionar Orcs, Elfos e Anões no mesmo banco de dados?”, “E se um pedido tiver dez itens diferentes?”.
Este é o momento da Recusa do Chamado. Não é sobre desistir, mas sobre reconhecer a verdadeira dimensão do dragão que você precisa enfrentar. A complexidade do mundo real é o primeiro grande monstro da sua jornada.
Capítulo 1: O Monstro da Tabela Única
Para entender o perigo, imagine se você tentasse anotar um pedido do Pônei Saltitante em uma única e gigantesca planilha, como Cevado Carrapicho tentou fazer:
| PedidoID | Cliente (Nome, Raça, Classe) | Itens (Produto, Qtd, Preço) | Funcionario | Data |
|---|---|---|---|---|
| 101 | “Gimli (Anão, Especial)” | “Cerveja Escura, 2, 5c”, “Pão de Viagem, 4, 2c” | “Bob” | “2026-03-01” |
| 102 | “Legolas (Elfo, Classe A)” | “Vinho Élfico, 1, 10c”, “Lembas, 1, 15c” | “Fany” | “2026-03-02” |
| 103 | “Gimli (Anão, Especial)” | “Carne de Javali, 1, 8c” | “Bob” | “2026-03-03” |
Este é o Monstro da Desorganização em sua forma mais pura. Ele gera três maldições terríveis (conhecidas como anomalias):
Anomalia de Inserção: Como adicionar um novo produto, como “Escudo de Rohan”, se ele ainda não foi vendido? Não há como, a não ser que se crie um pedido falso.
- {:width=”32”} Anomalia de Atualização: Se a classificação de Gimli mudar para “Classe A”, você teria que encontrar e editar todas as linhas onde ele aparece. Um erro e os dados se tornam inconsistentes.
- {:width=”32”} Anomalia de Exclusão: Se Legolas deletar seu único pedido (ID 102), todas as informações sobre ele (sua raça, sua classe) são perdidas para sempre!
Capítulo 2: O Encontro com o Mentor
Quando o herói está prestes a ser consumido pela dúvida, um mentor aparece. Em nossa jornada, o mentor é uma sabedoria ancestral chamada Normalização de Dados.
A Normalização é um conjunto de “feitiços” (Formas Normais) que transformam tabelas monstruosas em um sistema de entidades puras, organizadas e relacionadas de forma lógica. O primeiro e mais poderoso feitiço é a Primeira Forma Normal (1FN).
A Primeira Runa: Primeira Forma Normal (1FN)
- Atomicidade: Cada campo na sua tabela deve conter apenas um valor (ser atômico).
- Sem Grupos Repetidos: A tabela não pode ter colunas que armazenam múltiplos valores, como a coluna “Itens” do nosso exemplo.
Aplicar a 1FN na nossa tabela monstruosa significa dividi-la!
Sua Missão: A Primeira Batalha Contra o Caos
Sua missão é usar a sabedoria recém-adquirida para dar o primeiro golpe no monstro. Você irá aplicar a Primeira Forma Normal ao seu modelo.
-
Confronte a Besta: Analise a tabela monstruosa do Capítulo 1. Identifique os campos que não são atômicos e os grupos que se repetem. A coluna
Clientee, principalmente, a colunaItenssão as grandes vilãs aqui. Aplique a Primeira Runa (1FN): Divida a tabela. A solução clássica é criar uma tabela separada para os itens do pedido. Você terminaria com algo assim:
- Uma tabela
Pedidos(com PedidoID, ClienteID, FuncionarioID, Data). - Uma tabela
ItensPedido(com PedidoID, ProdutoID, Quantidade). - E, claro, tabelas para
Clientes,Produtos, etc.
- Uma tabela
Reforje o Mapa (Diagrama MERMAID): Atualize seu diagrama no
README.mdpara refletir essa nova estrutura, agora em 1FN. Mostre como as tabelas se separam e se relacionam com chaves. Esta é sua primeira grande vitória documentada!
Arsenal do Conhecimento
O mentor lhe entrega pergaminhos com conhecimento vital para sua jornada. Estude-os com atenção.
A Natureza dos Dados:
As Chaves do Reino:
As Leis da Conexão: