SSM实战系列之商城系统(前端+后台)《二》数据表结构设计

SSM实战系列之商城系统(前端+后台)《二》

1. 前言

这是一个电子商城整站的实战项目,包括前端的整体页面和后台管理页面。

从项目需求分析到整站开发的一整套项目开发过程记录。

也是作为本人实习阶段在做Hadoop大数据的同时,巩固一下javaweb的开发经验。
当然,如果你跟着我一起做,那么掌握了这些内容之后,相信是能比较明显地提高你的开发适应能力。

主要开发技术:
Spring +Spring MVC +Mybatis+Bootsrap+MySQL+Eclipse+Maven+Tomcat8 +JDK1.8

具体使用:
Java:Java基础 和 Java中级 的大部分内容
前端:HTML,css,JavaScript,jquery,ajax, Bootstrap
J2EE:tomcat,servlet,jsp,Filter
框架:Spring,Spring MVC,Mybatis
数据库:MySQL
开发工具:Eclipse,Maven

2.数据库表结构设计

在需求分析结束之后,需要开始进行数据库表结构的设计,只有把表结构设计正确了,才能支撑软件后续的功能开发,这一步是非常重要的。

2.1、创建数据库tmall_ssm

创建数据库:tmall_ssm,将数据库的编码设置为utf8,便于存放中文。
使用sql命令:

DROP DATABASE IF EXISTS ECMall_ssm;
CREATE DATABASE ECMall_ssm DEFAULT CHARACTER SET utf8;

或使用Navicat for mysql工具来创建:

SSM实战系列之商城系统(前端+后台)《二》数据表结构设计_第1张图片

2.2、创建数据库表

一共需要用到的9张表,对每张表做介绍。

依次如下表:

