这个SQL模式有什么问题?

我正在设计我的第一个MySQL数据库,这里的想法是我们有可以包含多个不同项目的订单.
所以我决定将所有相关信息存储在一个表中,将项目存储在另一个表中,然后创建第三个表,其中存储每个订购的项目.当然,每当我需要列出订单时,我首先必须找到每个OrderedItemsID,其订单ID与我需要的订单ID相同,并且与项目匹配.

既然这是我的第一个数据库设计,我并不会觉得这是一个很好的解决方案,所以我想知道是否有人知道这个问题的一个很好的解决方案?
谢谢

图片是http://img211.imageshack.us/img211/5575/stackoverflowq.png

最佳答案
这个解决方案很好,但是在订单表中我会提出总价,税和运费.这样您就不必转到OrderItems表来获取总数.

此外,您还希望将项目中的所有内容存储到orderitem表中.这将包括名称和描述.原因在于问责制.如果有人更改了表格中某个项目的名称,那么这将基本上改变它以便收到任何人的收据.而你不想这样做.

基本上说,订单表中的所有信息都不需要依赖于实际的商品表.

您还可以进一步添加计费和送货地址,以便如果用户将来更改它,它将不会更改此特定订单.

相关文章

在正式开始之前,我们先来看下 MySQL 服务器的配置和版本号信...
> [合辑地址:MySQL全面瓦解](https://www.cnblogs.c...
物理服务机的CPU、内存、存储设备、连接数等资源有限,某个时...
1 回顾 上一节我们详细讲解了如何对数据库进行分区操作,包括...
navicat查看某个表的所有字段的详细信息 navicat设计表只能一...
文章浏览阅读4.3k次。转载请把头部出处链接和尾部二维码一起...