database-design

majiayu000's avatarfrom majiayu000

Expert database design and data modeling. Use when designing schemas, normalizing data, creating ER diagrams, or making architectural database decisions.

⭐5stars🔀1forks📁View on GitHub🕐Updated Jan 11, 2026

When & Why to Use This Skill

This Claude skill provides expert-level guidance on database design, data modeling, and architectural decision-making. It helps developers move beyond basic SQL patterns to create optimized schemas, select the right ORM (like Drizzle or Prisma), and implement efficient indexing strategies. By focusing on normalization and performance tuning, it ensures scalable and maintainable data infrastructures while avoiding common pitfalls like N+1 queries.

Use Cases

  • Schema Design & Normalization: Creating robust data models and ER diagrams for new applications to ensure data integrity and scalability.
  • Database & ORM Selection: Evaluating the best technology stack (e.g., PostgreSQL vs. SQLite, Prisma vs. Kysely) based on specific project constraints and deployment environments.
  • Performance Optimization: Tuning database performance through strategic indexing, query analysis using EXPLAIN ANALYZE, and identifying inefficient data access patterns.
  • Migration Management: Planning and executing safe schema migrations and architectural changes, particularly for serverless and production databases.
namedatabase-design
descriptionDatabase design principles and decision-making. Schema design, indexing strategy, ORM selection, serverless databases.
allowed-toolsRead, 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.

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