スキーマ (データベース)
出典: フリー百科事典『ウィキペディア(Wikipedia)』
スキーマ(schema)とは、データベースの構造であり、データベース管理システム (DBMS) でサポートされている形式言語で記述される。関係データベースでは、スキーマは表と表内のフィールド、フィールドや表の関係の定義である。
スキーマは一般にデータ辞書に格納される。スキーマはテキストによるデータベース言語で定義されるが、グラフィカルにデータベース構造を表したものをスキーマと呼ぶことも多い[1]。
用途によってフィールドをカスタマイズして作られる。 例えばひとつのデータベースにA~Eまでのフィールドが定義されていて、スキーマ1にはA、C、Eのフィールドを定義、スキーマ2にはB、D、Eを定義し、2種類のデータベースで運用しているようなことも実現できる。
目次 |
[編集] 三層スキーマ
- 概念スキーマ - 概念と概念間の関係の定義
- 論理スキーマ - 実体とその属性、実体間の関係の定義
- 物理スキーマ - 論理スキーマの具体的実装
[編集] 概念スキーマ
概念スキーマ(英: Conceptual schema)とは、データベースに必要な情報をデータモデルによって抽象化し、その抽象化した概念と概念間の関係を定義した記述である。対象となる組織の意味論を説明し、その性質について一連の論理的表明を表す。特に、組織(実体クラス)の有意なものと、それに付随する情報、特性(属性)、それらのものの間の関係(関連)を説明する。
組織の意味論を表すものであってデータベース設計ではないため、その抽象レベルは様々である。ANSIの四層スキーマアーキテクチャでは、各利用者独自の観点を反映した概念スキーマを「外部スキーマ」と呼ぶ。逆にそれらを集約したものが「概念スキーマ」であるとされる。データモデルは各利用者の観点では固定的であり、それだけでは柔軟性に欠ける傾向がある。その個人の世界観が変われば、モデルも変更を余儀なくされる。概念スキーマはより抽象的で、本質的である。
概念スキーマには、オブジェクト指向で言う継承に相当するものもある。ある実体クラスのインスタンスの集合は、適当な下位の実体クラスに分類できる。従って、ある下位の実体クラスのインスタンスは、上位の実体クラスのインスタンスでもある。上位の実体クラスのインスタンスは、何らかの下位の実体クラスのインスタンスでもある。
基本型/派生型関係は「排他的関係」の場合もある。方法論的に、ある基本型のインスタンスがどれか1つの派生型のインスタンスでなければならない場合もある。同様に網羅的関係の場合もある。網羅意的な場合、ある基本型のインスタンスは必ず何らかの派生型のインスタンスでなければならない。
[編集] 論理スキーマ
論理スキーマ(英: Logical schema)とは、対象領域について特定のデータ管理技術を前提として記述されるデータモデルである。ただし、特定のデータベース管理製品に依存することなく、例えば関係モデルなら表と行、オブジェクトモデルならクラス、あるいはXMLタグなどを用いて記述する。概念スキーマが実装技術を全く考慮せずに組織の意味論を記述するのとは対照的である。
データベースを作成する場合、論理スキーマを作成した後は、そこから物理スキーマを作成する。
[編集] 物理スキーマ
物理スキーマ(英: Physical schema)とは、特定のデータ管理技術の観点で記述されるデータモデルである。ANSIの四層スキーマアーキテクチャでは「内部スキーマ」と呼ぶ。論理スキーマはデータの論理的表現を定義するが、この段階では具体的にストレージにデータがどのように格納されるかといった部分は考慮されていない。物理スキーマは、個別のデータベース管理製品におけるデータ格納を具体的に定義する。
[編集] 関連項目
[編集] 外部リンク
- Data Modeling 101 アジャイル・コミュニティでの別の観点