Db2-schemas

提供:Dev Guides
移動先:案内検索

DB2-スキーマ

この章では、スキーマの概念を紹介し、説明します。

前書き

スキーマは、データベースで論理的に分類された名前付きオブジェクトのコレクションです。

データベースでは、同じ名前の複数のデータベースオブジェクトを作成できません。 そのために、スキーマはグループ環境を提供します。 1つのデータベースに複数のスキーマを作成でき、異なるスキーマグループで同じ名前の複数のデータベースオブジェクトを作成できます。

スキーマ

スキーマには、テーブル、関数、インデックス、テーブルスペース、プロシージャ、トリガーなどを含めることができます。 たとえば、「employee」データベース用に「Professional」および「Personal」という名前の2つの異なるスキーマを作成します。 同じ名前「Employee」で2つの異なるテーブルを作成することができます。 この環境では、1つのテーブルには専門的な情報があり、もう1つのテーブルには従業員の個人情報があります。 同じ名前の2つのテーブルがありますが、2つの異なるスキーマ「Personal」と「Professional」があります。 したがって、ユーザーは問題に遭遇することなく両方で作業できます。 この機能は、テーブルの命名に制約がある場合に役立ちます。

スキーマに関連するいくつかのコマンドを見てみましょう。

現在アクティブなスキーマを取得する

構文:

db2 get schema

:[現在のデータベーススキーマを取得するには]

db2 get schema

別のスキーマを現在の環境に設定する

構文:

db2 set schema=<schema_name>

:[現在のインスタンス環境に「schema1」を配置するには]

db2 set schema=schema1

新しいスキーマを作成する

構文:[承認されたユーザーIDで新しいスキーマを作成するには]

db2 create schema <schema_name> authroization <inst_user>

:[「db2inst2」で認証された「schema1」スキーマを作成するには]

db2 create schema schema1 authorization db2inst2

運動

同じ名前で2つの異なるスキーマを持つ2つの異なるテーブルを作成してみましょう。 ここでは、2つの異なるスキーマを持つ従業員テーブルを作成します。1つは個人用、もう1つは専門情報用です。

  • ステップ1 *:2つのスキーマを作成します。
  • スキーマ1 *:[professionalというスキーマを作成するには]
db2 create schema professional authorization db2inst2
  • スキーマ2 *:[パーソナルという名前のスキーマを作成するには]
db2 create schema personal authorization db2inst2
  • ステップ2 *:従業員の詳細に同じ名前の2つのテーブルを作成します
  • 表1 *:professional.employee

[スキーマ名「professional」を使用してデータベースに新しいテーブル「employee」を作成するには]

db2 create table professional.employee(id number, name
varchar(20), profession varchar(20), join_date date,
salary number);
  • 表2 *:personal.employee

[スキーマ名が「personal」の新しいデータベース「employee」を同じデータベースに作成するには]

db2 create table personal.employee(id number, name
varchar(20), d_birth date, phone bigint, address
varchar(200));

これらの手順を実行すると、2つの異なるスキーマを持つ、同じ名前「従業員」の2つのテーブルが取得されます。