sql – 数据建模:是否需要使用交叉表?

前端之家收集整理的这篇文章主要介绍了sql – 数据建模:是否需要使用交叉表?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
考虑以下几点:

我有两个表(客户和案例)定义如下:

**Customers**
CustomerId (PK)
CustomerName
CustomerPhone

**Cases**
CaseId (PK)
CaseManager
CaseNotes

每个客户可以拥有无​​限量的案例,但每个客户只能属于一个客户.所以为了将表相互关联,我将使用一个交叉表(CustomerCases),它分别由每个表中的外键组成.

但是,无法将Customers表中的CustomerID作为Cases表的外键添加?我觉得我错过了一些东西.是否有任何陷阱,我应该注意,我应该选择不使用交叉表?

解决方法

如果一个案例只能属于一个客户,对我来说似乎完全合理,只需要将一个CustomerID FK添加到Cases表中即可. 如果您认为该要求可能最终会改变(例如,一个案例可能有多个客户),则交叉表方法可能会更有意义. 另外除非你有一个无限数量的CaseManagers,否则,有一个Managers表并且从Cases表中有一个FK也是有意义的.

猜你在找的MsSQL相关文章