表名 中文含义 介绍
Category 分类表 存放分类信息,如女装,平板电视,沙发等
Property 属性表 存放属性信息,如颜色,重量,品牌,厂商,型号等
Product 产品表 存放产品信息,如LED40EC平板电视机,海尔EC6005热水器
PropertyValue 属性值表 存放属性值信息,如重量是900g,颜色是粉红色
ProductImage 产品图片表 存放产品图片信息,如产品页显示的5个图片
Review 评论表 存放评论信息,如买回来的洗衣粉很好用,亲,么么哒
User 用户表 存放用户信息,如柒晓白,张三三购物等
Order 订单表 存放订单信息,包括邮寄地址,电话号码等信息
OrderItem 订单项表 存放订单项信息,包括购买产品种类,数量等
/*
Navicat MySQL Data Transfer

Source Server         : zou
Source Server Version : 50096
Source Host           : localhost:3306
Source Database       : ecmall_ssm

Target Server Type    : MYSQL
Target Server Version : 50096
File Encoding         : 65001

Date: 2018-07-05 21:49:30
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for `category`
-- ----------------------------
DROP TABLE IF EXISTS `category`;
CREATE TABLE `category` (
  `id` int(11) NOT NULL auto_increment COMMENT '分类表',
  `name` varchar(255) default NULL COMMENT '分类名',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of category
-- ----------------------------

-- ----------------------------
-- Table structure for `orderitem`
-- ----------------------------
DROP TABLE IF EXISTS `orderitem`;
CREATE TABLE `orderitem` (
  `id` int(11) NOT NULL auto_increment COMMENT '订单项表',
  `pid` int(11) default NULL COMMENT '产品表id字段',
  `oid` int(11) default NULL COMMENT '订单表id字段',
  `uid` int(11) default NULL COMMENT '用户表id字段',
  `number` int(11) default NULL COMMENT '购买数量',
  PRIMARY KEY  (`id`),
  KEY `fk_orderitem_user` (`uid`),
  KEY `fk_orderitem_product` (`pid`),
  KEY `fk_orderitem_order` (`oid`),
  CONSTRAINT `fk_orderitem_order` FOREIGN KEY (`oid`) REFERENCES `order_` (`id`),
  CONSTRAINT `fk_orderitem_product` FOREIGN KEY (`pid`) REFERENCES `product` (`id`),
  CONSTRAINT `fk_orderitem_user` FOREIGN KEY (`uid`) REFERENCES `user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of orderitem
-- ----------------------------

-- ----------------------------
-- Table structure for `order_`
-- ----------------------------
DROP TABLE IF EXISTS `order_`;
CREATE TABLE `order_` (
  `id` int(11) NOT NULL auto_increment COMMENT '订单表',
  `orderCode` varchar(255) default NULL COMMENT '订单号',
  `address` varchar(255) default NULL COMMENT '收货地址',
  `post` varchar(255) default NULL COMMENT '邮编',
  `receiver` varchar(255) default NULL COMMENT '收货人信息',
  `mobile` varchar(255) default NULL COMMENT '手机号码',
  `userMessage` varchar(255) default NULL COMMENT '用户备注信息',
  `createDate` datetime default NULL COMMENT '订单创建日期',
  `payDate` datetime default NULL COMMENT '支付日期',
  `deliveryDate` datetime default NULL COMMENT '发货日期',
  `confirmDate` datetime default NULL COMMENT '确认收货日期',
  `uid` int(11) default NULL COMMENT '用户表id字段',
  `status` varchar(255) default NULL COMMENT '订单状态',
  PRIMARY KEY  (`id`),
  KEY `fk_order_user` (`uid`),
  CONSTRAINT `fk_order_user` FOREIGN KEY (`uid`) REFERENCES `user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of order_
-- ----------------------------

-- ----------------------------
-- Table structure for `product`
-- ----------------------------
DROP TABLE IF EXISTS `product`;
CREATE TABLE `product` (
  `id` int(11) NOT NULL auto_increment COMMENT '产品表',
  `name` varchar(255) default NULL COMMENT '产品名称',
  `subTitle` varchar(255) default NULL COMMENT '小标题',
  `originalPrice` float default NULL COMMENT '原始价格',
  `promotePrice` float default NULL COMMENT '优惠价格',
  `stock` int(11) default NULL COMMENT '库存量',
  `cid` int(11) default NULL COMMENT '分类表的id字段',
  `createDate` datetime default NULL COMMENT '创建日期',
  PRIMARY KEY  (`id`),
  KEY `fk_product_category` (`cid`),
  CONSTRAINT `fk_product_category` FOREIGN KEY (`cid`) REFERENCES `category` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of product
-- ----------------------------

-- ----------------------------
-- Table structure for `productimage`
-- ----------------------------
DROP TABLE IF EXISTS `productimage`;
CREATE TABLE `productimage` (
  `id` int(11) NOT NULL auto_increment COMMENT '产品图片表',
  `pid` int(11) default NULL COMMENT '产品表的id字段',
  `type` varchar(255) default NULL COMMENT '产品类型,产品图片分单个图片和详情图片',
  PRIMARY KEY  (`id`),
  KEY `fk_productimage_product` (`pid`),
  CONSTRAINT `fk_productimage_product` FOREIGN KEY (`pid`) REFERENCES `product` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of productimage
-- ----------------------------

-- ----------------------------
-- Table structure for `property`
-- ----------------------------
DROP TABLE IF EXISTS `property`;
CREATE TABLE `property` (
  `id` int(11) NOT NULL auto_increment COMMENT '属性表',
  `cid` int(11) default NULL COMMENT '分类表的id字段',
  `name` varchar(255) default NULL COMMENT '属性名',
  PRIMARY KEY  (`id`),
  KEY `fk_property_category` (`cid`),
  CONSTRAINT `fk_property_category` FOREIGN KEY (`cid`) REFERENCES `category` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of property
-- ----------------------------

-- ----------------------------
-- Table structure for `propertyvalue`
-- ----------------------------
DROP TABLE IF EXISTS `propertyvalue`;
CREATE TABLE `propertyvalue` (
  `id` int(11) NOT NULL auto_increment COMMENT '属性值表',
  `pid` int(11) default NULL COMMENT '产品表的id字段',
  `ptid` int(11) default NULL COMMENT '属性表的id字段',
  `value` varchar(255) default NULL COMMENT '属性值',
  PRIMARY KEY  (`id`),
  KEY `fk_propertyvalue_property` (`ptid`),
  KEY `fk_propertyvalue_product` (`pid`),
  CONSTRAINT `fk_propertyvalue_product` FOREIGN KEY (`pid`) REFERENCES `product` (`id`),
  CONSTRAINT `fk_propertyvalue_property` FOREIGN KEY (`ptid`) REFERENCES `property` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of propertyvalue
-- ----------------------------

-- ----------------------------
-- Table structure for `review`
-- ----------------------------
DROP TABLE IF EXISTS `review`;
CREATE TABLE `review` (
  `id` int(11) NOT NULL auto_increment COMMENT '评价表',
  `content` varchar(4000) default NULL COMMENT '评价内容',
  `uid` int(11) default NULL COMMENT '用户表的id字段',
  `pid` int(11) default NULL COMMENT '产品表的id字段',
  `createDate` datetime default NULL COMMENT '评论时间',
  PRIMARY KEY  (`id`),
  KEY `fk_review_product` (`pid`),
  KEY `fk_review_user` (`uid`),
  CONSTRAINT `fk_review_product` FOREIGN KEY (`pid`) REFERENCES `product` (`id`),
  CONSTRAINT `fk_review_user` FOREIGN KEY (`uid`) REFERENCES `user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of review
-- ----------------------------

-- ----------------------------
-- Table structure for `user`
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `id` int(11) NOT NULL auto_increment COMMENT '用户表',
  `name` varchar(255) default NULL COMMENT '用户名',
  `password` varchar(255) default NULL COMMENT '密码',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of user
-- ----------------------------

建立完成以后如图:
SSM实战系列之商城系统(前端+后台)《二》数据表结构设计_第2张图片


这样就设计好了数据库表。
以上就是SSM实战系列之商城系统(前端+后台)《二》数据表结构设计的全部内容。
后面还有更多精彩内容,欢迎关注。想要源码的留下邮箱。


You got a dream, you gotta protect it.
如果你有梦想的话,就要去捍卫它 。 ——《当幸福来敲门》

你可能感兴趣的:(SSM框架,SSM框架实战专题)