【发布时间】:2011-08-08 17:45:19
【问题描述】:
我有 2 张桌子(FirstTable 和 SecondTable)。我的 FirstTable 是表头,SecondTable 是明细表,但是 FirstTable 有复杂的主键。如何在我的 SecondTable 中引用第一个正常且最佳选择的表。
【问题讨论】:
标签: sql-server sql-server-2005 sql-server-2008 database-design normalization
我有 2 张桌子(FirstTable 和 SecondTable)。我的 FirstTable 是表头,SecondTable 是明细表,但是 FirstTable 有复杂的主键。如何在我的 SecondTable 中引用第一个正常且最佳选择的表。
【问题讨论】:
标签: sql-server sql-server-2005 sql-server-2008 database-design normalization
在您的情况下,至少有三种方法可以做到这一点。您选择的方式取决于您尚未告诉我们的信息。
在选择之前三思而后行。您提出这样一个非常基本的问题这一事实表明您在实施过程中可能会犯错误。 (这是一种观察,而不是批评。)首先处理数据库的草稿副本。期待摧毁它。
foreign key (Key_F1, Key_F2)
references FirstTable (Key_F1,
Key_F2)。foreign key (Key_F1) references
FirstTable (Key_F1)。当然这个
仅当值在
FirstTable.Key_F1 是唯一的。【讨论】: