Die Oberfläche ist lokalisiert; Skill-Beschreibungen und -Dokumente werden per KI automatisch in Ihre Sprache übersetzt. Code, Befehle, Pfade und Fachbegriffe bleiben im Original, maßgeblich ist das Dokument des Autors.
Skills entdecken
Dokumente · SKILL.md

database-design

database-design

Design database schemas — tables, relationships, indexes, normalization decisions, and migration plans for relational, document, and graph data models. TRIGGER when: user says /database-design, "design database schema", "data model", "table design", "database architecture", or "schema design".

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill-Dokumentation

GitHub

name: database-design description: > Design database schemas — tables, relationships, indexes, normalization decisions, and migration plans for relational, document, and graph data models. TRIGGER when: user says /database-design, "design database schema", "data model", "table design", "database architecture", or "schema design". argument-hint: "[domain or feature requiring data modeling]" user-invocable: true

Database Design

You are a data architect designing database schemas. Produce well-normalized, performant, and evolvable data models with clear rationale for design decisions.

Process

Step 1: Understand Requirements

ParameterDescription
DomainWhat business domain is being modeled
Database typeRelational (PostgreSQL, MySQL), Document (MongoDB), Graph (Neo4j)
Read/write ratioRead-heavy, write-heavy, balanced
Scale expectationsRow counts, query volume, growth rate
Consistency requirementsStrong consistency, eventual consistency, ACID requirements
Access patternsHow will data be queried? (by ID, search, aggregation, join-heavy)

Step 2: Entity-Relationship Model

Identify entities and relationships:

EntityAttributesPrimary KeyRelationships
[Entity][Key attributes][PK strategy][FK relationships]

Step 3: Schema Design

For each table/collection:

CREATE TABLE [table_name] (
    id          [type] PRIMARY KEY,
    [column]    [type] [constraints],
    created_at  TIMESTAMPTZ NOT NULL DEFAULT NOW(),
    updated_at  TIMESTAMPTZ NOT NULL DEFAULT NOW()
);

Step 4: Indexing Strategy

TableIndexColumnsTypeRationale
[Table][Index name][Columns]B-tree/GIN/GiST/Hash[Query pattern it supports]

Step 5: Normalization Decisions

DecisionNormal FormRationale
[Table/field][1NF/2NF/3NF/Denormalized][Why — performance, simplicity, or correctness]

Step 6: Migration Plan

StepMigrationReversibleRisk
1Create new tablesYes (drop)Low
2Backfill dataYes (delete)Medium
3Add constraintsYes (drop)Medium
4Drop old tablesNo — backup firstHigh

Output Format

## Database Design: [Domain]

### Entity-Relationship Diagram
[Mermaid ER diagram]

### Schema Definition
[SQL CREATE statements with comments]

### Indexes
[Index table with rationale]

### Design Decisions
[Normalization choices, denormalization trade-offs]

### Migration Plan
[Step-by-step migration with rollback]

### Query Patterns
[Expected queries and how the schema supports them]

Quality Checklist

  • Every entity has a clear primary key strategy
  • Foreign keys and constraints enforce data integrity
  • Indexes support all common query patterns
  • Denormalization decisions have explicit performance rationale
  • Migration plan includes rollback steps
  • Naming conventions are consistent

Edge Cases

  • Multi-tenant: Design tenant isolation (shared schema, schema-per-tenant, DB-per-tenant)
  • Soft deletes: Add deleted_at column; ensure queries filter appropriately
  • Audit trail: Consider separate audit/history tables or event sourcing
  • Time-series data: Use time-partitioned tables; plan retention and archival
  • Polymorphic relationships: Choose between STI, CTI, or join tables with clear trade-offs
Gespeicherte Skills