首先她倘,作為一個商城系統(tǒng),需要有作箍,用戶表硬梁,商品表,商品分類表胞得,購物車表
訂單表荧止,訂單明細(xì)表,支付信息表阶剑,以及物流信息表跃巡。
對此博主使用PowerDesigner對數(shù)據(jù)表以及他們之間的關(guān)系進(jìn)行了粗略的設(shè)計得出了如下E-R圖,由于對業(yè)務(wù)不是十分熟悉牧愁,在設(shè)計過程中參考了很多數(shù)據(jù)庫設(shè)計的資料素邪。
1.用戶表
商品表
3.商品類別表
4.購物車表
5訂單表
6.訂單明細(xì)表
7.支付信息表
8.收貨信息表
總結(jié)
到這里我們項目的數(shù)據(jù)庫就設(shè)計好了,對數(shù)據(jù)庫知識递宅,還需要多加學(xué)習(xí)娘香。
感謝大家看到這里,在此办龄,我將sql語句貼出來供大家互相學(xué)習(xí)交流烘绽,如果您對此有什么建議,歡迎指正俐填。
/*
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 '數(shù)量',
`checked` int(11) DEFAULT NULL COMMENT '是否選擇,1=已勾選,0=未勾選',
`createtime` datetime DEFAULT NULL COMMENT '創(chuàng)建時間',
`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當(dāng)id=0時說明是根節(jié)點,一級類別',
`name` varchar(50) DEFAULT NULL COMMENT '類別名稱',
`status` int(1) DEFAULT '1' COMMENT '類別狀態(tài)1-正常,2-已廢棄',
`sortorder` int(4) DEFAULT NULL COMMENT '排序編號,同類展示順序,數(shù)值相等則自然排序',
`createtime` datetime DEFAULT NULL COMMENT '創(chuàng)建時間',
`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 '生成訂單時的商品單價安接,單位是元,保留兩位小數(shù)',
`quantity` int(10) DEFAULT NULL COMMENT '商品數(shù)量',
`totalprice` decimal(20,2) DEFAULT NULL COMMENT '商品總價,單位是元,保留兩位小數(shù)',
`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 '實際付款金額,單位是元,保留兩位小數(shù)',
`paymenttype` int(4) DEFAULT NULL COMMENT '支付類型,1-在線支付',
`postage` int(10) DEFAULT NULL COMMENT '運費,單位是元',
`status` int(10) DEFAULT NULL COMMENT '訂單狀態(tài):0-已取消-10-未付款,20-已付款英融,40-已發(fā)貨盏檐,50-交易成功,60-交易關(guān)閉',
`paymenttime` datetime DEFAULT NULL COMMENT '支付時間',
`sendtime` datetime DEFAULT NULL COMMENT '發(fā)貨時間',
`endtime` datetime DEFAULT NULL COMMENT '交易完成時間',
`closetime` datetime DEFAULT NULL COMMENT '交易關(guān)閉時間',
`createtime` datetime DEFAULT NULL COMMENT '創(chuàng)建時間',
`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 '支付狀態(tài)',
`createtime` datetime DEFAULT NULL COMMENT '創(chuàng)建時間',
`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 '商品副標(biāo)題',
`mainimage` varchar(500) DEFAULT NULL COMMENT '產(chǎn)品主圖,url相對地址',
`subimages` text COMMENT '圖片地址,json格式,擴(kuò)展用',
`detail` text COMMENT '商品詳情',
`price` decimal(20,2) NOT NULL COMMENT '價格,單位-元保留兩位小數(shù)',
`stock` int(11) NOT NULL COMMENT '庫存數(shù)量',
`status` int(6) DEFAULT '1' COMMENT '商品狀態(tài).1-在售 2-下架 3-刪除',
`createtime` datetime DEFAULT NULL COMMENT '創(chuàng)建時間',
`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 '區(qū)/縣',
`receiveraddress` varchar(200) DEFAULT NULL COMMENT '詳細(xì)地址',
`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 '創(chuàng)建時間',
`updatetime` datetime NOT NULL COMMENT '更新時間',
PRIMARY KEY (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of user
-- ----------------------------