Design Efficient Database Schemas
A database design skill that teaches context-aware schema design, database selection (PostgreSQL, Neon, Turso, SQLite), ORM choice, indexing, and query
Why it matters
Design robust and efficient database schemas tailored to your application's specific needs. Avoid common anti-patterns and optimize for performance from the start.
Outcomes
What it gets done
Select the most appropriate database and ORM for your project context.
Design normalized schemas with proper primary keys and relationships.
Implement effective indexing strategies for performance tuning.
Optimize queries and understand performance implications.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/ag-database-design | bash Capabilities
What this skill does
Traces errors to their root cause and suggests fixes.
Overview
Database Design
What it does
Database design guidance covering database and ORM selection, schema design with normalization and relationships, indexing strategies, query optimization including N+1 prevention, and safe migrations-with a selective reading rule to consult only relevant files based on the specific task at hand.
How it connects
Use when you need to choose a database technology, design a schema, plan indexes, optimize queries, or execute migrations-especially when you want context-aware recommendations rather than generic SQL patterns, and when deployment environment (serverless, edge, traditional) influences the choice.
Source README
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.
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.