スキーマ

リレーショナル・データベース内のオブジェクトはいくつかに分けられ、 スキーマというまとまりに編成されます。 スキーマは、リレーショナル・データベース内のオブジェクトを論理的に分類したものです。

スキーマ名 は、SQL オブジェクト名 (表、ビュー、索引、トリガーなど) の修飾子として使用します。スキーマは、コレクションまたはライブラリーとも呼ばれます。

スキーマには名前があります。別のシステム名を付けることもできます。システム名は、IBM® i オペレーティング・システムが使用する名前です。SQL ステートメントでスキーマ名を指定する場所では、どちらの名前でも使用できます。

スキーマと XML スキーマは別々のものであり、混同すべきではありません。XML スキーマは、XML 文書の構造を記述し、内容を検証するための標準です。

各データベース・マネージャーは、そのデータベース・マネージャーが使用するために予約されているスキーマのセットをサポートします。このようなスキーマのことを、システム・スキーマといいます。 スキーマ SESSION、および 'SYS' と 'Q' で始まるスキーマは システム・スキーマです。

ユーザー・オブジェクトを SESSION 以外のシステム・スキーマの中に作成してはなりません。 SESSION は常に、宣言済みの一時テーブルのスキーマ名として使用されます。 ユーザーが 'SYS' や 'Q' で始まるスキーマを作成することはできません。

スキーマは、リレーショナル・データベース内のオブジェクトでもあります。CREATE SCHEMA ステートメントを使用すれば、スキーマを明示的に作成できます。1詳しくは、CREATE SCHEMAを参照してください。

スキーマに含まれるオブジェクトは、オブジェクトが作成されると きに、スキーマに割り当てられます。割り当てられるスキーマは、オブジェクトの名前 (スキーマ名で特別に修 飾されている場合) またはデフォルトのスキーマ名 (修飾されていない場合) によ って決まります。

例えば、ユーザーが C という名前のスキーマを作成するとします。

   CREATE SCHEMA C 

その後、次のステートメントを実行すると、スキーマ C の中に X と呼ばれる表を作成できます。

   CREATE TABLE C.X (COL1 INT)
1 CRTLIB CL コマンドを使用してスキーマを作成することもできますが、CREATE SCHEMA ステートメントを使用した場合に作成されるカタログ・ビュー、ジャーナル、ジャーナル・レシーバーは、CRTLIB では作成されません。