电商-数据库详细设计说明书V0.4
数据库详细设计说明书
1 此处采用Visio 绘制的ER 图。
1.1 商品类 1.1.1 商品表
1
1.1.2 图片表
存储所有的图片的路径字符串(URL ),如果存储量过大,则需要根据主键值做表分区 图片命名规则:款号_颜色_角度_是否默认图_宽_高.jpg
例如:LPZD115602_5rex5YWwLealvOWFsOe0qw@@_1_1_626_800.jpg
1.1.3 商品类型表
代码表
1.2 用户帐户类
概念:一个用户可以包含多个账户,各个账户之间是可以切换的
2
1.2.1 用户基础信息表
1.2.2 账户表
帐号来源标识出 是哪个平台过来的用户,比如QQ ,新浪微博等。 可用蜜豆数:客户可以用这些蜜豆进行交易,换购。
升级蜜豆数:此蜜豆数会一直增加,不会减少,是作为蜜豆等级的升级使用。
蜜豆级数:200蜜豆为1级,4倍关系后可升级。 比如用户有2000蜜豆,2000/200=10级 10级/4=2 余数为2 那么就是2个黄蜜蜂+2个红蜜蜂
3
1.2.3 宝贝信息表
宝贝信息与用户多对一关联,一个用户可以拥有多条宝贝信息 身高体重之类随年龄变大肯定不一样,所以根据添加时间来推算。
1.2.4 配送地址表
4
1.2.5 通知类型表
代码表(缺货登记,降价通知)
1.2.6 通知类型-模板关联表
1.2.7 通知表
5
1.2.8 关注商品表
1.2.9 信用等级表
代码表
先划分为五个等级:良好、较好、一般、较差、差
信用等级差的用户,就是黑名单的效果,该用户将不允许登录。 1.2.10 动作类型表
代码表
6
该表主要为:蜜豆记录、现金账户记录、券记录中的收入和支出服务。
1.2.11 蜜豆记录表
1.2.12 券记录表
7
1.2.13 现金账户记录表
1.2.14 账户等级表
记录蜜豆等级的规则
蜜豆等级与QQ 上的星星月亮太阳升级规则一样,四个红蜜蜂可升级成一个黄蜜蜂,四个黄蜜蜂可升级成一个蓝蜜蜂。
8
1.2.15 账户升级历史表
1.3 订单及处理类
此处描述各类基础信息表(主数据),例如单位、客户、设备等。
1.3.1 购物车主表
购物车的定时删除时间和登录前后cookie 是否合并做配置项 9
1.3.2 购物车子表
1.3.3 订单主表
内容解释
配送时间:指定快递公司在指定的时间段内,以客户的意愿来送货。 支付方式:采用何种支付的平台来付款 订单来源:目前只是扩展用
支付状态:下完订单后客户对订单的处理结果,【到付、已付款、未付款】 订单状态-客户:客户能够看到的该订单的处理流程,【提交订单、付款成功、配货中、商品已出库/等待收货、完成、取消、退换货】
订单状态-客服:客服和库房在审核订单和配送的时候看到的订单状态,【待完善/未确认、已确认(通知配货)、配货中(到配送状态继续处理)、已发货、已到货/完成(换货完成)、中止(作废)、拒收。】
正常/退/退换货:标识该订单是否发生了退换货,正常/换货在同两张表中处理,而退货在另外的两张表中处理。
原单:可退、可换、可复制 退单:无 换单:可退
券/现金/蜜豆退回情况:券|现金|蜜豆三种 以二进制数字形式保存 如:001 券和现金未退回,蜜豆已退回 默认为000 退单单号和换单单号 如果为多次则用逗号(英文)隔开 10
1.3.4 订单子项表
1.3.5 退单主表
退单状态:未收货、确认/已收货、质检通过(质检不通过/退回完成)、入库/退货完成(拒
1.3.6 退单子表
1.3.7 退单状态表
代码表
未收货、质检通过、质检未通过、入库、退回 1.3.8 退款方式表
代码表
1.3.9 退货原因表
1.3.10 订单配送信息表
1.3.11 运费模板表
注意:这里如果只设置父节点的ID 的话,默认该父节点下的所有的值都一样。 如果既有父节点又有子节点,则取子节点的值 这里注意默认运费的配置。 按层级获取运费的值
1:如果省市县、配送方式、支付方式 三者中都存在 则取其值
2:如果省市县、配送方式存、支付方式 任何两者存在而第三者不存在,则取其值
3:如果省市县、配送方式、支付方式 三者中如果任何两者不存在,只有一个存在, 则取其值
4:如果三个值都不存在,则取第一条记录的运费值(默认运费)
1.3.12 地区表
1.3.13 用户下单偏好表
根据用户的配送地址ID+账户ID 动态读取用户的下单偏好, 每个用户可以有多条,以优先级
1.3.14 配送方式表
代码表
1.3.15 配送时间表
代码表 1.3.16 支付方式表
1.3.17 支付类型表
代码表
1.3.18 发票类型表
1.3.19 订单状态表-客户
1.3.20 订单状态表-客服
1.3.21 订单来源表
代码表
平台级别:淘宝、京东… 店面级别:实体店..
1.4 销售活动类 1.4.1 群组表
如果群组中含价格,就直接读取价格子表
查询条件,这里根据查询条件来定义商品的范围。 比如:brand=1&sex=1|stock
1.4.2 群组-商品条件表
定位群组中的商品条件的内容,主要体现这些条件中的key 值是隶属于哪些表的哪些字段,然后可以方便的查询其值的范围。
1.4.3 群组子表
1.4.4 促销信息表
优先级:如果有多个活动同时进行时,根据优先级来判断先执行哪个活动。
简名、是否在单品页显示,这两个字段为了使促销活动能在单品页提示出来而设计。 要在单品页面显示图标
排斥关系:如果几个活动之间不能允许同时存在,则按优先级顺序执行活动,有排斥关系的先执行第一个,第二个有排斥关系的则不允许执行。
所以,具有排斥关系的促销活动,请注意设置排斥关系及优先级大小 图标ID :如果促销分类中的图标ID 为空,则按此图标显示。
1.4.5 促销类型表
对促销活动进行分门别类,每个类别下属不同的规则。预留一个自定义的规则,把所有的规则全部罗列。
1.4.6 促销类型-促销规则关联表
关联该促销类型下都包含哪些促销规则 如:满减,立减 之类
1.4.7 促销规则表
此表是所有促销活动的肢解,分解成一条条的规则,然后按规则的顺序来组合成活动,这里只是定义规则的名字,而不会定义规则值,规则的赋值在一个关联表中执行。 所有促销活动罗列如下:
减免运费:订单满多少钱或使用了某种类型的券 券:只是参加活动的一种方式 套装:固定实现 搭配:固定实现
满减:满多少钱后立减多少 买几赠几:买几赠几
满换购:满多少钱可以选择一个价值多少钱的商品。 买换购:买指定商品可以选择一个价值多少钱的商品。 满赠:满多少钱可以选择一个赠品 买赠:买指定商品可以选择一个赠品 折上折:折扣上再折扣 限时抢购:时间相关
单品、订单满多少钱 送券 单品 送几倍蜜豆
转发微博、登录、注册 送券
登录、注册、评论、晒单 送几倍蜜豆
条件:行为+时间范围+用户(个人账号ID 或等级、用户组、购物历史)+商品(个体、品类、季节、某种形式的组)+(订单)件数+(订单)金额+支付方式 优惠手段:直接金额、(减)金额/比例折扣、劵、蜜豆(倍数)、赠品(特定组、件数)
触发规则引擎执行的动作可以使用监听事件模式。一个监听器一直监听该活动的启动开关,然后等执行到某一个动作(比如登录)时,启动事件,打开监听器即可。 规则抽取如下:
代码表
1.4.8 促销信息-规则关联表
此表组合成了各个的活动,并且根据顺序可调整每条规则的执行先后。
1.4.9 券主表
如果折扣字段字段值不等于1,则会覆盖面值,然后折扣起作用 能否重复使用:标识该券是否可以重复使用,不受使用次数的限制
1.4.10 券类型表
代码表
1.4.11 券明细表
1.4.12 券记录表
含发券和用券两种记录
行为或结果:存储发券时候的渠道和用券时候的单号
1.5 交互类 1.5.1 互动分类表
代码表
1.5.2 互动详细表
1.5.3 晒单表
库存ID 能唯一标识出一个SKU (款色码)。
1.5.4 晒单图片说明表
1.5.5 评论表
平均评分有小数的概念,平均评分计算时候,以0.1-0.5之间按0.5算 0.5-1之间 按1算 如果作假则库存ID 即:product_stock表的ID 会起作用。能唯一标识一个款色码
1.5.6 评论打分项表
记录每个商品类别(童鞋、童装、玩具…)的不同的打分类项和打分子项 1.5.7 评论打分结果详细表
1.5.8 评论结果统计表
如果打分项ID 为Null 时,则为大类别统计项,统计该大类别的总评论数和总平均评分 平均评分有小数的概念,平均评分计算时候,以0.1-0.5之间按0.5算 0.5-1之间 按1算 百分比:各项占该层的百分比为多少,只计算同层 数据参考录入:
ID 商品ID 打分项ID 答案ID 打分次数 平均分 总分 百分比
1.5.9 评论级别表
1.5.10 评论汇总表-单款商品
1.6 系统内容类 1.6.1 广告位置表
代码表
标识出页面中可能出现的广告的位置,如:上部Banner 条、左侧
… 1.6.2 广告具体位置表
对广告的具体位置信息进行界定。
在哪个页面(按货架打开? 按品牌打开.. )的哪个具体的位置。这样能确定唯一一个广告位置。注意:这里可以定义群组,如果条件名为群组,则可以定义该广告可同时放置在这些群
1.6.3 广告与位置关联表
关联具体的位置放置什么具体的广告,两列为联合主键 如果某个位置可能出现多个广告的情况,要根据广告的优先级字段进行排序,取出优先级最高的一个即可。 1.6.4 广告资源表
1.6.5 内容类型表
代码表
1.6.6 内容表
1.6.7 问卷主表
31
1.6.8 问卷内容表
1.6.9 问卷结果记录表
1.6.10 问卷结果统计表
32
1.6.11 菜单导航表
1.6.12 提示关键词表
1.6.13 浮动图标表
列表页面或者搜索页面的悬浮图标、或单品页面促销活动标识 左上角:促销活动
33
右上角:新旧品、热销、预售 右下角:特价
位置:1:左上、2:右上、3:左下、4:右下
群组ID :不同群组中的商品使用不同类型的图标,如有雷同,以优先级高的计算。 注意:这里的图标不只是在列表页面显示,在单品页面也是可以定义并显示。 促销活动信息表中有关于和图标绑定的信息。
1.6.14 --商品排序表
这里的英文可以标识该排序的友好描述,可用于url
1.6.15 --商品筛选表
34
1.7 系统配置控制类 1.7.1 部门表
代码表 1.7.2 后台账户表
35
1.7.3 角色表
代码表
1.7.4 权限表
1.7.5 用户角色关联表
36
1.7.6 角色权限关联表
1.7.7 权限组表
代码表
标识哪些权限同属于一个组下面的。比如组可以分模块来划分,便于前台显示。 如可划分为,商品类,用户账户类,订单处理类,销售活动类。。。 1.7.8 --商品日志表
日志范围:涉及商品范围的访问关键日志保存在这里。如:列表,搜索,单品,首页,促销页等
日志格式:who#when#where from#what access#what do 内容格式:商品的英文URL+中文说明
例子:12685745#2012-05-04 12:25:12#117.79.239.65
37
1.7.9 --账户日志表
1.7.10 --订单日志表
1.7.11 --支付结算日志表
38
1.7.12 后台系统操作日志表
日志范围:后台账户操作日志
1.7.13 页面表
代码表
1.7.14 模板布局表
布局类型:左,右,左中,中右,左右,左中右,中 39
1.7.15 盒子类别表
1.7.16 盒子表
文件名:表示该盒子对应了哪个的ftl 模板文件。
40
1.7.17 模板布局-盒子关联表
1.7.18 系统参数表
1.7.19 META 模板表
这里的位置URL ,会采用自动匹配的方式,来描述页面的位置。 比如单品页面可能是 /product/item/*
这里的标题,关键字和描述可以采用占位符的形式。 比如标题:${sex} 短袖T 恤,${season}春秋两季可穿。 ${sex}和${season}必须在占位符表中定义好。 模板数据取出后,放入memCache 中即可。 该模板提供各个页面的meta 选择。
1.7.20 --占位符表
比如:季节:${season}
值由程序员一期全部填入。后期如果需要修改请程序员协助修改。 要确保占位符名字的唯一性。
1.7.21 短信模板表
1.7.22 邮件模板表
模板内容支持占位符${oid},${name}等
1.7.23 图片资源类型
1.7.24 图片资源表
2 其他数据库对象
此处描述其他相关的数据库对象,例如视图、序列、触发器、存储过程、同义词等。如果对象过多,可按对象类别分章节。
3 物理结构
3.1 库存储
对各个表的存储量及增长趋势,估算数据量,规划存储结构及其分布,例如Oracle 的表空间、数据文件,SQLServer 的库及文件。
3.2 表存储
根据各个表的增删改查操作频度、数据量、惯用操作等特点,确定表的存储方式和参数,例如Oracle 中的表空间、表分区、PCTFREE 、PCTUSED 、缓存。
3.3 索引
为调整性能而追加的索引说明。
3.4 其他
关于数据库用户及权限、配置参数等其他说明。
4 数据字典
各类代码表(包括取值)。
5 注意事项
关于数据库管理维护需要注意的事项。例如: 1、 存储空间的扩展。 2、 索引的重建。
3、 数据备份。 4、 ……