码迷,mamicode.com
首页 > 其他好文 > 详细

项目总结---表结构设计

时间:2018-02-13 19:52:51      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:选择   cat   sql   current   question   ota   class   ice   购物车   

DROP TABLE IF EXISTS `mmall_user`;
CREATE TABLE `mmall_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 用户表id,
  `username` varchar(50) NOT NULL COMMENT 用户名,
  `password` varchar(50) NOT NULL COMMENT 用户密码,MD5加密,
  `email` varchar(50) DEFAULT NULL,
  `phone` varchar(20) DEFAULT NULL,
  `question` varchar(100) DEFAULT NULL COMMENT 找回密码问题,
  `answer` varchar(100) DEFAULT NULL COMMENT 找回密码答案,
  `role` int(4) NOT NULL COMMENT 角色0-管理员,1-普通用户,
  `create_time` datetime NOT NULL COMMENT 创建时间,
  `update_time` datetime NOT NULL COMMENT 最后一次更新时间,
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_name_unique` (`username`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8;

用户表:username作为唯一索引,让MySql为我们确保username的唯一性。

 

 

产品表:产品所属分类。产品主图采用副图中的第一张图,因为经常使用,单独拿出来。price的精度很重要。

商品状态:商品一般是不会被删除的,根据不同状态做不同处理。

DROP TABLE IF EXISTS `mmall_product`;
CREATE TABLE `mmall_product` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 商品id,
  `category_id` int(11) NOT NULL COMMENT 分类id,对应mmall_category表的主键,
  `name` varchar(100) NOT NULL COMMENT 商品名称,
  `subtitle` varchar(200) DEFAULT NULL COMMENT 商品副标题,
  `main_image` varchar(500) DEFAULT NULL COMMENT 产品主图,url相对地址,
  `sub_images` text COMMENT 图片地址,json格式,扩展用,
  `detail` text COMMENT 商品详情,
  `price` decimal(20,2) NOT NULL COMMENT 价格,单位-元保留两位小数,
  `stock` int(11) NOT NULL COMMENT 库存数量,
  `status` int(6) DEFAULT 1 COMMENT 商品状态.1-在售 2-下架 3-删除,
  `create_time` datetime DEFAULT NULL COMMENT 创建时间,
  `update_time` datetime DEFAULT NULL COMMENT 更新时间,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8;

 

分类表:设计特色,无限层次分类。

DROP TABLE IF EXISTS `mmall_category`;
CREATE TABLE `mmall_category` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 类别Id,
  `parent_id` int(11) DEFAULT NULL COMMENT 父类别id当id=0时说明是根节点,一级类别,
  `name` varchar(50) DEFAULT NULL COMMENT 类别名称,
  `status` tinyint(1) DEFAULT 1 COMMENT 类别状态1-正常,2-已废弃,
  `sort_order` int(4) DEFAULT NULL COMMENT 排序编号,同类展示顺序,数值相等则自然排序,
  `create_time` datetime DEFAULT NULL COMMENT 创建时间,
  `update_time` datetime DEFAULT NULL COMMENT 更新时间,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=100032 DEFAULT CHARSET=utf8;

 

购物车表:经常通过用户id来查找商品,为其建立一个索引。

DROP TABLE IF EXISTS `mmall_cart`;
CREATE TABLE `mmall_cart` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `product_id` int(11) DEFAULT NULL COMMENT 商品id,
  `quantity` int(11) DEFAULT NULL COMMENT 数量,
  `checked` int(11) DEFAULT NULL COMMENT 是否选择,1=已勾选,0=未勾选,
  `create_time` datetime DEFAULT NULL COMMENT 创建时间,
  `update_time` datetime DEFAULT NULL COMMENT 更新时间,
  PRIMARY KEY (`id`),
  KEY `user_id_index` (`user_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=131 DEFAULT CHARSET=utf8;

 

订单子表(订单中的每一个条目):使用user_id和order_no作为索引。为了方便查询,存在冗余。

DROP TABLE IF EXISTS `mmall_order_item`;
CREATE TABLE `mmall_order_item` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 订单子表id,
  `user_id` int(11) DEFAULT NULL,
  `order_no` bigint(20) DEFAULT NULL,
  `product_id` int(11) DEFAULT NULL COMMENT 商品id,
  `product_name` varchar(100) DEFAULT NULL COMMENT 商品名称,
  `product_image` varchar(500) DEFAULT NULL COMMENT 商品图片地址,
  `current_unit_price` decimal(20,2) DEFAULT NULL COMMENT 生成订单时的商品单价,单位是元,保留两位小数,
  `quantity` int(10) DEFAULT NULL COMMENT 商品数量,
  `total_price` decimal(20,2) DEFAULT NULL COMMENT 商品总价,单位是元,保留两位小数,
  `create_time` datetime DEFAULT NULL,
  `update_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `order_no_index` (`order_no`) USING BTREE,
  KEY `order_no_user_id_index` (`user_id`,`order_no`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=135 DEFAULT CHARSET=utf8;

 

订单表:

DROP TABLE IF EXISTS `mmall_order`;
CREATE TABLE `mmall_order` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 订单id,
  `order_no` bigint(20) DEFAULT NULL COMMENT 订单号,
  `user_id` int(11) DEFAULT NULL COMMENT 用户id,
  `shipping_id` int(11) DEFAULT NULL,
  `payment` decimal(20,2) DEFAULT NULL COMMENT 实际付款金额,单位是元,保留两位小数,
  `payment_type` int(4) DEFAULT NULL COMMENT 支付类型,1-在线支付,
  `postage` int(10) DEFAULT NULL COMMENT 运费,单位是元,
  `status` int(10) DEFAULT NULL COMMENT 订单状态:0-已取消-10-未付款,20-已付款,40-已发货,50-交易成功,60-交易关闭,
  `payment_time` datetime DEFAULT NULL COMMENT 支付时间,
  `send_time` datetime DEFAULT NULL COMMENT 发货时间,
  `end_time` datetime DEFAULT NULL COMMENT 交易完成时间,
  `close_time` datetime DEFAULT NULL COMMENT 交易关闭时间,
  `create_time` datetime DEFAULT NULL COMMENT 创建时间,
  `update_time` datetime DEFAULT NULL COMMENT 更新时间,
  PRIMARY KEY (`id`),
  UNIQUE KEY `order_no_index` (`order_no`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=118 DEFAULT CHARSET=utf8;

 

支付信息表:

DROP TABLE IF EXISTS `mmall_pay_info`;
CREATE TABLE `mmall_pay_info` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) DEFAULT NULL COMMENT 用户id,
  `order_no` bigint(20) DEFAULT NULL COMMENT 订单号,
  `pay_platform` int(10) DEFAULT NULL COMMENT 支付平台:1-支付宝,2-微信,
  `platform_number` varchar(200) DEFAULT NULL COMMENT 支付宝支付流水号,
  `platform_status` varchar(20) DEFAULT NULL COMMENT 支付宝支付状态,
  `create_time` datetime DEFAULT NULL COMMENT 创建时间,
  `update_time` datetime DEFAULT NULL COMMENT 更新时间,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=61 DEFAULT CHARSET=utf8;

 

收货地址表:相对简单点。

DROP TABLE IF EXISTS `mmall_shipping`;
CREATE TABLE `mmall_shipping` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) DEFAULT NULL COMMENT 用户id,
  `receiver_name` varchar(20) DEFAULT NULL COMMENT 收货姓名,
  `receiver_phone` varchar(20) DEFAULT NULL COMMENT 收货固定电话,
  `receiver_mobile` varchar(20) DEFAULT NULL COMMENT 收货移动电话,
  `receiver_province` varchar(20) DEFAULT NULL COMMENT 省份,
  `receiver_city` varchar(20) DEFAULT NULL COMMENT 城市,
  `receiver_district` varchar(20) DEFAULT NULL COMMENT 区/县,
  `receiver_address` varchar(200) DEFAULT NULL COMMENT 详细地址,
  `receiver_zip` varchar(6) DEFAULT NULL COMMENT 邮编,
  `create_time` datetime DEFAULT NULL,
  `update_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8;

 

总结:用户表,商品表,分类表,购物车表,订单表,订单项目表,收货地址表,支付信息表

项目总结---表结构设计

标签:选择   cat   sql   current   question   ota   class   ice   购物车   

原文地址:https://www.cnblogs.com/QQAILOVE/p/8447254.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!