Qual è la differenza? Se ho queste due tabelle:È necessario creare una chiave esterna nella tabella padre o nella tabella figlio?
CREATE TABLE Account (Id int NOT NULL)
CREATE TABLE Customer (AccountId int NOT NULL)
E voglio una chiave esterna che collega i due, che di seguito si deve fare e perché?
Opzione 1:
ALTER TABLE [dbo].[Customer] WITH CHECK
ADD CONSTRAINT [FK_Accounts_Customers] FOREIGN KEY([AccountId])
REFERENCES [dbo].[Account] ([Id])
Opzione 2:
ALTER TABLE [dbo].[Account] WITH CHECK
ADD CONSTRAINT [FK_Accounts_Customers] FOREIGN KEY([Id])
REFERENCES [dbo].[Customer] ([Id])
Di solito lo metto su un tavolo che non può vivere senza l'altro (quando questo si applica). Ma dipenderà da qualunque cosa renda le vostre domande più semplici, qualunque cosa abbia più senso da un punto di vista concettuale dei dati ... e quei due esempi possono essere opposti, anche. – entonio