[リレーションの追加]
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 で参照される行も削除されます。
[主キー テーブル]
主キー テーブルを選択します。
[外部キー テーブル]
外部キー テーブルを選択します。
[主キー テーブル列]
主キー テーブルの一覧の列を選択します。
[外部キー テーブル列]
外部キー テーブルの一覧の列を選択します。
[列の追加]
[列の追加] をクリックすると、主キー テーブル列および外部キー テーブル列の一覧が [リレーションのルールの管理] に追加されます。
[列の削除]
[リレーションのルールの管理] に追加した主キー テーブル列および外部キー テーブル列を選択し、[削除] をクリックして削除します。
[リレーションの追加]
[リレーションの追加] ボタンをクリックすると、[リレーションのルールの管理] に表示される主キー テーブル列と外部キー テーブル列の間のリレーションが作成されます。