订单表的字段类型mysql_Mysql数据库下订单表如何设计?Mysql数据库下订单表如何设计
商品表和订单表 。
通过⼀个表来关联。
之前下过mysql现在重新下载mysql
那删除了商品,相关联的订单表如何显⽰出这个已经删除的商品
订单表需要冗余商品名、商品编号、价格等基本信息。
不能只保存⼀个商品主键,这个是订单表的基本原则,同时⽣成了订单的商品是不能删除的。
订单表中引⽤商品表主键,删除使⽤状态假删。
同时引⼊商品的状态,总之就是反范式设计,保证⼀次可以获得全部要的状态,不要进⾏多表jion。
订单:分为以下⼏种
订单凭证(接到客户的订单表),采购订单,销售订单,委外订单
我的数据库该怎样设计
1:订单类型表:分订购,采购,销售,委外
订单表:
订单详情表:
2:订单凭证表-订单凭证表详情
采购订单
采购订单详情表
⼀次类推
他们之间可以相互切换,就是订单凭证(产品产线做完以后),可以转换成销售订单
在记录订单凭证那张表⾥⾯加个状态是否完成如果完成了就可以打了标记然后记录到销售订单
不需要订单类型表,在订单表中加个订单类型的字段来记录就是了,如果防⽌误输⼊错误的订单类型,在这个字段上加约束就⾏了。
两个表就够了。
订单表⽤⼀个类型字段进⾏区分,需要转换时直接改订单类型。
订单详情表订单的明细记录。
相互切换也不要对同⼀个记录进⾏改标志,⽽是应该完成原单,新增新单
所有单据都⽤⼀套主从表:
⼀个主表,有单据类型字段
⼀个从表
要看业务需求的。
如果⼀个订单按流程⾛下去,不同的步骤被称为不同的名称,改标志就够了。
最多加上⼏个时间字段,⽤来记录转换类型的时间点。
要是内容没变化,同样的明细复制⼏份没有意义,反⽽平⽩增加了数据量。
订单凭证,采购订单,销售订单,委外订单各建⼀个表存储(主表),必要时建各⾃对应的明细表.
各种订单的主表之间可通过各⾃的内码(InterID)关联.
买家购买商品后,产⽣⼀个订单,那么订单进⾏的每个步骤的数据如付款、付款时间,发货、发货时单,确认收货等信息应该如何设计,都放在订单表中吗
每个步骤的数据如付款、付款时间,发货、发货时单,确认收货等信息应该如何设计,都放在订单表中吗
订单表:订单编号、下单时间、提交⼈、订单类型、收货⼈信息、订单状态[待发货-已发货等]、订单审核⼈、订单⾦额、收货⼈ID[来⾄客户信息表]、
订单商品信息记录表:订单编号、商品ID、
其实你应该是有⼀个顺序⽣成不同的单据,并不是⼀个订单这么简单,
客户下好单可以叫⼀个基本订单、确认后,⽣成⼀个付款单、再后来就是发货单、最后收到钱了还有⼀个
收款单、这是最基本的⼏个单据!
⼀个订单需要包含以下信息:客户信息、商家信息、产品信息、订单⾃定义信息(订单状态、编号等)。数据库⾥⾯与之关联的有以下表:客户表、商家表、产品表、订单表
所遇到的问题:
⼀个订单不只包含⼀个产品,如果⼀个订单包含2个或者两个以上的产品时,如何解决
当前解决⽅案:
另外建⽴⼀张关系表、⼀张历史记录表。将每个订单的产品信息存⼊关系表⾥⾯,在查询订单明细的时候,从关系表⾥读出该订单的产品信息。因为关系表的增长速度⾮常快,为了提⾼查询速度,将很久以前的数据移⼊历史记录表⾥⾯。
你可以将定单表中唯⼀标识定单的字段与产品定单表中唯⼀标识产品的字段,重新定义⼀个表,在此表中,将这两个字段作为联合主键就可以了  你上⾯的解决⽅案,当运⾏到⼀定程度时,历史记录表会很⼤.查询会很⿇烦   你可以在定单表中,增加这两个字段,并将订单状态设置成标志位,在业务逻辑中进⾏判断,那么此订单中,只要客有想买的商品,即可以成交.   谢谢您的解答,我似乎明⽩您的意思了.但是需要查询订单详情的时候,是不是也从新定义的这个表⾥获取产品的ID ,然后再从产品表⾥获取资料呢 这样是不是也算是定义了⼀个关系表 如果有多个产品的话,怎么解决呢这点我还是没
有搞懂,请明⽰. 谢谢. 你⽤⼀个新表来定义新购的产品就可以了,完全可以使⽤定单信息这⼀个表就可以了.
⾸先,需要表产品、订单、库存、出库这4个表,根据你的需求来说。
产品记录产品名称、产品价格等等产品信息。
订单记录订单号、订单创建⼈等等
库存记录产品的ID、产品总量等等
出库记录产品的ID、订单的ID、产品数量、打单员等等
这样可以通过查出库记录的时候,根据订单的ID可以看到这个订单⼀共有什么产品。
其实我觉得如果你这⾥不涉及⼀个出库的需求,单纯需要知道每个订单的产品,应该有更加简洁的设计⽅案。
存在这样⼀个关系:商品,客户,订单。
每个客户对应多个订单
每个订单对应多个商品
请问如何设计订单表
还有,所有客户的订单都存在⼀张表中,还是为每个客户都创建⼀个订单表
商品:ID,名称,价格,。。。。
客户:ID,名称,。。。。。
订单主表:流⽔号,订单⽇期,客户ID。。。(⼀个订单⼀条)
订单辅表:流⽔号,主表流⽔号,商品ID。。。(同⼀主表的流⽔下对应多个商品)
典型的购物车案例,⽤户在商城购买商品, 同⼀个商品可以购买多次。 最后形成⼀个订单。我的数据库是这样设计的:
因为⼀个订单可以包含很多商品条⽬, ⽽⼀个商品也可以由很多订单订购。所以2者是多对多的关系。另外还有需求,⽤户可以修改订单中商品的数量, 就是说,⽤户可以买10个或者更多个商品。
表设计如下
Order(订单表):
............ id, int
............ name,string
Product(商品表)
............ id, int
............ name,int
Ref_OP(订单商品关联表)
............ order_id, int
............ product_id, int
............ quantity, int /**⼀个订单同⼀个商品的数量 */
请注意,最后的关联表 中有个 quantity , 我想和各位探讨的是, 这样的设计是否合理
很不合理。
订单表管理的订单,商品表管理的是库存。他们没有关系的。
需要有订单表,订单明细表和商品表,其中商品表和订单明细没有关联,记⼊明细时需要复制全部商品信息。
很不合理。
订单表管理的订单,商品表管理的是库存。他们没有关系的。
需要有订单表,订单明细表和商品表,其中商品表和订单明细没有关联,记⼊明细时需要复制全部商品信息。
拿京东⽹来举个例⼦:
如果没有关联,就是说,我在查看订单时,在订单⾥看到的商品信息都是订单详细表⾃已存储的吗
那商品性能,描述等很多信息全存⼀份在订单⾥,太可怕了吧。
不知道我的理解是否正确:-)
为什么要这样设计
拿京东⽹来举个例⼦:
如果没有关联,就是说,我在查看订单时,在订单⾥看到的商品信息都是订单详细表⾃已存储的吗
那商品性能,描述等很多信息全存⼀份在订单⾥,太可怕了吧。
不知道我的理解是否正确:-)
为什么要这样设计
考虑⼀下两份定单的情形,假定它们是在不同时间作成的,在这段时间⾥同种商品的价格单位或者描述都是可以变化的,⽽定单上则应记录下作成时的产品信息。因此,两份定单上对同种商品的记录可以是不同的,所以不能使⽤商品表⾥的信息。
Ref_OP(订单商品关联表)
这个名称取得不好,其实就是 LineItem(销售项/订单项)。
考虑⼀下两份定单的情形,假定它们是在不同时间作成的,在这段时间⾥同种商品的价格单位或者描
述都是可以变化的,⽽定单上则应记录下作成时的产品信息。因此,两份定单上对同种商品的记录可以是不同的,所以不能使⽤商品表⾥的信息。
有道理。商品的价格、描述等信息是动态变化的。
商品表信息,可以分成可变,不变的(⽐如序列号)。
ProductSpec 中可以只放不变信息,并暂存动态数据(如最新价格)。
预期动态变化的信息,应该拷贝到 LineItem 中。
lodge >> 其中商品表和订单明细没有关联,记⼊明细时需要复制全部商品信息。
⼆者可以(最好)有关联。
不变信息或辅助信息,可以不⽤复制,如产品说明、⼚家等。
全部复制会造成信息冗余。
lodge >> 其中商品表和订单明细没有关联,记⼊明细时需要复制全部商品信息。
⼆者可以(最好)有关联。
不变信息或辅助信息,可以不⽤复制,如产品说明、⼚家等。
全部复制会造成信息冗余。
每份定单上的信息都是定单作成时被记录下来的,每份定单都是独⽴存在的,它们之间没有相互参照的关系,即便是同种商品的信息不⼀致,也不会破坏数据的⼀致性,因此这只是重复⽽并⾮冗余。
减少重复数据个⼈认为意义不⼤,这么作只能缩⼩数据库的⼤⼩,由于存在多对多的复杂关系容易影响检索效率。
事实上我认为还要考虑⼀下客户退货、修改订货时的数量,或者订单中某⼀⽤户的优惠(包括⼤客户的优惠、某节假⽇促销的优惠等信息),当然也可以不放在同⼀张表内,不过那就需要关联⼀些表了,如取舍要设计者根据实际情况⾃⾏把握!
这些都和 Use Case 有关。
脱离了系统需求来讨论表设计,等于⽩讨论。
事实上我认为还要考虑⼀下客户退货、修改订货时的数量,或者订单中某⼀⽤户的优惠(包括⼤客户的优惠、某节假⽇促销的优惠等信息),当然也可以不放在同⼀张表内,不过那就需要关联⼀些表了,如取舍要设计者根据实际情况⾃⾏把握!
这样考虑才全⾯啊
我有个问题,就是我现在有⼀张订单关联表,和⼀张订单主表,还有⼀张商品表。
订单关联表:
ID⾃动增长主键
orderId订单编号
productId商品编号
price价格
number数量
----------------------------
主表:orderId订单编号
⽤户名、电话、地址...
商品表:
怎么才能做到⼀张订单对应多个商品呢,我买东西的时候,⼀张单⼦可能会有很多商品的。插⼊数据库的时候如何实现,我现在脑⼦⾥感觉只能⼀张订单对应⼀个商品呀
买家购买商品后,产⽣⼀个订单,那么订单进⾏的每个步骤的数据如付款、付款时间,发货、发货时单,确认收货等信息应该如何设计,都放在订单表中吗
看你其他表的关联,建议建⽴主⼦表,将付款⾦额等消息,放⼊⼦表中,将发货等信息,使⽤ID和其他表关联
每个步骤的数据如付款、付款时间,发货、发货时单,确认收货等信息应该如何设计,都放在订单表中吗
订单表:订单编号、下单时间、提交⼈、订单类型、收货⼈信息、订单状态[待发货-已发货等]、订单审核⼈、订单⾦额、收货⼈ID[来⾄客户信息表]、
订单商品信息记录表:订单编号、商品ID、
其实你应该是有⼀个顺序⽣成不同的单据,并不是⼀个订单这么简单,
客户下好单可以叫⼀个基本订单、确认后,⽣成⼀个付款单、再后来就是发货单、最后收到钱了还有⼀个
收款单、这是最基本的⼏个单据!
请各位⽜⼈指教,⼀个困扰我很久的订单表设计问题
旅游电商订单表设计问题问题描述:⽹站提供酒店,机票,旅游线路等等...多种产品的预定。⽤户可以同时预定多个产品,怎么把这么多不同类型的产品糅合到⼀个订单记录中也就是⼀个订单号。因为这些产品的每个订单属性都不⼀样。⼀个订单记录怎么去做这么多种订单的订单详情关联,,例如:订单号是DK3453545,那这个订单号⾥⽤户是预定了机票,门票,酒店,以及旅游车的那这个订单记录中该怎么把这些订单详情关联到这个订单记录中,⽽且这些⽤户需要预定的产品是不固定的。我也想过把每个产品类型的订单记作为⼀个单独产品类型订单记录,那么就会存在很多个订单表,当系统需要查询当前⽤户的订单时,就需要把所有的类型订单表都遍历⼀遍。这样效率太慢。⽽且感觉很不好维护,⿇烦各位做过订单电商的⽜⼈给点经验。
最满意答案
1、商品基础属性及库存(SKU)
2、订单以及订单详情(Order&OrderItems),OrderItems⾥⾯的record肯定与某个SKU关联上。同时你们的这种订单,⼀定包含个性化定制信息,⼀般都可以⽤⼀个字段将个性化信息保存起来(⽐如订酒店,可能包含⽇期、住⼏晚、单间还是标间、其他特殊要求等)
3、Shipment,订单只是与客户签订的⼀个意向合同,那么shipment就是你们如何去履约这个合同的载体。这种情况下,⼀类商品就可以设计成⼀种shipment,具体的履约⽅式、过程和状态,都可以放到这个模型⾥。
总结:订单是⾯向⽤户的模型,代表着⼀个销售或者销售意向合同。shipment是⾯向内部实际操作环节的模型,代表系统如何去跟踪和记录订单的每个不同类型的商品是如何履约的。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。