← ClaudeAtlas

schema-designlisted

Use when designing a data model for a new feature or bounded context — entities, relationships, normalization, indexing, constraints, partitioning. Triggers on "data model", "schema design", "database design", "ER model", "数据模型", "表结构设计", "数据库设计".
int2t05/engineering-skills · ★ 3 · AI & Automation · score 74
Install: claude install-skill int2t05/engineering-skills
# Schema Design Design the data model that sits beneath the API and beside the domain language. `architecture` picks the datastore type; `domain-modeling` sharpens the vocabulary; this skill designs the actual shape of the data — entities, relationships, indexes, constraints, and how the model scales. A schema designed reactively (added-to-as-features-arrive) becomes a performance and correctness liability that is expensive to fix later. ## When to use - Designing entities and relationships for a new feature or bounded context - Choosing normalization level, indexing strategy, or partitioning for a new model - Reviewing a proposed schema for correctness, performance, or future evolution - Triggers on "data model", "schema design", "database design", "ER model", "数据模型", "表结构设计", "数据库设计" > **Scope:** assumes a relational datastore (Postgres/MySQL/SQLite). For document stores > (MongoDB), key-value (DynamoDB), or graph stores, the embedding-vs-referencing and > sharding decisions differ — use `architecture` for datastore selection, then adapt these > patterns. **Not for:** choosing the datastore type (use `architecture`); ubiquitous-language glossary (use `domain-modeling`); API request/response shapes (use `api-design`); changing an existing schema in production (use `deprecation-migration`). ## Steps ### 1. Map entities and relationships Start from the domain model (`domain-modeling` output / CONTEXT.md) and translate nouns into entities, verbs into relationships. For