このセクションでは、以下の重要なデータベース・オブジェクトの概要について説明します。
図 1 では、 これらのオブジェクトのいくつかの関連を図示しています。 この図はまた、表、索引、長データが表スペースに保管されている様子も示しています。
![]() |
インスタンス (データベース・マネージャー と呼ばれることがある) は、 データを管理する DB2 コードです。 データベース・マネージャーは、データに対して何ができるかを制御し、 割り当てられたシステム・リソースを管理します。 各インスタンスは、1 つの完全な環境です。 そこには、特定の並列データベース・システムに定義された、 すべてのデータベース区画が含まれます。 (第 4 章, 並列データベース・システムを参照。) インスタンスは、(他のインスタンスがアクセスできない) 独自のデータベースを持っており、 そのすべてのデータベース区画は、同じシステム・ディレクトリーを共用します。 またインスタンスは、同じマシン (システム) 上の他のインスタンスとは別個の機密保護も持っています。
リレーショナル・データベース は、 データを表の集合として表します。 表は、 定義された数の列と任意の数の行によって構成されています。 各データベースには、データの論理および物理構造を説明する一連のシステム・カタログ表、 データベースに割り当てられているパラメーター値を含む構成ファイル、 および進行中のトランザクションおよびアーカイブ可能トランザクションの回復ログ が含まれます。
ノードグループ は、1 つ以上のデータベース区画のセットです。 データベースに対して表を作成したい場合、 まず、表スペースが保管される予定のノードグループを作成した後、 表が保管される予定の表スペースを作成します。 ノードグループについての詳細は、ノードグループおよびデータ区分化を参照してください。 データベース区画の定義については、第 4 章, 並列データベース・システムを参照してください。 表スペースについての詳細は、表スペースを参照してください。
リレーショナル・データベースは、 データを表の集合として表します。 表 は、論理的に列と行に配列されたデータからなります。 すべてのデータベースおよび表データは、表スペースに割り当てられます。 表スペースについての詳細は、表スペースを参照してください。 表の中のデータは論理的に関連付けられ、その関係は、複数の表の間で定義することができます。 データは、関係 と呼ばれる数学的な法則および 操作に基づいて、表示または処理されます。
表データは、構造化照会言語 (SQL、SQL 解説書を参照) (リレーショナル・データベース内のデータの定義および処理のための標準言語) を使用してアクセスされます。 照会 は、データベースからデータを検索するために、 複数のアプリケーション内または複数のユーザーによって使用されます。 照会は、ステートメントを作成するために、 次の形式で SQL を使用します。
SELECT <data_name> FROM <table_name>
視点 は、 データを保守せずに表すための効率的な方法です。 視点は実際の表ではなく、また永続的な記憶域を必要とすることもありません。 「仮想表」が作成され、使用されます。
視点には、ベースとなっている表の列または行のすべてまたは一部を含めることができます。 たとえば、視点の中で部署表と従業員表を結合して、 特定の部署の従業員をすべてリストすることができます。
図 2 は、表と視点の関連を示しています。
![]() |
索引 は一式のキーであり、 それぞれのキーは表の行を指しています。 たとえば、図 3 の表 A には、 表の従業員番号に基づいた索引があります。 このキー値は、表の行を指すポインターを提供します。 従業員番号 19 は従業員 KMP を指します。 索引では、 ポインターを介して直接データへのパスを作成できるので、 さらに効率よく表の行にアクセスできます。
SQL 最適化プログラム は表のデータにアクセス する効率的な方法を自動的に選択します。 最適化プログラムはデータへの一番速いアクセス・パスを判別するときに、 索引を考慮に入れます。
固有索引は、索引キーが必ず固有になるようにするために作成できます。 索引キー は、索引が定義されている列または列の順序付き集合です。 固有索引を使用すると、 索引になっている列にある索引キーごとの値または列の値が必ず固有のものとなります。 データに関する業務規則では、キーと索引の詳細が説明されています。
図 3 は、索引と表の関係を示しています。
![]() |
スキーマ は、グループ表および他のデータベース・オブジェクトを助ける、 ユーザー ID などの識別子です。 スキーマは個人で所有することができ、 所有者はデータおよびそのデータの中のオブジェクトへのアクセスを制御できます。
スキーマは、データベースのオブジェクトでもあります。 スキーマは、スキーマ内の最初のオブジェクトが作成されるときに自動的に作成されます。 このオブジェクトは、 スキーマ名によって修飾できるものであればなんでもかまいません。 たとえば、表、索引、視点、パッケージ、特殊タイプ、特殊タイプ、関数、またはトリガーなどがあります。 スキーマが自動的に作成されるには、IMPLICIT_SCHEMA 権限がなければなりません。 そうでない場合は明示的にスキーマを作成できます。
スキーマ名は 2 つの部分からなるオブジェクト名の最初の部分として使用されます。 オブジェクトの作成時には、それを特定のスキーマに割り当てることができます。 スキーマを指定しない場合、 オブジェクトはデフォルトのスキーマに割り当てられます。 これは通常はオブジェクトを作成した人のユーザー ID になります。 名前の 2 番目の部分は、オブジェクトの名前になります。 たとえば、Smith という名前のユーザーの表は SMITH.PAYROLL などとなります。
各データベースには、データの論理および物理構造を説明する一連のシステム・カタログ表 が含まれます。 DB2 は各データベースごとに一連のシステム・カタログ表を追加作成し、保守します。 これらの表には、データベース・オブジェクト (たとえば、表、視点、および索引) の定義についての情報と、 これらのオブジェクトに対してユーザーが持っている権限についての機密保護の情報が含まれています。 これらはデータベースの作成時に作成され、 通常の操作中に更新されます。 これらを明示的に作成したり除去したりすることはできませんが、 カタログ視点を使用して内容の照会や表示を行うことは可能です。