Skills › Data & Databases › Relational / SQL
database-design
Database design principles and decision-making. Schema design, indexing strategy, ORM selection, serverless databases.
The full skill
—
name: database-design
description: "Database design principles and decision-making. Schema design, indexing strategy, ORM selection, serverless databases."
risk: safe
source: community
date_added: "2026-02-27"
—
# 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 | Choosing ORM |
| `schema-design.md` | Normalization, PKs, relationships | Designing schema |
| `indexing.md` | Index types, composite indexes | Performance tuning |
| `optimization.md` | N+1, EXPLAIN ANALYZE | Query optimization |
| `migrations.md` | Safe migrations, serverless DBs | Schema changes |
—
## ⚠️ Core Principle
– ASK user for database preferences when unclear
– Choose database/ORM based on CONTEXT
– Don't default to PostgreSQL for everything
—
## 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
## When to Use
This skill is applicable to execute the workflow or actions described in the overview.
## Limitations
– Use this skill only when the task clearly matches the scope described above.
– Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
– Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.