我已经下面列出四个表:以下状态表数据库设计
出货
- ShipmentID(PK)
- OtherShipmentInfo
ShipmentStatus
- StatusID(PK)
- 状态说明
ShipmentStages
- ShipmentStageID(PK)
- ShipmentID(FK到出货)
- StatusID(FK到ShipmentStatus)
- DateTime
DeliveryCodes
- DeliveryCodeID(PK)
- DeliveryCodeDescription
我的问题是哪些表 “更合适” 来存储与货物的最终状态信息?如果仅在最终装运阶段时需要记录交货代码,我应该在ShipmentStages
表中使用外键还是将外键置于Shipments
表中,并且只在最后阶段时更新该外键?
因为DeliveryCode
只与最终出货状态有关,所以如果我将外键放在ShipmentStages
表中,则大多数条目将具有NULL值。
我觉得任何一种情况都会“起作用”,但哪一种更“合适”?
请不要使用不适用于您的问题的标签。我删除了数据库标记,因为它不清楚你实际使用了哪一个。请仅添加*的标签*您实际使用的数据库 –
道歉混淆。我已编辑帖子,只包含适当的标签。 – wamaral
根据不正确的货件被退回和转运,是否可以有多次交货?这一切都将被附加到相同的货物或每个将是一个单独的项目? – HLGEM