Skill

SkillsData & Databases › Relational / SQL

database-design

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

Freerisk: low
databasedesignsqlsqlitepostgresqlschemafolded-into-738

The full skill

— name: database-design description: "Database design principles and decision-making. Schema design, indexing strategy, ORM selection, serverless databases." risk: safe source: community date_added: "2026-02-27" — # 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.