数据库表更新设计问题,要求看到c表的更新记录
有三张数据表a,b,c,其中a、b表各取一部分字段组合生成c表,a.某字段=b.某字段,a、b两表数据,都可能更新(可能在组合成c表前更新,也可能在组合成c表后更新)。如果a或b表,有更新,而且c表数据,当前为‘未审核’状态,则需要有消息告之操作员,更新c表,如果c表为已审核状态,不需要更新c表。
我在a、b两表上分别建立了触发器,可以看到a、b两表的更新记录,如果也想要看到c 表的更新记录,应该怎样设计呢?
另外,我想知道,电子商务系统中,订单号生成后,收货人或联系人信息变更后,订单需要自动更新吗,如果该订单还未确认收货
订单不和联系人信息产生任何关系,订单中记录的联系人信息是下单时生成的一个快照。
买过的商品也一样。
你可以把这些信息都加入到订单表中,允许修改收货地址,如果订单还没发货的话。
快照怎么理解,是数据库中的一个临时表吗
@天水Lv: 不是临时表,是订单的一个属性。
订单(订单号,商品信息(可以序列化成XML),商品Id,联系人信息(XML),状态)
商品信息就是客户下单的那一刻生成的快照,联系人信息就是客户录入的联系人信息。
这个设计不太正确吧?C表是用AB的ID吗?还是直接复制值?同一份数据最好不要放到两个不同的表里。
是AB表的Id ,我想知道AB两表有更新,C表如何处理,合成C表时,可能用的是AB两表历史数据,就比如说订单完成后,收货人信息更改,订单的收货信息将不会更改。即使订单未完成,更新了收货人地址,订单表中的收货人地址也没用提示更新(淘宝是这样),我想在AB两表有更新时,有消息提示一下 C表更新,那当AB两表更新时,就要遍历一遍C表吗
@天水Lv:
订单是合同形式的,其它信息更新后,不应该更新订单,如果订单已经生成了。只要重新生成订单。
C表如果用ID的话,肯定会同步更新的呀,难道你的AB表更新的时候都是重新插入记录吗?而不是更新现有数据?