Was ist der Unterschied? Wenn ich diese beiden Tabellen:Sollte ein Fremdschlüssel in der übergeordneten Tabelle oder untergeordneten Tabelle erstellt werden?
CREATE TABLE Account (Id int NOT NULL)
CREATE TABLE Customer (AccountId int NOT NULL)
Und ich möchte einen Fremdschlüssel Verknüpfung der beiden, die der folgenden sollte ich tun, und warum?
Option 1:
ALTER TABLE [dbo].[Customer] WITH CHECK
ADD CONSTRAINT [FK_Accounts_Customers] FOREIGN KEY([AccountId])
REFERENCES [dbo].[Account] ([Id])
Option 2:
ALTER TABLE [dbo].[Account] WITH CHECK
ADD CONSTRAINT [FK_Accounts_Customers] FOREIGN KEY([Id])
REFERENCES [dbo].[Customer] ([Id])
Ich lege es normalerweise auf den einen Tisch, der ohne den anderen nicht leben kann (wenn das zutrifft). Aber es wird davon abhängen, was Ihre Abfragen einfacher macht, was auch immer von einem datenkonzeptuellen Standpunkt aus sinnvoller ist ... und diese beiden Fälle können sogar entgegengesetzt sein. – entonio