【DB入門】データモデルの定義

北川 博之著「データベースシステム(オーム社)」を参考に,データベースシステムの知識をまとめます。

データモデルの定義

データモデルとは,DB中のデータとそれに対する操作を規定する枠組みです。データモデルが果たす役割は,大きく下記の二つに分類されます。

  1. DBMSが提供するインタフェースを規定
  2. 実世界のモデル化ツール

DBMSが提供するインタフェースを規定

データモデルは,格納するデータ構造のルールおよび整合性制約を定め,そのルールに従って格納されたデータに対する操作体系を提供するため,DBMSが提供するインタフェースを規定していることになります。DBMSのインタフェースとしてのデータモデルは古くから盛んに研究されており,下記のような代表例があります。

  • リレーショナルデータモデル
  • ネットワークデータモデル
  • 階層データモデル

リレーショナルデータモデルは,関係データモデルともよばれます。1970年にCoddにより提案され,ネットワークデータモデルと階層データモデルと比べ,単純性・数学的な記述性・物理レベルの独立性に優れているデータモデルであり,現在最も主流なデータモデルになっています。一方,ネットワークデータモデルと階層データモデルは,ファイルシステムを拡張する目的でDBMS発展文脈の初期に提案されました。

リレーショナルデータモデルでは,リレーションとよばれる表でデータを管理し,データの操作体系にリレーショナル代数(関係代数)とリレーショナル論理(関係論理)を利用します。前者はリレーション同士の和差積商等の代数演算によりデータ操作を記述し,後者は論理記号を用いてデータを記述します。これらは完備(どちらを使っても本質的には同じ)であることが知られています。

実世界のモデル化ツール

データモデルは,実世界の情報をできるだけ自然に表現するためのツールです。このような意味で,オブジェクト指向プログラミングと相性が良く,最近ではオブジェクト指向データモデルとよばれるデータモデルも提案されています。

参考文献

オーム社
¥843 (2024/04/14 00:08時点 | Amazon調べ)
\最大8%ポイントアップ!/
Amazon
\楽天ポイント4倍セール!/
楽天市場
シェアはこちらからお願いします!

コメント

コメントする

※ Please enter your comments in Japanese to distinguish from spam.