电子商务数据库设计(is-a relationship):哪个更好?

时间:2017-01-26 03:29:42

标签: sql database postgresql database-design

我正在设计一个电子商务数据库模型。现在,我正在Order和Item表之间实现OrderItem(或OrderLine)表。我的商业模式是在线药店,这意味着该项目中的项目 处方药套装或现成产品。

让我用一个简单的图表来澄清。

P.S。我在python-django环境中构建系统,它不支持复合自然键,所以我必须为每个表设置自动增量id。

情景A

enter image description here 需要考虑的事项:

  • OrderItem表约束PrescriPillSet_id& ReadyMadeProduct_id是互斥的。 (如果两列中的一列不为null,则另一列必须为null)

情景B

enter image description here

需要考虑的事项:

  • Item_id必须是唯一的。
  • OrderItem表首先检查商品是否为商品。如果为true,则ReadyMadeProduct表中具有正确item_id的项目将保存在OrderItem中。如果为false,则保存PrescribedPillsSet中的项目。

摘要

您认为哪个更好,性能更好? 我有一种感觉情景B是一个更好的选择,因为它似乎"似乎"对我更明确,但我无法用证据支持它。 谢谢你的阅读。

0 个答案:

没有答案