- Added: api-patterns, app-builder, architecture, bash-linux, behavioral-modes, clean-code, code-review-checklist, database-design, deployment-procedures, docker-expert, documentation-templates, game-development, geo-fundamentals, i18n-localization, lint-and-validate, mobile-design, nestjs-expert, nextjs-best-practices, nodejs-best-practices, parallel-agents, performance-profiling, plan-writing, powershell-windows, prisma-expert, python-patterns, react-patterns, red-team-tactics, seo-fundamentals, server-management, tailwind-patterns, tdd-workflow, typescript-expert, vulnerability-scanner - Updated README: skill count 179 → 223 - Added credit for vudovn/antigravity-kit (MIT License) Source: https://github.com/vudovn/antigravity-kit
53 lines
1.5 KiB
Markdown
53 lines
1.5 KiB
Markdown
---
|
|
name: database-design
|
|
description: 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.
|
|
|
|
| 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
|