欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2023-12-24 12:40:33
...

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实战系列之商城系统(前端+后台)《二》数据表结构设计

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实战系列之商城系统(前端+后台)《二》数据表结构设计


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


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

上一篇:

下一篇: