データモデリング
概要
データモデリングは、扱うデータの構造と関係を エンティティ・属性・リレーションシップ として整理し、データベースのスキーマへ落とし込む設計作業です。ER図(Entity-Relationship Diagram)はその代表的な可視化手法です。
ER図(Entity-Relationship Diagram)
- エンティティ(Entity):実体(例:ユーザー、注文)。テーブルに対応
- 属性(Attribute):エンティティの性質(例:名前、金額)。カラムに対応
- リレーションシップ(Relationship):エンティティ間の関係(1対多、多対多 など)
- 主キー・外部キーで関係を表現
モデリングの段階
- 概念モデル — ビジネス視点でのエンティティと関係
- 論理モデル — 正規化されたテーブル設計
- 物理モデル — DB製品に依存した実装(データ型・インデックス)
ツール
- SQLからER図への変換ツール —
CREATE TABLE文から ER図を自動生成(ブラウザ完結)
関連トピックとの接続
- スキーマ設計とパフォーマンス → MySQLパフォーマンス(インデックス・正規化/非正規化)
- ドメインの構造化 → ドメイン駆動設計(エンティティ・値オブジェクト・集約)
学習リソース
- CMU『Intro to Database Systems』 — カーネギーメロン大学のデータベース入門講義が YouTube で公開されている。特定 DBMS の実装詳細ではなく、すべてのプログラマに通用する普遍的なデータベース内部構造(ストレージ・インデックス・クエリ実行・トランザクションなど)を学べる、分厚い教科書の代替として推奨される。スキーマ設計だけでなく PostgreSQL / MySQLパフォーマンス の内部理解にもつながる。参考: カーネギーメロン大学の有名講義
関連ページ
参考資料
- Free SQL to ER diagram tool(hackernews)