使用双字段主键创建一个表到多个表的关系

时间:2015-03-09 12:27:45

标签: mysql foreign-key-relationship composite-primary-key

我不是专业人士(并且不会说英语)但是我试图使用两个字段的主键在表和其他5个表之间创建关系。< / p>

我不知道它是否可能,如果它是正确的方式来做我想要的,所以每个建议都表示赞赏。

这就是我的想法:

TabA    TabB    TabC    TabD    TabE
Id           Id           Id           Id           Id
.......    .......    .......    .......    ....... (other fields)

EventsTab
TabRif
IdRif
....... (other fields or not?)

EventsTab主键=(TabRif,IdRif)

现在,假设在TabA中有一个Id = 3,在EventsTab中,主键将是&#34; A3&#34;。 如何将此值链接为外键?可能吗?是正确的方式吗?

提前感谢您的时间。

1 个答案:

答案 0 :(得分:0)

当您在EventsTab中说&#34;主键为A3&#34;你的意思是这实际上是TabRif = A和IdRif = 3?所以主键实际上是{A,3},而不仅仅是一个字符串&#34; A3&#34;?在这种情况下,这样做会更好,但是在其他每个表中我都会添加一个列,例如&#39; TabName&#39;,并且有2个外键。

TabA (TabName foreign key -> EventsTab.TabRif, Id foreign key -> EventsTab.TabId)

这有意义吗?