リレーショナル・データベース

リレーショナル・データベース は、一組の表と見なすことができ、データの関係モデルにしたがって扱うことができるデータベースです。 リレーショナル・データベースには、データの保管、アクセス、 および管理に使用される一組のオブジェクトが含まれます。 このようなオブジェクトには、表、ビュー、索引、別名、ユーザー定義タイプ、関数、 プロシージャー、シーケンス、変数、およびパッケージが含まれます。

ユーザーが IBM® i からアクセスできるリレーショナル・データベースには、 以下の 3 つのタイプがあります。

システム・リレーショナル・データベース
IBM i にはデフォルトのリレーショナル・データベースが 1 つあります。システム・リレーショナル・データベースは、常に IBM i に とってローカルのデータベースです。 このデータベースは、IBM i に接続しているディスクに存在している データベース・オブジェクトのうち、独立補助記憶域プールに保管され ているものを除くすべてのオブジェクトから成っています。 独立補助記憶域プールについての詳細は、IBM i Information Centerシステム管理カテゴリーを参照してください。

デフォルトでは、システム・リレーショナル・データベースの名前 は IBM i システム名と同じです。 ただし、ADDRDBDIRE (RDB ディレクトリー項目追加) コマンド または System i® ナビゲーター を使用して、別の名前を割り当てることもできます。

ユーザー・リレーショナル・データベース
ユーザーは、システム上に独立補助記憶域プールを構成することにより、 IBM i 上に追加のリレーショナル・データベースを作成することができます。 個々の 1 次独立補助記憶域プールが、 それぞれ 1 つのリレーショナル・データベースとなります。 このデータベースには、独立補助記憶域プール・ディスク上にある すべてのデータベース・オブジェクトが含まれます。 さらに、独立補助記憶域プールが接続している IBM i 製品の システム・リレーショナル・データベース内のすべてのデータベース・オブジェクトも、 論理的にユーザー・リレーショナル・データベースに含まれます。 したがって、1 つのユーザー・リレーショナル・データベース内に 作成するスキーマの名前は、そのユーザー・リレーショナル・データベース またはそれに関連したシステム・リレーショナル・データベースの中に既に 存在する名前であってはなりません。

システム・リレーショナル・データベース内のオブジェクトは、論理的 にはユーザー・リレーショナル・データベースに含まれていますが、以下に 示すように、システム・リレーショナル・データベースと ユーザー・リレーショナル・データベースの間で、 オブジェクト相互間に依存関係を持たせることができない場合が幾つかあります。

  • ビューは、そのビューが参照する表およびビューと同じリレーショナル・データベースに存在するスキーマの中に作成する必要があります。ただし、QTEMP 内に作成するビューは、ユーザー・リレーショナル・データベース内の表およびビューを参照することができます。
  • 索引を作成するときは、その索引が参照する表と同じ リレーショナル・データベース内にあるスキーマの中に作成する必要があります。
  • トリガーまたは制約を作成するときは、その基本表と同じ リレーショナル・データベース内にあるスキーマの中に作成する必要があります。
  • 1 つの参照制約の中の親表および従属表は、両方が 同じリレーショナル・データベースの中にあることが必要です。
  • システム・リレーショナル・データベース内のオブジェクトが参照できるのは、同じシステム・リレーショナル・データベース内の関数、プロシージャー、およびタイプのみです。 ただし、ユーザー・リレーショナル・データベース内のオブジェクトは、システム・リレーショナル・データベースまたは同じユーザー・リレーショナル・データベース内の関数、プロシージャー、およびタイプを参照することができます。 しかし、相手方のリレーショナル・データベースが使用可能になっていないと、 このようなオブジェクトに対する操作は失敗することがあります。 例えば、ユーザー・リレーショナル・データベースをオフに変更し、 さらに別のシステムに対してオンに変更した場合などが、これに相当します。

ユーザー・リレーショナル・データベースは、独立補助記憶域プールが オンにされている間は、IBM i にとってローカルの関係にあります。 独立補助記憶域プールは、1 つの IBM i ではオフに変更し、 別の IBM i ではオンに変更することができます。 したがって、同じユーザー・リレーショナル・データベースが、 特定の IBM i にとってある時点ではローカルになり、 別の時点ではリモートになることがあります。 独立補助記憶域プールについての詳細は、IBM i Information Centerシステム管理カテゴリーを参照してください。

デフォルトでは、ユーザー・リレーショナル・データベースの名前は 独立補助記憶域プール名と同じです。 ただし、ADDRDBDIRE (RDB ディレクトリー項目追加) コマンド または System i ナビゲーター を使用して、別の名前を割り当てることもできます。

リモート・リレーショナル・データベース
他の IBM i 製品および IBM i 以外の製品上にある リレーショナル・データベースには、リモート・アクセスすることができます。 この種のリレーショナル・データベースは、ADDRDBDIRE (RDB ディレクトリー 項目追加) コマンドまたは System i ナビゲーター を使用して登録する必要があります。

データベース・マネージャーとは、IBM iライセンス内部コード と、リレーショナル・データベースを管理するコードの DB2® for i 部分を総称的に指す名前です。