【SQLServer】参照整合性制約をつける方法

SQLServer

SQLServerで参照整合性制約(foreign key)をつける方法を紹介します。
SQLServer Management Studioをダイアログを使って設定する方法となります。

動作確認環境

SQLServer2019 Express

サンプルの説明

以下のようなテーブル構成に対し、t_masterのmaster_idを主キー、t_mainのmaster_idを外部キーとなるよう参照整合性制約を設定します。

参照整合性制約の設定前

参照整合性制約の設定後は、例えばt_mainテーブルレコードを挿入するときに、master_idがt_masterテーブルのmaster_idの中に存在しない値だった場合にエラーになります。

t_masterテーブルへあらかじめデータを登録しておき、

t_master

t_masterのmaster_idに登録した値を使えばt_mainへレコードを登録することができます。

t_main

設定方法

外部キーがあるテーブルのデザイン画面を表示します。

どれかの列を右クリックし、リレーションシップをクリックします。

下記画像を参考に次を内容を行ってください
①追加を押します
②テーブルと列の指定の入力欄の右にある[…]ボタンをします

主キーと外部テーブルのキーをどのフィールドにするか指定し、OKボタンを押します

前の画面に戻るので[閉じる]を押してください。

最後にテーブルへの変更内容を保存すればOKです。

タイトルとURLをコピーしました