3層スキーマ 【three schema architecture】 三層スキーマ
概要
3層スキーマ(three schema architecture)とは、データベースの構造・形式(スキーマ)を3つの階層に分けてそれぞれ定義する方式。「外部スキーマ-概念スキーマ-内部スキーマ」と「概念スキーマ-論理スキーマ-物理スキーマ」の2方式がよく知られる。データベースの構造を定義したものをスキーマ(schema)というが、データモデルの設計や管理のために抽象度の異なる複数のスキーマを定義して使い分ける場合がある。これを3段階の階層型の構造としたものを3層スキーマという。
概念-論理-物理の3層とする場合、まず概念スキーマでデータベースによって扱おうとする概念および概念間の関係などを定義する。次に論理スキーマによって概念スキーマで定義された概念やその関係について、特定のデータモデルを用いて表現する。最後に物理スキーマで論理スキーマに規定されたデータ集合の具体的な格納・管理方式を定義する。
ANSI/SPARC 3層スキーマ
スキーマを外部-概念-内部の3階層で表現する著名なモデルに「ANSI/SPARC 3層スキーマ」がある。米国国家規格協会(ANSI)の標準化計画要求委員会(SPARC)が1975年に提唱した方式で、データの論理的および物理的な独立性の確保を主眼としている。
外部スキーマは利用者が必要とするデータの抜き出し方と並べ方を定義する。これはリレーショナルデータベース(RDB)ではビューなどに相当する。概念スキーマはデータ全体の論理的な構造を定義するもので、RDBではテーブルなどに相当する。内部スキーマは記憶装置やデータファイル上でのデータの配置や格納方法について定義する(RDBではRDBMSの内部仕様となる)。
アプリケーションなどからは外部スキーマを介してデータにアクセスすることで、概念スキーマが変更されても影響を最小限に抑えることができる(論理的独立性)。一方、データを内部スキーマを介して記憶装置に記録することにより、データの論理的な構造を装置の物理的な構造から分離することができる(物理的独立性)。
(2020.4.22更新)