data-model-designer

概念→論理→物理の3段階でデータモデルを設計し、ER図・データ辞書・DDLを出力するSkill。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "data-model-designer" with this command: npx skills add superstone-han/dotfiles/superstone-han-dotfiles-data-model-designer

Data Model Designer

概念→論理→物理の3段階でデータモデルを設計し、ER図・データ辞書・DDLを出力するSkill。

Goals

  • ユーザーの業務要件から 概念/論理/物理データモデル を段階的に設計する

  • Mermaid ER図(概念ERD・論理ERD・物理ERD)を生成する

  • データ辞書(属性定義・制約・型)を整理する

  • DDL(CREATE TABLE等)を生成する

  • 各段階で チェックリストによる品質担保 を行う

Non-goals

  • 実際のDB構築・マイグレーション実行

  • 性能チューニングの実測・ベンチマーク

  • 特定ツール(ERwin、A5:SQL等)のファイル出力

Inputs(入力の期待形式)

以下のいずれか、または組み合わせ:

  • 業務要件の説明(自然言語)

  • 例:「ECサイトの注文管理。顧客が商品を注文し、配送先を指定する」

  • エンティティ候補のリスト

  • 例:「顧客、注文、商品、配送先」

  • 既存テーブル定義/DDL(リバース用)

  • 作成する段階の指定(任意)

  • 「概念だけ」「論理まで」「物理まで全部」

  • DBMS指定(物理の場合)

  • 例:「PostgreSQL」「MySQL 8」「SQLite」

Outputs(成果物)

概念データモデル(CDM)

  • 概念ER図(Mermaid erDiagram)

  • 用語集(エンティティ定義)

  • スコープ/前提メモ

論理データモデル(LDM)

  • 論理ER図(属性・PK/FK・カーディナリティ付き)

  • データ辞書(属性定義・型・制約・必須/任意)

  • 業務ルール一覧

物理データモデル(PDM)

  • 物理ER図(テーブル・カラム・型・索引)

  • DDL一式(CREATE TABLE/INDEX/制約)

  • インデックス設計根拠

  • 運用設計メモ(監査カラム、論理削除等)

Instructions(設計手順)

Phase 1: 概念データモデル

エンティティ抽出

  • 業務要件から主要な「もの」「概念」を洗い出す

  • 名詞に注目(顧客、注文、商品…)

関係の整理

  • エンティティ間の関係を「〜する」「〜を持つ」で記述

  • 多重度は大まかに(1対多、多対多)

用語の統一

  • 同義語を潰す(ユーザー=会員=アカウント?)

  • 用語集として定義を明文化

概念ERD出力

  • Mermaid erDiagramで出力

  • 属性は書かない(エンティティと関係のみ)

検証

  • 代表ユースケースでエンティティが足りているか確認

Phase 2: 論理データモデル

属性の定義

  • 各エンティティに属性を追加

  • 属性ごとに「意味」「例」を明記

キーの決定

  • 主キー(PK):自然キー or サロゲートキー

  • 外部キー(FK):関係をキーで表現

カーディナリティ詳細化

  • 1:1, 1:N, N:M を明確に

  • N:Mは中間エンティティで解決

正規化

  • 第3正規形を目指す

  • 冗長・更新異常を排除

論理ERD・データ辞書出力

Phase 3: 物理データモデル

DBMS決定

  • 対象DBMSを確認(PostgreSQL/MySQL/SQLite等)

型マッピング

  • 論理型→物理型へ変換

  • 桁数、NULL、デフォルト決定

テーブル/カラム命名

  • snake_case統一

  • 予約語回避

インデックス設計

  • 想定クエリから逆算

  • WHERE/JOIN/ORDER BY条件を考慮

運用カラム追加

  • created_at, updated_at

  • 論理削除(deleted_at)必要なら

DDL生成

  • CREATE TABLE/INDEX/制約

Quality Checklist

概念モデル

  • 業務用語で書かれている(DB用語なし)

  • エンティティの境界・スコープが明確

  • 同義語/多義語が整理されている

  • 代表ユースケースで検証済み

論理モデル

  • 全属性に定義(意味)がある

  • PK/FKが明確

  • カーディナリティが正確

  • N:Mは中間エンティティで解決

  • 正規化されている(理由なき冗長なし)

物理モデル

  • DBMS前提が明記

  • データ型・NULL・デフォルトが具体的

  • インデックスに根拠がある

  • 運用カラム(監査/論理削除等)考慮済み

  • DDLが実行可能

Examples

発動する例

  • 「ECサイトのデータモデルを作って」

  • 「顧客・注文・商品のER図を書いて」

  • 「このシステムのテーブル設計をして」

  • 「論理データモデルを作成して」

  • 「PostgreSQLでDDLを生成して」

  • 「データ辞書を整理して」

  • 「概念ERDをMermaidで」

発動しない例

  • 「SQLクエリを書いて」(クエリ作成は別タスク)

  • 「DBのパフォーマンスを改善して」(チューニングは別タスク)

  • 「マイグレーションを実行して」(実行は別タスク)

References

詳細な設計指針は reference.md を参照。 テンプレートは templates/ ディレクトリを参照。

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

screen-transition-diagram

No summary provided by upstream source.

Repository SourceNeeds Review
General

ui-mockup-builder

No summary provided by upstream source.

Repository SourceNeeds Review
General

dotnet-10-csharp-14

No summary provided by upstream source.

Repository SourceNeeds Review
General

flutter-riverpod-expert

No summary provided by upstream source.

Repository SourceNeeds Review