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.md
source 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.

FileDescriptionWhen to Read
database-selection.md
PostgreSQL vs Neon vs Turso vs SQLiteChoosing database
orm-selection.md
Drizzle vs Prisma vs KyselyChoosing ORM
schema-design.md
Normalization, PKs, relationshipsDesigning schema
indexing.md
Index types, composite indexesPerformance tuning
optimization.md
N+1, EXPLAIN ANALYZEQuery optimization
migrations.md
Safe migrations, serverless DBsSchema 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