Design de database ruim causa bugs, performance issues e refactors caros. Aprenda princípios que criam schemas escaláveis e maintainable.
Carregando
Design de database ruim causa bugs, performance issues e refactors caros. Aprenda princípios que criam schemas escaláveis e maintainable.
Design de database ruim causa bugs, performance issues e refactors caros. Aprenda princípios que criam schemas escaláveis e maintainable.
1NF: atomic values. 2NF: sem partial dependencies. 3NF: sem transitive dependencies. Reduz redundância.
Único, não-null, imutável. SERIAL, UUID, ou composite. Index automático. Escolha afeta joins.
Referencia PK de outra tabela. Garante integridade referencial. ON DELETE CASCADE/SET NULL/RESTRICT.
Duplicação intencional para performance. Trade-off: storage vs speed. Use em read-heavy.
• Normalize até 3NF
• UUID ou BIGSERIAL para PKs
• Foreign keys com ON DELETE definido
• NOT NULL quando aplicável
• Naming conventions consistentes
• Índices em FKs
• Created_at, updated_at timestamps
• Soft deletes (deleted_at) para audit
• Enums para status fields
• JSON para dados flexíveis
• Comentários em tabelas complexas
• Version schema (migrations)
• Backup strategy
• Test em staging primeiro
• Document decisions
• Sem primary keys
• Sem foreign keys (integridade app-level)
• Naming inconsistente
• Denormalização prematura
• Sem índices em FKs
• VARCHAR(255) para tudo
Quando usar cada um