我正在设计我的第一个MySQL数据库,这里的想法是我们有可以包含多个不同项目的订单.所以我决定将所有相关信息存储在一个表中,将项目存储在另一个表中,然后创建第三个表,其中存储每个订购的项目.当然,每当我需要列出订单时,我首先必须找到每个OrderedItemsID,其订单ID与我需要的订单ID相同,并且与项目匹配.
既然这是我的第一个数据库设计,我并不会觉得这是一个很好的解决方案,所以我想知道是否有人知道这个问题的一个很好的解决方案?谢谢
图片位于http://img211.imageshack.us/img211/5575/stackoverflowq.png
这个解决方案很好,不过,在订单表中我会输入总价、税金和运费。这样您就不必转到 OrderItems 表来获取总计。
此外,您需要将商品中的所有内容存储到 orderitem 表中。这将包括名称和描述。原因是为了问责。如果有人更改了表中某个项目的名称,那么这实际上会改变每个人的收据。而你不想那样做。
基本上来说,订单表中的所有信息都不需要依赖于实际的商品表。
您还可以进一步添加帐单和送货地址,这样如果用户将来更改此地址,该特定订单就不会更改。