テーブル内の外部キーの適切な処理を検証したい。以下に、作成中の 2 つのテーブルを示します。住所が記載されていない可能性があるため、null にしたいと考えています。それ以外の場合は、アドレス テーブルから主キーを参照し、それを Person テーブルに外部キーとして格納します。人なしで住所オブジェクトを持つことも可能です。
個人のテーブル:
CREATE TABLE Person
(
PersonID int IDENTITY PRIMARY KEY,
FName varchar(50) NULL,
MI char(1) NULL,
LName varchar(50) NULL,
AddressID int FOREIGN KEY REFERENCES Address(AddressID) NULL,
)
住所の表:
CREATE TABLE Address
(
AddressID int IDENTITY PRIMARY KEY,
Street varchar(60) NULL,
City varchar(50) NULL,
State varchar(2) NULL,
Zip varchar(10)NULL,
Intersection1 varchar(60) NULL,
Intersection2 varchar(60) NULL,
)
また、Q2トリガーを使用したことはありませんが、挿入を処理する方法は、ストアドプロシージャを使用して最初にアドレスを挿入し、主キーを取得してから、ストアドプロシージャに渡してPersonテーブルに挿入することだと思いますか?