sql订单表怎么设计比较合理

来源:百度知道 编辑:UC知道 时间:2024/06/30 14:02:08
我想设计个订单表,不知道怎么设计比较合理,我想得到的是订单总金额,和每笔订单的明细,我是怎么想的啊,一个主表里面有id,名称,总金额,一个附表里面有fid,数量,金额,
我的程序是这么个流程啊,生成订单写入附表,然后把金额这个值加到主表的总金额里,这样又怕,程序运行到一半出问题,加入了附表却没有累加总金额.
如果总金额用sql得出附表的所有金额和,又怕附表数据多了的话太慢,

还有一点啊,这个金额要求能换东西的如果换了东西要减少的,这样第二种方法好像不行了,不知道怎么设计啊,有经验的给我点思路啊感激不尽,
我是做php的

订单主表里的总金额有没有两可,你可以不要这个字段,查询的时候直接汇总明细表的金额。当然如果考虑到查询速度,也可以要这个字段,在创建订单和修改订单时,把总金额写入到字段中。

你担心汇总明细金额时太慢,我觉得这是多余的,一张订单的明细数据能有多少呢?1万条,够多了吧?可是即使是3万条,一个“sum(金额)”的查询也是很快的。

关于怕程序运行一半出问题的事情,你可以在做程序时用事务控制一下。(事务:多条数据库写入操作的集合,特性是要么所有操作都执行成功,要么所有操作都被回滚,取消执行),这样就保证了你数据的一致性。