【发布时间】:2013-02-21 17:34:20
【问题描述】:
有什么区别?如果我有这两个表:
CREATE TABLE Account (Id int NOT NULL)
CREATE TABLE Customer (AccountId int NOT NULL)
我想要一个外键链接两者,我应该做以下哪一个?为什么?
选项 1:
ALTER TABLE [dbo].[Customer] WITH CHECK
ADD CONSTRAINT [FK_Accounts_Customers] FOREIGN KEY([AccountId])
REFERENCES [dbo].[Account] ([Id])
选项 2:
ALTER TABLE [dbo].[Account] WITH CHECK
ADD CONSTRAINT [FK_Accounts_Customers] FOREIGN KEY([Id])
REFERENCES [dbo].[Customer] ([Id])
【问题讨论】:
-
我通常把它放在一张没有另一张的桌子上(如果适用)。但这将取决于使您的查询更简单的方法,从数据概念的角度来看更有意义的方法……甚至这两个可能是相反的。
标签: sql sql-server-2008-r2 foreign-keys