SQL:用于继承的多个外键

时间:2013-07-25 19:20:58

标签: sql inheritance indexing foreign-keys

我在数据库中有几个表,我有一个关于外键的快速问题。

公司

PK: CompanyID

制造商

PK, FK: CompanyID

请/型号

PK: MakeModelID
FK: ManufacturerID

设备

PK: EquipmentID
FK: MakeModelID

ManufacturerID表格中将Equipment列作为FK添加到制造商是否合适?那么在ManufacturerID表中的MakeModelIDEquipment创建索引会很聪明吗?我是自学成才,只是在寻求一些设计输入。感谢。

2 个答案:

答案 0 :(得分:2)

不,将FK包含在设备表中的制造商表中是不合适的。

设备表已经有一个FK到Make / Model表,它有FK到Manufacturer表。如果您创建了FK,那么从技术上讲,设备表中的记录可以链接到两个不同的制造商。

答案 1 :(得分:0)

没有必要在Equipment表中包含ManufacturerID,因为您已经有MakeModelID,并且MakeModel表已经有了一个ManufacturerID。因此,您可以通过MakeModel表加入以获取ManufacturerID。