データモデリング でーたもでりんぐ
概念モデル論理モデル物理モデルER図テーブル設計業務分析
データモデリングについて教えて
簡単に言うとこんな感じ!
データモデリングは「システムで扱うデータの設計図を段階的に描く作業」だよ!「どんなものを管理するか(概念)」→「どう関係するか(論理)」→「DBにどう落とすか(物理)」という3ステップで進める。建築の設計みたいに、いきなり施工せず図面を描いてから作るイメージなんだ!
データモデリングとは
データモデリング(Data Modeling)とは、業務やシステムで扱うデータの構造・関係・制約を抽象的に表現する設計プロセスです。データベースを正確・効率的に設計するための「設計図作り」であり、業務担当者・設計者・開発者が共通理解を持つためのコミュニケーションツールでもあります。
データモデリングは通常3つのレベルで段階的に進めます。業務の言葉でデータを整理する「概念モデル」、テーブルと関係を定義する「論理モデル」、特定のDBMSに合わせて実装詳細を決める「物理モデル」です。この段階を踏むことで、業務要件を正確にDBに落とし込めます。
データモデリングの品質はシステム全体の品質に直結します。設計段階でのミスは後になるほど修正コストが増大します(デシボル法則)。発注者側の視点では、「ベンダーに任せきりにせず、業務担当者がER図レビューに参加する」ことが、要件漏れや設計ミスを防ぐ重要なポイントです。
データモデリングの3層
| レベル | 名称 | 目的 | 成果物 | 対象者 |
|---|---|---|---|---|
| 第1層 | 概念モデル | 業務のデータを整理 | 概念ER図 | 業務担当者・PM |
| 第2層 | 論理モデル | テーブル・関係を定義 | 論理ER図 | 設計者・DBA |
| 第3層 | 物理モデル | DB製品への実装詳細 | テーブル定義書 | 開発者・DBA |
歴史と背景
- 1976年:チェンのER モデル提唱。データモデリングの理論的基盤が確立
- 1980年代:CASE(Computer-Aided Software Engineering)ツールで体系化が進む
- 1990年代:Ralph KimballのDWH設計手法(ディメンショナルモデリング)が登場
- 2000年代:アジャイル開発の台頭で「事前に完全なデータモデルを作る」アプローチが問い直される
- 2010年代:NoSQLの普及でドキュメント指向・グラフ指向などのモデリング手法も重要に
- 現在:dbt(data build tool)・Fivetranなどのデータエンジニアリングツールとモデリングが統合
主なモデリング手法の比較
| 手法 | 主な用途 | 特徴 |
|---|---|---|
| ERモデリング | トランザクション系DB | 正規化・整合性重視 |
| ディメンショナルモデリング | データウェアハウス | スタースキーマ・分析重視 |
| オブジェクト指向モデリング | ORM・OOP連携 | クラス図とDB設計を統合 |
| ドキュメントモデリング | NoSQL(MongoDB等) | 入れ子・非正規化を前提 |
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| ISO/IEC 11179 | メタデータレジストリの標準。データ要素の命名・定義規則 |
| UML 2.x クラス図 | 論理データモデルの表現に使えるUML標準 |