I have a "main table", name it Customers :
CREATE TABLE Customers ( CustomerID int PRIMARY KEY NOT NULL, FirstName nvarchar(50), LastName nvarchar(50) )

And I have a "satellite table", call it Customer_IllegallyObtainedInformation :
CREATE TABLE Customer_IllegallyObtainedInformation ( CustomerID int PRIMARY KEY NOT NULL, CellPhonePin int, SexualOrientation varchar(20), EmailPassword varchar(50) )

Now, what I want is to restrict the foreign key from the Illegal table back to the Customers main table:

In other words:
- there may be
Customer without a Illegal entry - but there can never be
Illegal without Customer
My instinct was to drag and drop on a SQL Server database diagram
- FROM table
Illegal TO table Customers
An indication to SQL Server that Customers_IllegallyObtainedInformation is a "child" in relation. Instead, what happens in this SQL Server makes it one-to-one:

This means that if you try to insert Customer , it will not work because there is no existing Illegal information.
How to create a parent-child or one-to-one relationship in SQL Server?
Note: Do not confuse the example with the question. I could create a sacrificial primary surrogate key in the Illegal table:

But that was not my question.
source share