比如我有一个地址管理模块里面存的是用户常用的地址
如:
用户 电话 地址
张三 138222222222 北京XXXX
李四 13833333333 北京XXXXX
....
方法一
比如我购买一件商品,选择张三这个地址。 提交成功后 订单表中有一个字段关联 用户地址ID.
我们会按照这个地址发货,订单地址也会显示此地址。。若用户修改了张三的这个地址信息。。
下次看这个订单详情时,地址也会改变,因为根据用户地址ID关联。。
方法二:
提交订单的时候,把姓名,电话,地址都记录在订单表中。。这样就不关联用户地址表。。
无论用户修改地址也没关系。。但感觉这样设计订单表就多了一些字段。
如何更好的设计呢?
即可以随意的修改地址管理,也不会影响到订单详情看到的地址信息。
------解决方案--------------------
分订单表和地址表,订单表中保存一个地址ID字段,对应地址表中的地址ID字段,然后通过关联查询获取地址表中的信息
------解决方案--------------------
1. 还是要方案1这样做,必须要维护一张收货地址表,让用户提交订单的时候可以选择
2.订单表不需要跟地址表关联,当生成订单的时间,将用户的收货地址所有信息,生成为一个字符串保存至订单 表一个字段中去,因为这个地址主要是查看订单详情里面使用,不会做改动,这样如果用户在订单完成后修改了地址,查看订单详情也不会改为新的。 淘宝应该就是这样实现的,可以去看看
------解决方案--------------------
用户 many to many 地址 :建立第三方关联表
用户 one to many 订单 : 用户在订单表是外键
地址 one to one 订单 : 用户在订单表是引用地址id
最好先搞清楚物理数据模型的关系再做表,powerdesigner..
------解决方案--------------------
我的设计是订单价一个字段,直接保存着一段话,就是你的送货地址的详细情况,如果发现后面不一致,说明他改过了,只能这样,要不就是在生成一张表,叫做送货记录,直接把当时送货数据全部一模一样的复制一条道送货记录 里边跟订单关联起来