一个订单设计问题。高分相送,来者有分。

fightplane 2004-12-19 09:42:50
最近开发一个商务网站,在订单的设计上遇到些问题。我想知道大家是怎么设计订单这一块的。
希望大家能提供一下你们的开发经验。
我的思路有2个:
首先订单主要是两部分内容:1.购物清单2.用户地址。
方案一
把购物清单和用户地址信息放到一个表里。这样可以节省多步数据库操作。但是如果订单用一个表来做,购物清单部分我该如何建表?
方案二
把购物清单和用户地址各用一个表。如果订单用两个表来做,那么我在进行数据库操作前应该有一个唯一确定的订单号来确定购物清单和用户地址2个表之间的数据联系。那么这个订单号该如何建立呢?

这是我目前思考的2种情况,我是第一次进行商务网站的开发。设计上没什么经验。大家不必拘泥于我上面说的2种思路。尽管畅所欲言,只要肯捧场就有分相送,绝不食言。
...全文
466 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
fightplane 2004-12-22
  • 打赏
  • 举报
回复
订单中关于关于交货方式大家是怎么处理的。
比如:邮寄,不管多远都是一个价格么?
yx19820406 2004-12-22
  • 打赏
  • 举报
回复
学习ing
gohands 2004-12-20
  • 打赏
  • 举报
回复
表少了冗余数据就多些
表多了数据结构复杂些(可以通过试图等来方便查询等操作)
根据时间来吧,建议按照 yaray(雅睿,生活在别处) 的方法来做,便于以后数据的扩展!!
和其他功能的添加!!
wjr1982et 2004-12-20
  • 打赏
  • 举报
回复
我也没有做过这个,以下的紧供参考:
我认为这个最好是动态和静态分离。这里面的静态就是一些
固定的属性,比如说,用户的属性、定单的属性。而动态就是一些
用户和定单联系到最后购物的过程,就是一个购买的过程。
用户地址可以加到用户的表中;购物清单可以加到定单的表中。
这2个表通过用户的ID联系。
在动态购买的表中,可以加用户的ID,定单的ID,以及购买是否
成功(不知道需不需要)等,你需要实现的功能,就是用户和定单联系
在一起所能完成的功能。
sun2828 2004-12-20
  • 打赏
  • 举报
回复
帮你顶!
zzzxxxcccvvv 2004-12-20
  • 打赏
  • 举报
回复
up
java_jing 2004-12-20
  • 打赏
  • 举报
回复
用户地址表
uid address 主键是uid (id=1,2,3----)
购物清单表
uid order_id 主键是uid+order_id
order_id随机生成,一个可下多个订单,由uid确定是哪个人,查询其地址,
bluemeteor 2004-12-20
  • 打赏
  • 举报
回复
嗯....我以前做过这个..随便说点业务方面的东西

在商业ERP中...订单都会分为两个部分...表头和表体

业务中,表头包含了下单日期,交付日期,下单人,交付地址等等属性 表体则包含了订单明细..其实也就是订单包含的商品数,它的条目数是>=1的

在逻辑中,表头表示了一个订单所共有或者公有的信息,每条订单本身所包含的属性,而表体与表头则应该是1-N的关系..所以,在库表设计中,通常表头为一个定义表,而表体为明细表 这样搜索订单的时候搜索定义表..查看订单显示明细表..
dadunqingwa 2004-12-20
  • 打赏
  • 举报
回复
还是两个表了! 那样明了点……
wzg_study 2004-12-20
  • 打赏
  • 举报
回复
我赞成小蔡的表结构,用三个表就行了
jerrykey 2004-12-20
  • 打赏
  • 举报
回复
ding!
Winder cai 2004-12-20
  • 打赏
  • 举报
回复
Customer(客户表)
id PK
address
name
其它信息


order(订单表)
id pk
Custaddress ```在前台从客户表检索
其它信息



T_Carriage (货物详细信息表)
ID fk(订单ID)
Name (货物名称)
... (其他货物信息)
ID,Name为主键

fightplane 2004-12-20
  • 打赏
  • 举报
回复
gohands(东方一华)
能提供一下yaray(雅睿,生活在别处)方法的具体内容么?
你说得我没听过。
shanshanliu 2004-12-20
  • 打赏
  • 举报
回复
总体思路清晰最重要
fightplane 2004-12-20
  • 打赏
  • 举报
回复
我的hotmail:fightplane@hotmail.com
qgz0910 2004-12-20
  • 打赏
  • 举报
回复
这个问题我也做个,请你留个联系方法
191301587 2004-12-20
  • 打赏
  • 举报
回复
Jwinder(小蔡) 的方法ok
wuxd02 2004-12-20
  • 打赏
  • 举报
回复
学习ing
riyue80 2004-12-20
  • 打赏
  • 举报
回复
bluemeteor(挂月)说的好,我们的就是这么实现的,不过我还没有完全理解.
yaray 2004-12-19
  • 打赏
  • 举报
回复
没有细想,仅供参考:

T_UserInfo (用户信息表)
UserId
Address (用户收货地址)
...(其他用户信息)



T_Order (定单表)
OrderId pk (定单号,主键)
UserId (用户ID)(通过用户ID来获得送货地址)
...(其他定单信息)



T_CarriageList (货物清单)
CarriageListId pk
OrderId fk -- 外键,对应T_Order.OrderId
CarriageID (货物ID)
...(其他货物清单信息)


T_Carriage (货物详细信息表)
CarriageID pk(货物ID)
CarriageName (货物名称)
... (其他货物信息)
加载更多回复(13)

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