日期:2014-05-17  浏览次数:20988 次

请问一个购物网站的DB应该怎样设计呢?
一个USER表,一个GOODS表,他们产生一个ORDER的关系,USER对于GOODS应该是M:N,理论上需要产生一个新的表Order,userid和goodsid为主键,但是订单的ID应该是主键,一个人可以对同一个商品下不同的订单,所以把userid,goodid,orderid三个当主键也不行,这个应该怎么设计呢?

------解决方案--------------------
做到低耦合 user goods orders 分别是三个表
不要做太多关联 order表当然是orderid作为主键就ok了
------解决方案--------------------
先画出你的ER图,标明对于关系,然后你按照ER图转换为实体联系图的原则就可以知道应该都多少表了。
------解决方案--------------------
user good orderHeader orderDetail 分别是四个表。用户表,物料表,订单主表,订单明细表
userID 是 user主键
goodID 是 good主键
orderID是 orderHeader主键
orderID,是orderDetail 外键 sID 是orderDetail主键。
一张订单可以购买多个物品