Open2
データモデリング

データモデリングとは
データモデリングとは、「アプリケーションで扱う情報(データ)の種類と構造を決める」ことです。
例えると:
料理のレシピで「どんな材料が必要か」リストアップするようなもの
なぜデータモデリングが必要なのか
- 整理整頓のため:情報を整理して、どこに何があるか分かりやすくする
- 無駄をなくすため:必要な情報だけを保存して効率よくする
- 将来の拡張のため:後から機能を追加しやすくする
単位変換アプリのデータモデル:何を定義する?
まず考えるべきは「このアプリで扱う主要な情報は何か」です。
単位変換アプリでは
(個人開発で単位変換アプリを作成中のため例にあげました。)
- カテゴリ(データサイズ、長さ、温度など)
- 単位(メートル、キロバイトなど)
具体的な設計手順
ステップ1: 主要な「モノ」を洗い出す
単位変換アプリの場合:
- カテゴリ
- 単位
ステップ2: それぞれの「モノ」がどんな情報を持つか決める
カテゴリの情報:
- ID(一意の識別子。例: "data_size")
- 名前(表示用。例: "データサイズ")
- 説明(オプション)
単位の情報:
- ID(一意の識別子。例: "bit")
- 名前(表示用。例: "ビット")
- 記号(表示用。例: "b")
- 所属カテゴリ(どのカテゴリに属するか 例 カテゴリ: "data_size")
- 変換係数(基準単位に対する倍率 例 変換係数: 8 (1バイト = 8ビット))
ステップ3: モデル間の関係を定義
- 一つのカテゴリには複数の単位が含まれる
- 一つの単位は一つのカテゴリに属する
簡単な例:データサイズカテゴリ
カテゴリ:
ID: "data_size"
名前: "データサイズ"
単位:
- ID: "bit"
名前: "ビット"
記号: "b"
カテゴリ: "data_size"
変換係数: 1 (基準単位)
- ID: "byte"
名前: "バイト"
記号: "B"
カテゴリ: "data_size"
変換係数: 8 (1バイト = 8ビット)
- ID: "kilobyte"
名前: "キロバイト"
記号: "KB"
カテゴリ: "data_size"
変換係数: 8192 (1KB = 8 * 1024ビット)

データモデリングは、概念モデル、論理モデル、物理モデルという3つの段階を含む全体のプロセスを指すことが多いそうです。
わかりやすい比較
家を建てることに例えると:
- データモデル設計 = 家を設計する全体のプロセス
- 概念モデル = 「リビング、キッチン、寝室が必要」と決める段階
- 論理モデル = 「リビングは20畳、南向き、窓が2つ」と詳細を決める段階
- 物理モデル = 「このブランドの木材、このタイプのガラス」など実際の材料を決める段階
詳細説明
-
データモデリング(全体プロセス)
- データの表現方法を決める全体的な活動
- 以下の3つの段階を包含する
-
概念モデル(第1段階)
- ビジネス視点での設計
- エンティティ(データの種類)と関係性を定義
- 専門知識がなくても理解できるレベル
-
論理モデル(第2段階)
- システム視点での設計
- 属性(フィールド)や主キーなどの詳細を定義
- 特定のDBに依存しない技術的な設計
-
物理モデル(第3段階)
- 実装視点での設計
- 特定のデータベース技術での実装方法
- インデックス、データ型などの技術的詳細