商城數據庫表設計介紹


前言

  一個商城系統,需要有,用戶表,商品表,商品分類表,購物車表,訂單表,訂單明細表,支付信息表,以及物流信息表。
  使用PowerDesigner對數據表以及他們之間的關系進行了粗略的設計得出了如下E-R圖:

  

1.用戶表

 

2. 商品表

 

3.商品類別表

4.購物車表

 

5. 訂單表

6.訂單明細表

 

7.支付信息表

 

 

8.收貨信息表

 

總結

/*
Navicat MySQL Data Transfer

Source Server         : yc
Source Server Version : 50726
Source Host           : 47.100.224.4:3306
Source Database       : ycshop

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

Date: 2019-05-24 17:30:35
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for cart
-- ----------------------------
DROP TABLE IF EXISTS `cart`;
CREATE TABLE `cart` (
  `carid` varchar(64) NOT NULL,
  `userid` varchar(64) DEFAULT NULL COMMENT '用戶表id',
  `proid` varchar(64) DEFAULT NULL COMMENT '商品id',
  `quantity` int(11) DEFAULT NULL COMMENT '數量',
  `checked` int(11) DEFAULT NULL COMMENT '是否選擇,1=已勾選,0=未勾選',
  `createtime` datetime DEFAULT NULL COMMENT '創建時間',
  `updatetime` datetime DEFAULT NULL COMMENT '更新時間',
  PRIMARY KEY (`carid`),
  KEY `FK_Reference_2` (`userid`),
  KEY `FK_Reference_3` (`proid`),
  CONSTRAINT `FK_Reference_2` FOREIGN KEY (`userid`) REFERENCES `user` (`userid`),
  CONSTRAINT `FK_Reference_3` FOREIGN KEY (`proid`) REFERENCES `product` (`proid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of cart
-- ----------------------------

-- ----------------------------
-- Table structure for category
-- ----------------------------
DROP TABLE IF EXISTS `category`;
CREATE TABLE `category` (
  `cateid` varchar(64) NOT NULL COMMENT '類別Id',
  `parentid` varchar(64) DEFAULT NULL COMMENT '父類別id當id=0時說明是根節點,一級類別',
  `name` varchar(50) DEFAULT NULL COMMENT '類別名稱',
  `status` int(1) DEFAULT '1' COMMENT '類別狀態1-正常,2-已廢棄',
  `sortorder` int(4) DEFAULT NULL COMMENT '排序編號,同類展示順序,數值相等則自然排序',
  `createtime` datetime DEFAULT NULL COMMENT '創建時間',
  `updatetime` datetime DEFAULT NULL COMMENT '更新時間',
  PRIMARY KEY (`cateid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

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

-- ----------------------------
-- Table structure for orderitem
-- ----------------------------
DROP TABLE IF EXISTS `orderitem`;
CREATE TABLE `orderitem` (
  `id` varchar(64) NOT NULL COMMENT '訂單子表id',
  `orderid` varchar(64) DEFAULT NULL COMMENT '訂單id',
  `userid` varchar(64) DEFAULT NULL COMMENT '用戶表id',
  `proid` varchar(64) DEFAULT NULL COMMENT '商品id',
  `proname` varchar(100) DEFAULT NULL COMMENT '商品名稱',
  `proimage` varchar(500) DEFAULT NULL COMMENT '商品圖片地址',
  `currentunitprice` decimal(20,2) DEFAULT NULL COMMENT '生成訂單時的商品單價,單位是元,保留兩位小數',
  `quantity` int(10) DEFAULT NULL COMMENT '商品數量',
  `totalprice` decimal(20,2) DEFAULT NULL COMMENT '商品總價,單位是元,保留兩位小數',
  `createtime` datetime DEFAULT NULL,
  `updatetime` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `FK_Reference_5` (`orderid`),
  KEY `FK_Reference_8` (`userid`),
  KEY `FK_Reference_9` (`proid`),
  CONSTRAINT `FK_Reference_5` FOREIGN KEY (`orderid`) REFERENCES `orders` (`orderid`),
  CONSTRAINT `FK_Reference_8` FOREIGN KEY (`userid`) REFERENCES `user` (`userid`),
  CONSTRAINT `FK_Reference_9` FOREIGN KEY (`proid`) REFERENCES `product` (`proid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

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

-- ----------------------------
-- Table structure for orders
-- ----------------------------
DROP TABLE IF EXISTS `orders`;
CREATE TABLE `orders` (
  `orderid` varchar(64) NOT NULL COMMENT '訂單id',
  `userid` varchar(64) DEFAULT NULL COMMENT '用戶id',
  `shoppingid` varchar(64) DEFAULT NULL,
  `payment` decimal(20,2) DEFAULT NULL COMMENT '實際付款金額,單位是元,保留兩位小數',
  `paymenttype` int(4) DEFAULT NULL COMMENT '支付類型,1-在線支付',
  `postage` int(10) DEFAULT NULL COMMENT '運費,單位是元',
  `status` int(10) DEFAULT NULL COMMENT '訂單狀態:0-已取消-10-未付款,20-已付款,40-已發貨,50-交易成功,60-交易關閉',
  `paymenttime` datetime DEFAULT NULL COMMENT '支付時間',
  `sendtime` datetime DEFAULT NULL COMMENT '發貨時間',
  `endtime` datetime DEFAULT NULL COMMENT '交易完成時間',
  `closetime` datetime DEFAULT NULL COMMENT '交易關閉時間',
  `createtime` datetime DEFAULT NULL COMMENT '創建時間',
  `updatetime` datetime DEFAULT NULL COMMENT '更新時間',
  PRIMARY KEY (`orderid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of orders
-- ----------------------------

-- ----------------------------
-- Table structure for payinfo
-- ----------------------------
DROP TABLE IF EXISTS `payinfo`;
CREATE TABLE `payinfo` (
  `payid` varchar(64) NOT NULL,
  `orderid` varchar(64) DEFAULT NULL COMMENT '訂單id',
  `userid` varchar(64) DEFAULT NULL COMMENT '用戶表id',
  `payplatform` int(10) DEFAULT NULL COMMENT '支付平台:1-支付寶,2-微信',
  `platformnumber` varchar(200) DEFAULT NULL COMMENT '支付流水號',
  `platformstatus` varchar(20) DEFAULT NULL COMMENT '支付狀態',
  `createtime` datetime DEFAULT NULL COMMENT '創建時間',
  `updatetime` datetime DEFAULT NULL COMMENT '更新時間',
  PRIMARY KEY (`payid`),
  KEY `FK_Reference_6` (`orderid`),
  KEY `FK_Reference_7` (`userid`),
  CONSTRAINT `FK_Reference_6` FOREIGN KEY (`orderid`) REFERENCES `orders` (`orderid`),
  CONSTRAINT `FK_Reference_7` FOREIGN KEY (`userid`) REFERENCES `user` (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of payinfo
-- ----------------------------

-- ----------------------------
-- Table structure for product
-- ----------------------------
DROP TABLE IF EXISTS `product`;
CREATE TABLE `product` (
  `proid` varchar(64) NOT NULL COMMENT '商品id',
  `cateid` varchar(64) DEFAULT NULL COMMENT '類別Id',
  `name` varchar(100) NOT NULL COMMENT '商品名稱',
  `subtitle` varchar(200) DEFAULT NULL COMMENT '商品副標題',
  `mainimage` varchar(500) DEFAULT NULL COMMENT '產品主圖,url相對地址',
  `subimages` 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-刪除',
  `createtime` datetime DEFAULT NULL COMMENT '創建時間',
  `updatetime` datetime DEFAULT NULL COMMENT '更新時間',
  PRIMARY KEY (`proid`),
  KEY `FK_Reference_1` (`cateid`),
  CONSTRAINT `FK_Reference_1` FOREIGN KEY (`cateid`) REFERENCES `category` (`cateid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

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

-- ----------------------------
-- Table structure for shopping
-- ----------------------------
DROP TABLE IF EXISTS `shopping`;
CREATE TABLE `shopping` (
  `shoppingid` varchar(64) NOT NULL,
  `userid` varchar(64) DEFAULT NULL COMMENT '用戶表id',
  `orderid` varchar(64) DEFAULT NULL COMMENT '訂單id',
  `receivername` varchar(20) DEFAULT NULL COMMENT '收貨姓名',
  `receiverphone` varchar(20) DEFAULT NULL COMMENT '收貨固定電話',
  `receivermobile` varchar(20) DEFAULT NULL COMMENT '收貨移動電話',
  `receiverprovince` varchar(20) DEFAULT NULL COMMENT '省份',
  `receivercity` varchar(20) DEFAULT NULL COMMENT '城市',
  `receiverdistrict` varchar(20) DEFAULT NULL COMMENT '區/縣',
  `receiveraddress` varchar(200) DEFAULT NULL COMMENT '詳細地址',
  `createtime` datetime DEFAULT NULL,
  `updatetime` datetime DEFAULT NULL,
  PRIMARY KEY (`shoppingid`),
  KEY `FK_Reference_10` (`orderid`),
  KEY `FK_Reference_4` (`userid`),
  CONSTRAINT `FK_Reference_10` FOREIGN KEY (`orderid`) REFERENCES `orders` (`orderid`),
  CONSTRAINT `FK_Reference_4` FOREIGN KEY (`userid`) REFERENCES `user` (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of shopping
-- ----------------------------

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `userid` varchar(64) NOT NULL COMMENT '用戶表id',
  `username` varchar(50) NOT NULL COMMENT '用戶名',
  `password` varchar(50) NOT NULL COMMENT '用戶密碼,MD5加密',
  `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-普通用戶',
  `createtime` datetime NOT NULL COMMENT '創建時間',
  `updatetime` datetime NOT NULL COMMENT '更新時間',
  PRIMARY KEY (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

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

 

 

 

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM