私は「メインテーブル」を持っています、それを呼び出しますCustomers
:
CREATE TABLE Customers (
CustomerID int PRIMARY KEY NOT NULL,
FirstName nvarchar(50),
LastName nvarchar(50)
)
そして、私は「サテライトテーブル」を持っています、それを呼び出しますCustomer_IllegallyObtainedInformation
:
CREATE TABLE Customer_IllegallyObtainedInformation (
CustomerID int PRIMARY KEY NOT NULL,
CellPhonePin int,
SexualOrientation varchar(20),
EmailPassword varchar(50)
)
今、私が欲しいIllegal
のは、テーブルからメインテーブルへの外部キー制約Customers
です:
言い換えると:
- エントリなしの可能性があります
Customer
Illegal
- しかし、_
Illegal
_Customer
私の本能は、SQL Server データベース ダイアグラムでドラッグすることでした。
- FROM
Illegal
テーブルTOCustomers
テーブル_ _
Customers_IllegallyObtainedInformation
関係の "子" であるSQL Server を示します。代わりに、その SQL Server で発生することにより、1 対 1 の関係になります。
を挿入しようとするとCustomer
、既存の情報がないため失敗することを意味しますIllegal
。
SQL Server で"Parent-Child"または"One-to-Optional-One"関係を作成するにはどうすればよいですか?
注:例と質問を混同しないでください。Illegal
テーブルに犠牲的なプライマリ代理キーを作成できます。
しかし、それは私の質問ではありませんでした。