テーブル内の外部キーの適切な処理を検証する必要があります。ここに私の2つのテーブルが作成されています。私はそれがnullになりたいので、人が記載されているアドレスを持っていない可能性があります。さもなければ、私はアドレステーブルからプライマリキーを参照し、それを外部キーとしてPersonテーブルに格納したいと思います。人がいないアドレスオブジェクトを持っている可能性もあります。人のための外部キーを使用したSQL Serverテーブルの作成
表:アドレス用
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テーブルに挿入するストアドプロシージャ?
「アドレス」は最初に作成する必要がありますが、私にとってはうまく見えます。 –
このデザインが必要なのは確実ですか?何人の人が同じ住所を持っていますか?これは、外部キーをアドレステーブルから削除する唯一の理由です。それ以外の場合は、アドレステーブルでPersonIDをPKとして使用してください。 –
@ElectricLlamaに同意します。あなたはデザインを検討したいかもしれません。あなたは通常、PersonIDをAddressテーブルに置き、Personテーブルでそれを参照します。実際には、人は複数のアドレスを持つことができます。 – Elmer