多对多和复合主键和外键

时间:2012-11-20 08:44:01

标签: sql sql-server foreign-keys composite-primary-key sql-server-2012-express

我正在构建一个有属性和潜在客户的系统,我有两个表,但是当我看到这是一个多对多的关系时,我创建了一个名为prospect_property的表,其中包含两列prospect_id和property_id,这些是两个/复合主键。

我遇到的问题是设置外键并将它们绑定在一起。我认为复合键应该是其他两个表上的外键(或者是相反的方式),但是当尝试在Management Studio中创建该关系时,我必须引用一对一字段,但我有一个vs两个......

我应该如何设置这些表之间的关系,以便我可以看到所有属性和属性可以看到所有潜在客户?

SQL SERVER 2012(Express)

1 个答案:

答案 0 :(得分:3)

1属性 - >几个prospect_property(两侧的PropertyId链接)
1展望 - >几个prospect_property(双方的ProspectId链接)

属性:PropertyId是PK
展望:ProspectId是PK
prospect_property:由PropertyId和ProspectId组成的复合PK           PropertyId是FK to Properties,ProspectId是FK to Prospects

只有这个。剩下的工作将通过建立一些链接所有这些内容的观点来完成。