データモデル

データモデル(data model)データの表現方法をモデル化したもののことです。
データベースのモデリングを行う際、実装に段階的に落とし込んでいく過程を定義していきます。

データモデルのインスタンスには、ANSI(米国国家規格協会、American National Standards Institute)では3種類(概念データモデル、論理データモデル、物理データモデル)に分類されます。
また、データモデルは時としてスキーマとも呼ばれる為、三層スキーマアーキテクチャと混同されることがある為、注意が必要です。

概念データモデル - 概念と概念間の関係の定義

概念データモデル(conceptual data model)とは、データベースに必要な情報をデータモデルによって抽象化し、その抽象化した概念と概念間の関係を定義した記述のことです。
データベースが取り扱う対象がどのような概念で構成され、それぞれの概念がどのような属性の集合として表されるかをモデル化して定義します。
モデリング手法としては一般的にER図を使用し、実社会の事象(リレーション、relationship)とその関連(エンティティ、entity)を表現します。

現実世界の事象からデータを識別し、データの関係を図式化したものであり、この段階ではデータベースへの格納方法などは考慮せず、対象をどんな形で表現するのかを明確にします。
論理データモデルの種類(リレーショナルとかネットワークとか階層等)は意識しません。

ANSIの3層スキーマアーキテクチャでは、各利用者独自の観点を反映した概念スキーマを「外部スキーマ」と呼び、逆にそれらを集約したものが「概念スキーマ」であるとされており、混同しないように注意が必要です。


論理データモデル - 実体とその属性、実体間の関係の定義

論理データモデル(logical data model)とは、対象領域について特定のデータ管理技術を前提として記述されるデータモデルのことです。
概念スキーマで定義したモデルを、具体的な特定のデータベーシステムで取り扱えるデータ形式の集合として記述していきます。

リレーショナルデータモデルでは、各概念をどんなテーブル(表/関係)に、どんなフィールド(属性)の集合として格納し、それぞれのフィールド間、テーブル間の関係等を定義します。

ここでのモデリング手法は適用するデータモデルにより異なる為、適用させるデータモデルがオブジェクトモデルである場合はクラスと属性を用いた図で表現したものが論理データモデルとなります。

データベースを作成する場合、論理スキーマを作成した後は、そこから物理スキーマを作成します。


物理データモデル - 論理スキーマの具体的実装

物理データモデル(Physical data model)/物理スキーマ(Physical schema)とは、特定のデータ管理技術の観点で記述されるデータモデルのことです。
論理スキーマで定義したデータモデルを、具体的なコンピュータシステムでどのように格納・管理するかを定義したもので、データベース管理システム(DBMS)がコンピュータのストレージ(外部記憶装置)上にデータを記録する方法を指示したものを表します。

物理データモデルでは、データ型の定義方法、Viewの定義方法、インデックスの設計方法、パーティションの使い方、CPUの割り振り方、性能指標とかロールバック方法とかも決定する。

ANSI(米国国家規格協会、American National Standards Institute)の3層スキーマアーキテクチャでは「内部スキーマ」と呼びます。



Last updated:2017/07/09
Author:efn

';