前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >商城数据库表设计介绍怎么写_商城数据库设计

商城数据库表设计介绍怎么写_商城数据库设计

作者头像
全栈程序员站长
发布于 2022-09-30 02:41:43
发布于 2022-09-30 02:41:43
1.7K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

前言

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

1.用户表

2. 商品表

3.商品类别表

4.购物车表

5. 订单表

6.订单明细表

7.支付信息表

8.收货信息表

SQL实例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
-- ----------------------------

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/194457.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月12日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
电商管理系统的数据库设计思路和数据库代码
实现用户注册、登录和个人信息管理功能,并对不同用户类型(普通用户、商家、管理员)进行权限管理。
GeekLiHua
2025/01/21
610
JAVA学习,数据库建库文件
用户3519280
2023/07/07
2600
mysql 网上书店系统数据库
create database bookStore; use bookStore; create table book( bookid int auto_increment not null, catalogid int not null, bookname varchar(20) not null, price int not null, picture varchar(30) not null, primary key(bookid) ); create table catalog( catalogid
week
2018/08/27
3.1K0
宿舍系统数据库
张哥编程
2024/12/22
1020
一个小时学会MySQL数据库
该文是对一篇新闻文章的摘要总结。
张果
2018/01/04
4K0
一个小时学会MySQL数据库
头歌MySQL数据库实训答案 有目录[通俗易懂]
数据库部分一条一条的写,可鼠标手动粘贴,除特定命令外未分大小写。 第1关:创建数据库
全栈程序员站长
2022/09/13
8.7K0
实战SSM_O2O商铺_02数据模型设计及实体类的创建
/src/main/java新建包com.artisan.o2o.entity,新建Area.java
小小工匠
2021/08/17
5190
app数据库表的设计_订单数据库设计
登录相关 用户信息表(账户相关) CREATE TABLE UserAccount ( UID INT NOT NULL AUTO_INCREMENT, /* 用户ID */ ParentID INT NOT NULL, /* 父级ID */ UserName VARCHAR(40) NOT NULL, /* 用户名 */ NickName VARCHAR(40), /* 昵称 */ Avatar VARCHAR(40), /* 头像 */ Safeques VARCHAR(40), /* 安全问题 */ SafeAnswer VARCHAR(40), /* 安全问题答案 */ Locked INT NOT NULL , /* 是否锁定 */ LastVisitTime DATETIME, /最后访问时间/ RegisterTime DATETIME, /注册时间/ PRIMARY KEY (UID) ); 用户信息详情表 CREATE TABLE UserDetails ( UID INT NOT NULL REFERENCES UserAccount (UID), /* 用户ID */ Gender INT NOT NULL, /* 性别 */ RealName VARCHAR(40) NOT NULL, /* 真实姓名 */ Mobile VARCHAR(40), /* 手机号 */ Email VARCHAR(40), /* 邮箱 */ BirthDate DATETIME, /* 出生日期 */ IDCard VARCHAR(40) NOT NULL, /* 身份证号 */ Address VARCHAR(40) NOT NULL, /* 地址 */ PlateNum VARCHAR(40) NOT NULL /* 车牌号 */ );
全栈程序员站长
2022/10/02
5780
SNS 数据库设计
本文节选自《Netkiller Architect 手札》 4.21. SNS 数据库设计 这里讲解SNS交友社区的数据库设计与实现 我们要实现下面几个功能 朋友之间的关系,多对多关系 朋友之间的维度,如3度4度.... 朋友的查找 CREATE DATABASE `sns` /*!40100 COLLATE 'utf8_general_ci' */ 4.21.1. people 表 people 是存储人,你可以用为user,member都可以 CREATE TABLE `people` (
netkiller old
2018/03/05
1.3K0
一个小时学会MySQL数据库
随着移动互联网的结束与人工智能的到来大数据变成越来越重要,下一个成功者应该是拥有海量数据的,数据与数据库你应该知道。
杨奉武
2019/02/13
3.8K0
一个小时学会MySQL数据库
SQL FOREIGN KEY 约束- 保障表之间关系完整性的关键规则
SQL FOREIGN KEY 约束用于防止破坏表之间关系的操作。FOREIGN KEY 是一张表中的字段(或字段集合),它引用另一张表中的主键。具有外键的表称为子表,具有主键的表称为被引用表或父表。
小万哥
2023/12/08
3460
SQL FOREIGN KEY 约束- 保障表之间关系完整性的关键规则
数据库设计工具的使用(实用)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157565.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/14
3540
数据库设计工具的使用(实用)
【数据库设计】宠物商店管理系统
随着中国经济的增长,宠物行业得到了迅猛的发展,人们饲养宠物已经由单纯的赏玩而转变成人们精神的一种寄托,宠物的角色也悄然发生着变化,已经日益成为人们生活的伴侣,在促进和谐社会发挥着不可替代的调节作用,越来越多的人开始养宠物,其中以猫狗为主。由于市场的无序竞争,法制观念淡,数量大但精品少,管理不规范加上缺少相关法律法规和行业标准的监管和约束,导致当前我国宠物用品竞争无序,尚未形成高水平的专业大市场,严重的影响了宠物用品行业的健康发展。同时,宠物用品网购企业受销售规模所限,渠道谈判力量较弱,货源大多被品牌渠道商控制。而渠道供应商方面可能存在掺杂假货等不规范操作,容易造成产品质量问题,这会对消费者权益造成一定损害,也对网购企业的品牌有所不利。而我国目前没有网络购物的法律规范,消费者维权时常遭遇无法可依的尴尬。而无良商家也经常利用法律法规的漏洞,制定霸王条款,侵犯消费者权益。
SarPro
2024/06/14
2060
【数据库设计】宠物商店管理系统
(2) 电商数据库表设计
用户数据库(mc_userdb):用户信息表(customer_inf)、用户登录表(customer_login)、 用户级别表(customer_level_inf)、用户积分日志表(customer_point_log)、用户余额变动表(customer_balance_log)、 用户登录日志表(customer_login_log) 商品数据库(mc_productdb):品牌信息表(product_brand_info)、商品分类表(product_category)、供应商信息表(product_supplier_info)、商品信息表(product_info)、商品图片信息表(product_pic_info)、商品评论表(product_comment) 订单数据库(mc_orderdb):订单主表(order_master)、订单详情表(order_detail)、用户地址表(customer_addr)、仓库信息表(warehouse_info)、物流公司信息表(shipping_info)、 购物车表(order_cart)
用户1214487
2022/03/26
7560
C#宿舍系统数据库
Source Server : workplace Source Server Version : 50610 Source Host : 127.0.0.1:3306 Source Database : dormdb
张哥编程
2024/12/21
900
微服务入门之SpringCloud(视频文案)
微服务架构风格是一种将单个应用程序作为一套小型服务开发的方法,每种应用程序都在自己的进程中运行,并与轻量级机制(通常是HTTP资源API)进行通信。 这些服务是围绕业务功能构建的,可以通过全自动部署机制独立部署。 这些服务的集中管理最少,可以用不同的编程语言编写,并使用不同的数据存储技术。
Java猫说
2019/04/11
5630
数据库 SQL 约束之 FOREIGN KEY
大家好,我是阿常,上一篇阿常讲了《数据库 SQL 约束之 PRIMARY KEY》,今天阿常和大家分享《数据库 FOREIGN KEY 约束》。
程序媛淼淼
2022/09/01
6060
数据库 SQL 约束之 FOREIGN KEY
7. MyBatis多表查询 - 一对一 - 一对多 - 多对多
在上面我们已经准备好了 sql 表结构,在 sql 中具有 一对一、一对多、多对多 三种关系。而如果在 mybatis 的角度来看,却只有 一对一、一对多 两种关系,这是为什么呢?
Devops海洋的渔夫
2022/01/17
3.7K0
7. MyBatis多表查询 - 一对一 - 一对多 - 多对多
模仿天猫实战【SSM版】——项目起步
前言:现在自己的学习似乎遇到了瓶颈,感觉学习了 SSM 之后有一些迷茫,不知道接下来该往哪里去努力了,我觉得这是个很不好的状态,为了度过这段时期,我准备把天猫模仿下来(给自己找点事做)之后开始去巩固 Java 的基础知识,也准备好暑假去找实习。 第一步:需求分析 首先要确定要实现哪些功能,需要对需求进行完整的分析,才能在编写项目的时候有条不紊,我们的目的很明确:就是模仿天猫前端 + 自己实现后端。并且尽最大努力去降低这个项目的复杂度(毕竟高深的东西不懂)。 前端需求分析 规定:全天猫没有店铺,就只有唯
我没有三颗心脏
2018/06/13
1.2K0
表——完整约束性规则(键)
一 介绍 约束条件与数据类型的宽度一样,都是可选参数 作用:用于保证数据的完整性和一致性 主要分为: primary key (PK) 标识该字段为该表的主键,可以唯一的标识记录 foreign key (FK) 标识该字段为该表的外键 not null 标识该字段不能为空 unique key (UK) 标识该字段的值是唯一的 auto_increment 标识该字段的值自动增长(整数类型,而且为主键) default 为该字段设置默认值 unsigned 无符号 z
用户1214487
2018/01/23
2.4K0
相关推荐
电商管理系统的数据库设计思路和数据库代码
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验