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?”.

maze-cornea 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):

  • skull-trophy 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.
  • ![skull-trophy]((https://game-icons.net/icons/000000/transparent/1x1/sbed/death-skull.svg){: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.
  • ![skull-trophy]((https://game-icons.net/icons/000000/transparent/1x1/sbed/death-skull.svg){: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

wizard-staff 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)

  1. Atomicidade: Cada campo na sua tabela deve conter apenas um valor (ser atômico).
  2. 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.

  1. sword-clash 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 Cliente e, principalmente, a coluna Itens são as grandes vilãs aqui.

  2. magic-swirl 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.
  3. treasure-map Reforje o Mapa (Diagrama MERMAID): Atualize seu diagrama no README.md para 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.