Claude-code-templates database-design
Database design principles and decision-making. Schema design, indexing strategy, ORM selection, serverless databases.
install
source · Clone the upstream repo
git clone https://github.com/davila7/claude-code-templates
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/davila7/claude-code-templates "$T" && mkdir -p ~/.claude/skills && cp -r "$T/cli-tool/components/skills/development/database-design" ~/.claude/skills/davila7-claude-code-templates-database-design && rm -rf "$T"
manifest:
cli-tool/components/skills/development/database-design/SKILL.mdsource content
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 |
|---|---|---|
| PostgreSQL vs Neon vs Turso vs SQLite | Choosing database |
| Drizzle vs Prisma vs Kysely | Choosing ORM |
| Normalization, PKs, relationships | Designing schema |
| Index types, composite indexes | Performance tuning |
| N+1, EXPLAIN ANALYZE | Query optimization |
| 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