这是一个好的数据库架构吗?如果不是,我能改变什么
Is this a good db architecture and if not what can i change about it
我在一个旧的 post 中找到它,我正在考虑将它用于一个项目,但我不知道我是否应该更改它或保留它,这是我想要更改的内容:
- 删除产品选项并将产品ID和选项组ID添加到选项
- 删除订单详细信息并将其信息放入订单
是我做的不好吗?另外,如果您能告诉我一些类似此类的最佳做法,我将不胜感激。
感谢您抽出时间。
两个 table 都是有充分理由的。
productoptions
是 options
和 products
之间的映射 table:这是一个多对多的关系,其中给定的产品可能有多个选项,并且一个选项可以被多个产品使用。如果您删除此 table,您最终会向 productoptions
中与同一选项相关的每一行重复添加 optionName
,这是低效的,并且可能会破坏数据完整性(如何您是否确保给定的选项始终具有相同的名称?)。
至于order_details
:这是对orders
的多对一关系。一个订单可能有多个详细信息行,每个都涉及不同的产品。去掉这个table就意味着失去这个可能性
我在一个旧的 post 中找到它,我正在考虑将它用于一个项目,但我不知道我是否应该更改它或保留它,这是我想要更改的内容:
- 删除产品选项并将产品ID和选项组ID添加到选项
- 删除订单详细信息并将其信息放入订单
是我做的不好吗?另外,如果您能告诉我一些类似此类的最佳做法,我将不胜感激。
感谢您抽出时间。
两个 table 都是有充分理由的。
productoptions
是 options
和 products
之间的映射 table:这是一个多对多的关系,其中给定的产品可能有多个选项,并且一个选项可以被多个产品使用。如果您删除此 table,您最终会向 productoptions
中与同一选项相关的每一行重复添加 optionName
,这是低效的,并且可能会破坏数据完整性(如何您是否确保给定的选项始终具有相同的名称?)。
至于order_details
:这是对orders
的多对一关系。一个订单可能有多个详细信息行,每个都涉及不同的产品。去掉这个table就意味着失去这个可能性