我们以一个只卖书不卖音像制品的商务站点为例首先,必须有一个商品基本信息表TBookInfo(T是Table的意思),当然TUser也是应该有的。
然后必须有的是记录订单信息的TOrder和TOrderItem表。顾名思意,TOrder是记录订单信息的,这个表有一个主键OrderID,一个外键UserID。TOrderItem表是记录一张订单的商品信息的,比如在下单时的销售价,为什么要记录这个呢~~因为基本信息表中的价格可能会根据市场的需要有改变,但是别人下单的时候是多少就应该给别人多少。TOrderItem表有一个主键ItemID,两个外键BookID和OrderID。至于在购物车中,只使用Session记录客户已经选择的商品的BookID。在最后下单的时候在查询这个ID对应的其他数据,比如销售价,再insert到订单相关表中去。大概原理就是这样。当然不同的网站都会有自己的特点。我看现在比较普遍的有一个暂存架,我们新华就有。它就是基于数据库的,每个注册用户都有一个,你可以把选定的商品放在暂存架中,实际上这个时候我们在程序中已经将BookID存入数据库了,而不是像购物车那样仅仅是放在Session中。我想差不多就是这些了吧~~能明白吗~~?