← ClaudeAtlas

database-designlisted

Database design decision-making: schema design, indexing strategy, ORM selection, database selection, migrations, query optimization. DB-agnostic thinking guide. Use when modeling a data layer or choosing database/ORM.
SilantevBitcoin/Base-system-Claude · ★ 1 · AI & Automation · score 72
Install: claude install-skill SilantevBitcoin/Base-system-Claude
# Database Design > **Learn to THINK, not copy SQL patterns.** ## Selective Reading Rule **Read ONLY files relevant to the request.** Check the content map, find what you need. | File | Description | When to Read | |------|-------------|--------------| | `database-selection.md` | PostgreSQL vs Neon vs Turso vs SQLite | Choosing database | | `orm-selection.md` | Drizzle vs Prisma vs Kysely vs SQLAlchemy | Choosing ORM | | `schema-design.md` | Normalization, PKs, relationships, FK actions | Designing schema | | `indexing.md` | Index types, composite indexes | Performance tuning | | `optimization.md` | N+1, EXPLAIN ANALYZE, optimization priorities | Query optimization | | `migrations.md` | Safe zero-downtime migrations, serverless DBs | Schema changes | --- ## Core Principle - ASK the user about database preferences when unclear. - Choose database/ORM based on CONTEXT, not habit. - Don't default to PostgreSQL for everything (though it is the standard choice for full relational features). --- ## Decision Checklist Before designing schema: - [ ] Asked user about database preference? - [ ] Chosen database for THIS context? - [ ] Considered deployment environment? - [ ] Planned index strategy? - [ ] Defined relationship types? --- ## Anti-Patterns - Default to PostgreSQL for simple apps (SQLite may suffice). - Skip indexing. - Use `SELECT *` in production. - Store JSON when structured data is better. - Ignore N+1 queries. --- ## Validation Script `scripts/schema_val