在需求分析结束之后,接下来要做的不是马上开发功能,而是进行表结构的设计。只有把表结构设计正确了,才能支撑软件后续的功能开发,这一步是非常重要的。
数据库的创建
创建数据库tmall_ssm。
并将数据库的编码格式设置为utf8,便于存放中文。

表关系图
在这张表关系图上,列出了模仿天猫整站一共需要用到的9张表,以及表之间的关系。
表介绍
| 表名 | 中文含义 | 介绍 |
|---|---|---|
| Category | 分类表 | 存放分类信息,如女装,平板电视,沙发等 |
| Property | 属性表 | 存放属性信息,如颜色,重量,品牌,厂商,型号等 |
| Product | 产品表 | 存放产品信息,如LED40EC平板电视机,海尔EC6005热水器 |
| PropertyValue | 属性值表 | 存放属性值信息,如重量是900g,颜色是粉红色 |
| ProductImage | 产品图片表 | 存放产品图片信息,如产品页显示的5个图片 |
| Review | 评论表 | 存放评论信息,如买回来的蜡烛很好用,么么哒 |
| User | 用户表 | 存放用户信息,如斩手狗,千手小粉红 |
| Order | 订单表 | 存放订单信息,包括邮寄地址,电话号码等信息 |
| OrderItem | 订单项表 | 存放订单项信息,包括购买产品种类,数量等 |
建表
在建表过程中,会设置外键约束,所以表和表之间有依赖关系。因此会先建立被外键指向的表,比如User,Category,然后再是其他表。
用户表
|
|
分类表
|
|
属性表
从这个表开始,就有外键约束了。
本表的外cid,指向分类表的id字段。
产品表
产品表字段稍多,介绍下。name: 产品名称subTitle: 小标题originalPrice: 原始价格promotePrice: 优惠价格stock: 库存createDate: 创建日期
本表的外键cid,指向分类表的id字段。
属性值表
本表有两个外键。
外键ptid,指向属性表的id字段。
外键pid,指向产品表的id字段。
产品图片表
type表示类型,产品图片分单个图片和详情图片两种。
本表的外键pid,指向产品表的id字段。
评价表
外键pid,指向产品表的id字段。
外键uid,指向用户表的id字段。
订单表
订单表的字段也比较多,说明一下。orderCode: 订单号address: 收货地址post: 邮编receiver: 收货人信息mobile: 手机号码userMessage: 用户备注信息createDate: 订单创建日期payDate: 支付日期deliveryDate: 发货日期confirmDate: 确认收货日期status: 订单状态
外键uid,指向用户表id字段
订单项表
这个表是外键最多的一个表。
外键pid,指向产品表id字段。
外键oid,指向订单表id字段。
外键uid,指向用户表id字段。number字段表示购买数量。
整理表
一般来说,对于一个新项目,建表的时候,会把sql语句都准备好,一次性执行。
