Mysql 这是一个好的数据库体系结构吗?如果不是,我可以改变什么

Mysql 这是一个好的数据库体系结构吗?如果不是,我可以改变什么,mysql,database,database-design,many-to-many,database-normalization,Mysql,Database,Database Design,Many To Many,Database Normalization,我在一篇旧文章中发现了这一点,我正在考虑将其用于一个项目,但我不知道是应该更改还是保留它,以下是我想要更改的内容: 删除产品选项并将产品id和选项组id添加到选项 删除订单详细信息并将其信息保存在订单中 我做的不好吗?另外,如果您能告诉我一些类似的最佳实践,我将不胜感激 谢谢您的时间。两张桌子都放在那里是有充分理由的 productoptions是options和products之间的映射表:这是一种多对多关系,其中给定的产品可能有多个选项,一个选项可能被多个产品使用。如果删除此表,则会将o

我在一篇旧文章中发现了这一点,我正在考虑将其用于一个项目,但我不知道是应该更改还是保留它,以下是我想要更改的内容:

  • 删除产品选项并将产品id和选项组id添加到选项
  • 删除订单详细信息并将其信息保存在订单中
我做的不好吗?另外,如果您能告诉我一些类似的最佳实践,我将不胜感激


谢谢您的时间。

两张桌子都放在那里是有充分理由的

productoptions
options
products
之间的映射表:这是一种多对多关系,其中给定的产品可能有多个选项,一个选项可能被多个产品使用。如果删除此表,则会将
optionName
添加到
productoptions
中与同一选项相关的每一行中,这会降低效率,并可能破坏数据完整性(如何确保给定选项始终具有相同的名称?)


至于
order\u详细信息
:这是与
订单
的多对一关系。一个订单可能有多个明细行,每个明细行都指向不同的产品。删除此表意味着失去这种可能性。

您好,salah1337,欢迎使用堆栈溢出。这个问题确实缺乏细节。我们无法回答您的问题,除非您提供更多关于您正在尝试实现的内容以及您当前遇到的问题的详细信息。您好,感谢您的回答,基本上我不知道表productoptions和orderdetails是否真的有目的,以这种方式构建db是否有助于以后的工作?或者我可以将选项与productoptions和orderdetails与details结合起来吗?如果您看到order和order details表中有一对多关系,同样,product options表中也有用于规范产品和选项之间的多对多关系的表,此实体关系图具有规范化的表表示形式,因此最好不要更改它。@AnshulSharma对于数据库规范化,请使用not。PS将值替换为其他某种程度上更像id的值不是标准化。然而,将订单和订单详细信息结合在一起可以合理地称为非规范化。给出你所需要的&把它和你的问题联系起来。仅将图像用于不能表示为文本或扩充文本的内容。无法搜索或剪切粘贴图像。包括带有图像的图例/图例和说明。