[リレーションの追加]

Visual Studio のサーバー エクスプローラーの [リレーションの追加] ダイアログ ボックスを使用すると、SQL Server Compact で主キーと外部キーのリレーションを作成できます。 

オプション

[リレーション名]

リレーションの名前を指定します。

[ルールの更新]

次のオプションを使って、ルールを更新できます。

NO ACTION、CASCADE、SET NULL、SET Default

NO ACTION を指定した場合、SQL Server Compact からエラーが返され、親テーブル内で参照されている行の更新操作がロールバックされます。 

CASCADE オプションを指定した場合、参照先の行が親テーブル内で更新されると、参照元テーブル内の対応する行も更新されます。

たとえば、データベース内に A と B の 2 つのテーブルがあるとします。テーブル A にはテーブル B との参照関係があります。外部キー A.ItemID が、主キー B.ItemID を参照します。

テーブル B の行に対して UPDATE ステートメントを実行するときに、A.ItemID に ON UPDATE CASCADE アクションが指定されている場合、SQL Server Compact はテーブル A の従属行が 1 つ以上存在するかどうかを調べます。従属行がある場合、テーブル A の従属行が更新され、さらにテーブル B で参照される行も更新されます。

[ルールの削除]

次のオプションを使って、ルールを削除できます。

NO ACTION、CASCADE、SET NULL、SET Default

NO ACTION を指定した場合、SQL Server Compact からエラーが返され、親テーブル内で参照されている行の削除操作がロールバックされます。 

CASCADE オプションを指定した場合、参照先の行が親テーブル内で削除されると、参照元テーブル内の対応する行も削除されます。

たとえば、データベース内に A と B の 2 つのテーブルがあるとします。テーブル A にはテーブル B との参照関係があります。外部キー A.ItemID が、主キー B.ItemID を参照します。

テーブル B の行に対して UPDATE ステートメントを実行するときに、A.ItemID に ON UPDATE CASCADE アクションが指定されている場合、SQL Server Compact はテーブル A の従属行が 1 つ以上存在するかどうかを調べます。従属行がある場合、テーブル A の従属行が削除され、さらにテーブル B で参照される行も削除されます。

[主キー テーブル]

主キー テーブルを選択します。

[外部キー テーブル]

外部キー テーブルを選択します。

[主キー テーブル列]

主キー テーブルの一覧の列を選択します。

[外部キー テーブル列]

外部キー テーブルの一覧の列を選択します。

[列の追加]

[列の追加] をクリックすると、主キー テーブル列および外部キー テーブル列の一覧が [リレーションのルールの管理] に追加されます。

[列の削除]

[リレーションのルールの管理] に追加した主キー テーブル列および外部キー テーブル列を選択し、[削除] をクリックして削除します。

[リレーションの追加]

[リレーションの追加] ボタンをクリックすると、[リレーションのルールの管理] に表示される主キー テーブル列と外部キー テーブル列の間のリレーションが作成されます。