database-design

Database design principles and decision-making. Schema design, indexing strategy, ORM selection, serverless databases.

View Source
name:database-designdescription:Database design principles and decision-making. Schema design, indexing strategy, ORM selection, serverless databases.allowed-tools:Read, Write, Edit, Glob, Grep

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.mdPostgreSQL vs Neon vs Turso vs SQLiteChoosing database
orm-selection.mdDrizzle vs Prisma vs KyselyChoosing ORM
schema-design.mdNormalization, PKs, relationshipsDesigning schema
indexing.mdIndex types, composite indexesPerformance tuning
optimization.mdN+1, EXPLAIN ANALYZEQuery optimization
migrations.mdSafe 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

      database-design - Agent Skills