外部キーテーブル

外部キーは、プライマリテーブルと別テーブルのレコード間の参照整合性を維持するために使用されるSQLデータベースのポインタです。

外部キーを持つ各レコードはプライマリキーによってレコードを示しており、[外部キー]テーブルはこれらのレコードの間の関係を定義します。[外部キー]テーブルは、[外部キー定義]テーブルと[外部キーセグメント]テーブルの2つのテーブルで構成されています。

プライマリキーと外部キーの関係を定義することで参照整合性が維持されます。RDBMSでは、テーブルの宣言または整合性の制限により参照制約を設定できます。

[外部キー]テーブルは、[外部キー定義]テーブルと[外部キーセグメント]テーブルの2つのテーブルを組み合わせたものです。

[外部キー定義]テーブルには、以下のカラムがあります。

カラム

内容

外部キー番号(#)

自動的に生成された連番が表示されます。この番号は、識別子として使用され、ユーザが変更することはできません。

名前

Magic xpaでの外部キーの名前です。この名前を使用して、RDBMSにおいて外部キーを定義します。外部キーは1つまたは複数のカラムの集合で、他のテーブルのプライマリキーを使用して1つのテーブル内の行を他のテーブルのユニークな行に関連付けます。

参照テーブル

参照するテーブル番号を指定します。直接入力できるほか、ズームして、[テーブル一覧]から選択することもできます。

プライマリキー

参照されるテーブル用のプライマリキーの名前です。

プライマリキーは、1つまたは複数のカラムで構成されたユニークなキーで、アクセスする場合の主要なキーとして使用されます。

テーブルは、1つ以上のユニークなキーがあっても、プライマリキーは1つしかありません。

DBに作成

外部キーの設定をRDBMSにも適用するか否かを指定します。

この欄がチェックされていない場合、外部キーの設定はMagic xpaの内部にのみ適用されます。設定を行うテーブルと参照するテーブルが同じデータベースの場合、この欄はデフォルトでチェックされます。

データベースが異なる場合、この欄は無効となり、外部キーの設定はRDBMSに適用されません。

この制約は、テーブル内のカラムの値を無条件に参照するテーブルのカラムと同じになるように制限します。現在のANSI規約では、この制約をテーブルの作成時または修正時に行う必要があります。

[外部キー]セグメントテーブルには、以下のカラムがあります。

カラム

内容

カラム番号(#)

自動的に生成された連番が表示されます。この番号は、識別子として使用され、ユーザが変更することはできません。

カラム

参照テーブルのインデックスに対応するカラムを指定します。この欄からズームして、[テーブル一覧]から選択します。

現在のテーブルの中の各セグメントは、参照テーブル中に対応するセグメントを持っている必要があります。

参照テーブルのカラム番号(#)

参照テーブルのセグメントの連番が表示されます。

参照テーブルのカラム

参照テーブルのインデックスセグメントのカラム名が表示されます。参照キーを設定すると、自動的に設定されます。他のインデックスと交換すると、新しいインデックスセグメントに上書きされます。

 

注意:

  • 外部キーが定義できるのは、プライマリキーが存在している場合のみです。プライマリキーは、[インデックス]テーブルで定義します。

  • XMLソースは、他のテーブルの外部キーの参照テーブルとして選択できます。

  • [外部キー]テーブルには119行まで登録可能ですが、データソースとして利用できるかどうかは、使用するDBMSに依存します。

関連トピック: