スキーマ (データベース)

データベーススキーマ:構造と設計アプローチ



データベーススキーマとは、データベースの構造を定義する設計図のようなものです。データベース管理システム(DBMS)がデータをどのように格納し、操作するかを規定するもので、データ辞書に格納され、データ定義言語(DDL)を使って定義されます。視覚的な表現として、データベース構造図をスキーマと呼ぶこともあります。

スキーマは、用途に応じて柔軟にカスタマイズできます。例えば、同じデータ要素(属性)であっても、必要な属性だけを選択して複数のスキーマを作成し、複数のデータベースで運用することが可能です。 属性A~Eを持つデータに対し、スキーマ1ではA、C、Eを使用、スキーマ2ではB、D、Eを使用するといったことが考えられます。

三層スキーマ



データベーススキーマを設計する際に用いられる代表的なアプローチとして、三層スキーマがあります。これは、データベースの構造を複数のレベルに分割し、それぞれのレベルで異なる視点からスキーマを定義する手法です。代表的なものとしては、概念-論理-物理の3層と、外部-概念-内部の3層があります。

概念-論理-物理方式



この方式では、データベース設計を以下の3つのレベルに分けます。

概念スキーマ: データベースに必要となる情報を抽象的に表現します。組織や対象領域における概念とそれらの間の関係を定義し、データモデルを用いて表現します。実装技術に依存せず、対象領域の意味論を表現する点が重要です。この段階では、具体的なデータ型や格納方法などは考慮しません。ANSIの三層スキーマアーキテクチャでは、個々の利用者の観点を反映した概念スキーマを「外部スキーマ」と呼び、それらを統合したものを「概念スキーマ」と定義しています。概念スキーマは、オブジェクト指向における継承の概念も取り入れることができ、実体クラスの上位・下位関係を定義できます。基本型と派生型が排他的関係、または網羅的関係にある場合も表現できます。
論理スキーマ: 概念スキーマを基に、特定のデータ管理技術を考慮してデータモデルを記述します。しかし、具体的なデータベース管理製品には依存しません。例えば、関係モデルであれば表とタプル(行)を用いて記述し、オブジェクトモデルであればクラスを用いて記述します。概念スキーマとは異なり、データ管理技術の特性をある程度考慮しますが、物理的な実装方法は考慮しません。
* 物理スキーマ: 具体的なデータベース管理システム(DBMS)を用いたデータ格納方法を定義します。データの物理的な格納方法、インデックス、セキュリティなどの詳細を記述します。ANSIの四層スキーマアーキテクチャでは「内部スキーマ」と呼ばれます。論理スキーマでは考慮されなかった、データのストレージへの具体的な格納方法を決定します。

その他の方式



ANSI/X3/SPARC(標準化計画委員会)では、概念スキーマ、外部スキーマ、内部スキーマの3層スキーマを採用しています。一方、COBOL開発で知られるCODASYLでは、副スキーマ、スキーマ、記憶スキーマの3層スキーマを用いています。これらの違いは、各スキーマが担う役割(ユーザ視点、論理的な定義、物理的な定義)の解釈の違いによるものです。外部スキーマはユーザの視点からのデータベース定義、概念スキーマは論理的な定義、内部スキーマは物理的な定義を意味します。

関連概念



データベーススキーマの理解には、データモデル概念マップ、オブジェクト関係マッピング実体関連モデル知識表現、マインドマップ、オントロジー、セマンティックウェブといった関連概念の知識が役立ちます。これらの概念を理解することで、より高度なデータベース設計が可能になります。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。