当前标签: 产品SKU 电商研发系列 —— 产品SKU模型和数据库设计2016-10-08 14:24:15 请关注唯心的个人微信公众号:craft6-cn(中划线,也可以搜索:领域驱动业务建模)一、前期的产品模型相关文章汇聚起来方便大家顺序阅读。 二、产品SKU E-R模型图注意图中的的1对1和1对多关系的连线,至于多对多则分解为两个1对多关系进行设计。 本图中没有标识任何的字段,是为了避免该图过大,过早陷入表具体的细节,干扰了对整体设计的把控。 三、产品SKU 数据库设计 请放大该图查看。 【注】本图是一个主体的参考设计,并不是实际项目的最终使用版本。到实际的项目中,需要根据实际业务增加各类业务字段, 四、产品SKU 数据库设计说明1.1.1. EC_PROD【产品】字段: l 副名称:无促销活动时留空,如果不为空则在前台附加到名称后面。 l 业务键:即产品编码。此编码用于检索产品,但和库存无关。 l 简述:在产品列表显示。 l 详细描述ID:由于是大文本对象,为了保证查询效率,所以放入公共的大文本对象表中,由于该字段的内容只在产品详细页面才需要,所以查询产品集合时,无需关联查询此字段。 l 产品状态:draft=草稿;on_sale=上架;not_on_sale=下架;forbidden=禁售。
状态流图参考如下:
如果需要更严格的审核,则在上架和下架状态中,如果对产品信息做了修改,均更新为草稿状态,需要再次审核。看企业业务需要。 l 产品形态 entity=实体产品;mix=产品包;software=软体产品;service=服务 产品包:需要配置产品包构件,即根据实体产品SKU生成产品包SKU。 软件产品:无需管理库存,一般为永远可售。 服务:同软体产品。 (如果企业不对两者进行区分,也可以合并为“虚拟产品”)。 l 销售类型 stock=按库存销售;pre_order=预售;stock_and_back=按库存并缺货销售;always=永远可售 按库存销售:需要管理库存。 预售:在维护产品销售价格时,需要配置预售相关的字段,如最大总可售数量。 按库存并缺货销售:选择此项后,需要对该产品的SKU配置两条销售价格记录,一条是按库存销售,一条是缺货销售。如果只配置按库存销售的销售价格记录,则缺货销售将按该记录处理。 l 上架起始时间和上架结束时间。 可选。在设置为上架状态时设置。如果需要预上架功能,则需要开发一个定时任务,定时扫描本表,当当前时间在上架起始结束时间内,则更改产品状态为“active 上架”。 1.1.2. EC_SEO【实体SEO信息】用于维护产品或产品目录实体的SEO信息。因为对于两者的SEO均只在其详细页面使用,所以将其分离出来放在一对一表中设计,方便重用和提高查询效率。 1.1.3. EC_PROD_SKU【产品SKU】l SKU业务键 一般只供内部管理使用,唯一。对于独立的库存单元。 l 生成方式 auto_unique=自动生成唯一的产品SKU,并不是通过选择SKU选项生成。即该产品只有一个默认的产品SKU。 manual=人工根据SKU选项生成。 l 尺寸长、宽、高三个字段。 供计算体积、运输处理。 l 重量 供物流计费处理。 l 市场价 供显示用。 l 状态 产品SKU的状态相对简单,只有on_sale=上架、not_on_sell=下架两种。 1.1.4. EC_PROD_MIX_ITEM【产品包构件】l 注意两个外键关联的不同业务意义。 l 构件数量,默认是1. 1.1.5. EC_PROD_PRICE【销售价格】l 价格类型:sales_price=销售价;whole_price=批发价;pre-price=预售价;back_order=缺货销售价。 l 价格:对应该类型的价格。 l 单一订单最小、最大数量 当价格类型是 n 销售价:这两个参数影响在购物车中该产品的数量,结账时会检查。 n 批发价:表示该批发价在此范围内有效。 n 预售价:表示每张订单至于预购的数量范围,同销售价。 n 缺货销售价:同销售价。 l 最大总可售数量 仅对预售和缺货销售有效。即表示忽略库存的情况下,最大总可售数量。所以要实现这两个业务时,需要统计该产品已经预售或缺货销售的数量。如果考虑到效率,可以使用EC_PROD_SKU_STAT【产品SKU统计】表进行冗余。 l 附加配置 用于对各个价格类型进行个性化业务扩展,看企业业务需要。 l 起始和结束时间 表示该价格设置只在本时间范围内有效。 l 状态 inactive=未激活;actived=激活;expired=过期
1.1.6. EC_PROD_MEDIA【产品媒体】本表依赖产品和产品SKU两张表,表示该媒体可以直接属于产品(属于公共图),也可以仅属于某个产品SKU(即在切换为该产品SKU时才会显示该媒体) l 是否主图:对于产品或产品SKU,当存在多张图时,需要指定其中一张图为主图。 l 媒体类型:方便程序做处理。 l 媒体链接:媒体存放位置。 1.1.7. EC_PROD_STAT【产品统计】本表是针对产品的一些常见的业务统计数据进行冗余,方便显示。客户需要在相应的业务中更新此表的相关数据。或通过事件监听器、定期任务等异步处理方式进行更新。 1.1.8. EC_PROD_SKU_STAT【产品SKU统计】本表设计原理产品统计表,但业务是针对产品SKU的。目前设计了两个字段,用于冗余统计已预售和缺货销售数量。 1.1.9. EC_SKU_SPEC 【SKU规格】SKU规格的定义相对简单。目前没有设计了SKU规格分组,如果网站涉及SKU规格很多种,可以增加一个分组表,这比较简单,就由客户自行完成了。 1.1.10. EC_SKU_SPEC_OP【规格选项】由于只需要关联即可,所以选项无需支持复杂的数据类型(如浮点、大文本之类)。但为了留有扩展余地,我设计了一个“选项值”字段供使用。 1.1.11. EC_SPEC_OP_INTER【规格选项相互作用】l 作用类型 together=共存;exclude=排除。 共存,表示选项A出现时,可以有选项B,反之也是。 排除:表示选项A出现时,不能有选项B,反之也是。
这个表分为两部分的业务: 1. SKU规格选项公共的互作用约束。 即和产品、产品SKU无关,默认的设置。 2. 产品个性的约束(此时产品ID值不为空) 注意此约束是无需在界面设置的,而是根据设定产品SKU时,所选择的规格选项自动生成,所以针对此类业务作用类型只有“共存”。对于这类业务是为了方便查询,也可以不做保存。 1.1.12. EC_PROD_CATE产品分类关联产品和产品目录建立多对多关联。 l 是否主目录 当关联了多个目录时,其中一个目录是主目录。 1.1.13. EC_PROD_SUPPLIER【产品供应商关联】产品和供应商建立多对多关联。 五、广告由于我将逐步把原先付费版的产品模型的文档公开(针对该产品模型文档的内容, 还会再公布一篇文章),所以将原先该文档的价格调低,现在更改为600元。 购买者获得文档内容将和公开的内容无差异,只是有pdm源文件,可以节省了 数据库字段命名设计的时间,并且可以获得相关uml、er图的源文件。 Craft6.cn 电商研发方案 —— 产品模型业务分析和设计 ![]() 1 电商研发系列——产品SKU(一)概念定义和知识整理 2 电商研发系列——产品SKU(二)两种建模方式对比 3 Craft6.cn 电商研发方案 —— 产品模型业务分析和设计 4 电商研发系列 —— 产品SKU模型和数据库设计 分享到: 电商研发系列 —— 产品SKU模型和数据库设计电子商务方案,产品模型,产品建模,电子商务设计方案,电子商务系统方案,电子商务软件设计,电子商务系统设计,产品信息,产品数据库,产品SKU数据库,产品SKU数据库设计,产品ER图,产品概要设计,产品概要设计方案本文公开了原先付费的产品模型方案的产品模块的 数据库设计部分,供各位读者参考使用。 |
粤ICP备14060523号 Copyright @2014 -唯心六艺软件 |