前言

  一个商城系统,需要有,用户表,商品表,商品分类表,购物车表,订单表,订单明细表,支付信息表,以及物流信息表。
  使用PowerDesigner对数据表以及他们之间的关系进行了粗略的设计得出了如下E-R图:

  

1.用户表

2. 商品表

3.商品类别表

4.购物车表

5. 订单表

6.订单明细表

7.支付信息表

8.收货信息表

SQL实例


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
-- ----------------------------

商城数据库表设计介绍相关推荐

  1. 美多商城之商品(商品数据库表设计)

    一.商品数据库表设计 1.1 SPU和SKU 在电商中对于商品,有两个重要的概念:SPU和SKU 1. SPU介绍      [即为商品的一个概述,一种商品的统称] SPU = Standard Pr ...

  2. 商城 商品模块 数据库 表设计

    商城 商品模块 数据库 表设计 要实现一个商城,对于商品模块中的数据库表设计不懂,主要是:相同类别的产品的产品参数相同,不同类别的不同,这里就不懂要怎么设计了,所以上网找几篇博客了解. 什么是SPU. ...

  3. 美多商城项目:商品数据库表设计、准备商品数据、首页广告、商品列表页

    一.商品数据库表设计 1.1 SPU和SKU 在电商中对于商品,有两个重要的概念:SPU和SKU 1. SPU介绍 SPU = Standard Product Unit (标准产品单位) SPU是商 ...

  4. 数据库表设计、 数据库分层、myslq水平拆分、oracle表分区

    数据库表设计 数据库表结构设计方法及原则(li)数据库设计的三大范式:为了建立冗余较小.结构合理的数据库,设计数据库时必须遵循一定的规则.在关系型数据库中这种规则就称为范式.范式是符合某一种设计要求的 ...

  5. mysql设计积分兑换表_积分系统数据库表设计.docx

    积分系统数据库表设计 文件编号:JHDZ/SJ 密 级: 云上城积分功能数据库设计文档 项目名称:<云上城>项目代号:XXX版 本:V1.0编制单位:平台运营编制日期:2014-10-08 ...

  6. 万字归纳总结 | 数据库表设计与SQL编写技巧

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"加群"加入公众号专属技术群 前言 随着移动云平台系统业务不断增长,必然需要对各系统进行 ...

  7. 数据库表设计索引外键设计_关于索引的设计决策 数据库管理系统

    数据库表设计索引外键设计 Introduction: 介绍: The attributes whose values are required inequality or range conditio ...

  8. 一种多层级机构数据库表设计的思路及组织机构树数据库表设计

    在实际开发过程中,经常存在多个层级结构的设计,而且多个层级结构还需要排序.这里通过将多级结构的数据在同一张表中(无需多张表进行关联),并通过level的巧妙设计来实现单表查询. level的设计原则: ...

  9. MySQL数据库表设计

    MySQL数据库表设计 ​ 数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要 ...

最新文章

  1. pygame里面物体闪烁运动_教师资格【试讲示范】高中物理试讲答辩——《自由落体运动》试讲稿答辩...
  2. MQTT 协议 Client ID 长度不能超过23个字符
  3. 用eclipse生成可运行jar包、启动jar包及常见错误
  4. tomact如何处理一个http请求?
  5. 2022版全球及中国煤矿机械再制造行业“十四五”发展规划与投资建议报告
  6. 卷积神经网络之 - Alexnet
  7. oracle如何修改列为空,Oracle 如何修改列不为空的时候的数据类型
  8. Unity 2018.3.1 SyncVar没有同步服务器变量
  9. iis 404错误从定向完美方案
  10. BBC又一神作,豆瓣9.8分,美轮美奂的大自然不仅仅属于人类
  11. 关闭windows垃圾服务
  12. 使用渐进式JPEG来提升用户体验
  13. mysql主从代替技术_mysql主从复制及失败切换
  14. xshell对mysql的备份与恢复_windows下mysql全备份及还原(亲测可用)
  15. Spring注入静态类型
  16. POJ 3046 Ant Counting ( 多重集组合数 经典DP )
  17. 【从C到C++学习笔记】域运算符/new/delete运算符/重载/Name managling/extern C/带函数默认值参数
  18. 2440开发板linux系统移植3G拨号上网收发短信(三)
  19. JVM监控及诊断工具GUI篇之JProfiler
  20. ArcCatalog 连接远程SDE 连接字符

热门文章

  1. 2021-2027年中国智能马桶盖行业市场研究及前瞻分析报告
  2. 2022-2028全球与中国跨临界二氧化碳系统市场现状及未来发展趋势报告
  3. Python 生成器总结
  4. python开启GPU加速
  5. 智能驾驶计算平台算力技术
  6. 关于Numba的线程实现的说明
  7. 为x86 CPU自动调度神经网络
  8. Kaggle上的犬种识别(ImageNet Dogs)
  9. AlexeyAB DarkNet YOLOv3框架解析与应用实践(二)
  10. Failed to load AppCompat ActionBar with unknown error