物理データモデルとは何か?データベースの設計を考えるためのアイデア

2020年10月1日

物理データモデルとは

物理データモデル(physical data model: PDM)は、データベース設計におけるモデルの一つです。論理データを物理データに変換したものになります。具体的には、データ編成や記憶装置の構成などを考案する際に良く利用されます。

概念データモデルの例
概念データモデルの例(Wikiより)
物理データモデルの例
物理データモデルの例( ResearchGate より)

概念データモデルはオブジェクトをシンボル化して、データを大まかに分類するモデルです。その一方で、物理データモデルは、データ情報を追加するために必要なプロセスなどの詳細情報を記載していきます。データベースの内部スキーマを設計して、データテーブルとそのデータの列、テーブル間の関係を記述します。

ER図の参考画像
ER図の参考画像

物理データモデルを表現する際にはER図と呼ばれるものを作成していきます。
ER図を描画するときは次の要素を使用します。

  • エンティティ:データのまとまりを意味するオブジェクト
  • アトリビュート(属性):エンティティに含まれる属性情報
  • リレーション(関係):エンティティ同士の関係性を表示する
  • カーディナリティ:「1対1」「1対多」「多対多」などの関係性の詳細を表現するための記号

物理データモデルの必要性

既存モデルを理解することができる

既存のデータベースとどのように折り合いをつけていけば良いのか検証する際に利用されることが多いです。
このように既存モデルを理解するために、レガシーデータ分析をして既存モデルをモデリングして、作業しなければいけない場合に利用されることが多いです。

将来的な変化にも対応できる

企業で利用しているデータベースの構造は、ビジネスと一致していなければいけません。物理データモデリングの段階で、ビジネス活動とデータの流れを一致させておけば、将来的な変化にもすぐ対応できるようになります。

品質の高いデータモデルを維持する

物理データモデルを利用すれば、構築したデータを運用・保守していくことができます。データモデルの調査・分析が行えるので、運用ライフサイクルを決めていき管理していくこともできます。そのため、品質の高いデータモデルを維持していくためにも重宝されます。

物理データモデルの利用方法

1.テーブルを識別する

データを各テーブルに格納します。各データをテーブル化することで、テーマを1から定義することができます。

2.テーブルを正規化する

テーブル内のデータの属性を整理していき、データの凝集性を上げていきます。この作業のことを「正規化」と呼びます。
データは1つのテーブルにより多く格納されるほど、設計や開発時の情報として役立ちます。

3.列を識別する

テーブルの中に列を作成します。この列は、データベースの属性に該当するものです。例えば、顧客管理データのテーブルの中には「姓」・「名」の列を設けたりします。

4.ストアドプロシージャーを識別する

格納データを取り扱うために必要なコードについて記載していきます。コードはテーブルに属するのではなく、データベース全体に属するものだということを間違えないように注意してください。データベース全体に属するコードなので、クラスの一部としてモデリングします。

5.命名規則を適用する

モデリングに適用できるガイドラインを作成します。

6.関係を識別する

テーブル間にも関係性があるので、識別していきます。

おすすめの参考書

今回紹介したようなデータモデリングに関しては、David C. Hayの著書『Data Model Patterns』が参考文献として最も優れていると言われています。モデルパターンを知るための良書ではありますが、洋書であるため、日本語で学びたいという方は、渡辺幸三先生の『システム開発・刷新のための データモデル大全』が好評を博しているため、このような本を手に取ってみてください。