数据库表结构介绍|学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习数据库表结构介绍

开发者学堂课程【RocketMQ 知识精讲与项目实战(第二阶段)数据库表结构介绍】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/703/detail/12405


数据库表结构介绍


内容介绍:

一、优惠券表

二、商品表

三、订单表

四、订单商品日志表

五、用户表

六、用户余额日志表

七、订单支付表

八、MQ 消息生产表

九、MQ 消息消费表

十、总结

整个数据库是由九张表构成,九张表的意思是所做的业务其实主要是完成一个商城,商城的本质是进行商品的售卖,用户要在商城上面选购商品完成一个支付操作,所以这些表都是跟线上购物相关的。


一、优惠券表

image.png

有在线购物的都会有优惠券使用的经历,在这里边商城也可以使用优惠券,在优惠券表中有一些字段,第一个是 ID,第二个是优惠券金额,第三个是用户 ID ,就是用户领了某一个优惠券,进行标识,就是当前优惠券属于哪一个用户的,然后优惠券被使用之后肯定是在某一订单当中去使用优惠券,所以将来在使用之后还会去关联订单案例,第四个是优惠券的使用状态0是未使用,1是已使用,最后有一个使用时间


二、商品表

image.png

商品表是一个比较核心的表,里面有一些字段,如主键、商品名称、商品库存(代表商品含有多少个能够销售多少个)、商品的价格、商品的描述以及商品的添加时间,是一个简单表。


三、订单表

image.png

订单表中有以下几个字段,第一个是订单 ID ,再用户 ID ,之后订单的状态,这个用户 ID 说明哪个用户下了订单,而这个订单的状态有0未确认,1已确认,2已取消,3无效订单,4退款,然后下单之后进行支付,而支付的状态也会进行一个标注,0代表未支付,1代表支付当中,2代表已支付,还有这个发货状态,0是未发货,1是已发货,2是已收货,还可以进行标识,2是已退货。

下图这些就包括收货地址,收货人,商品的 ID ,当前订单里面有什么商联,然后商品的数量,商品的价格,总价运费,订单价格,优惠券的 ID ,优惠劵的金额,已付的金额,创建时间,订单的确认时间以及支付的时间。

image.png


四、订单商品日志表

image.png

这个表其实是进入这个用户进行下单的时候对于商品库存的操作。在下单的时候是减库存,下单失败要进行库存的回退,就是针对订单当中商品的库存的操作有这么一个记录表。这里边相关的字段的商品 ID 和订单有库存的数量以及当前记录的时间。


五、用户表

image.png

用户表当中有一些字段,如用户 ID ,用户姓名,用户密码,手机号,积分,注册时间以及用户余额(将来在支付的时候可以使用余额去完成一个支付)。


六、用户余额日志表

image.png

有了余额,余额在扣减的时候做一个记录,这是用户余额记录日志的表,这里边有这些字段,如当前用户的ID,哪个订单使用了操作的余额,在操作余额的时候到底是下单在余额购款进行订单的退款把余额加上,记录一个操作的类型,一个是订单的付款,另一个是订单的退款,付款是减余额,退款是加余额,之后操作的金额以及日志的时间。


七、订单支付表

image.png

订单支付表其实记录支付的编号,针对哪一个订单去支付,支付的金额是多少,支付完之后更改一下状态,1代表未支付。2代表已支付。


八、MQ 消息生产表

image.png

消息分为两个,一个是消息生产方,生产消息的时候去记录一下当前的信息,里面就包含主键,生产者的组名,消息的主题,Tag 以及 Key,消息的内容,消息是否处理,0代表未处理,1代表已处理,最后一个记录时间。


九、MQ消息消费表

image.png

消息的消费方有消息的 ID ,消费者的组名,Tag,业务 Key,消息体,当前处理状态,消费的次数以及消费的时间。消费的次数是消费方在进行消费时候可能第一次消费失败了,但允许第二次消费,总共允许消费三次,记录一下当前消费的次数。

最后的字段 remark 是备注,也就是额外的信息备注一下。


十、总结

总共有九张表,可以在数据库当中先创建出来,在创建的时候可以打开资料,里面有一个 shop 执行文件,使用客户端连接,之后创建一个数据库,把文件当中的内容复制过来,选中执行再等待执行完成。

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
1月前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
131 6
|
4月前
|
存储 SQL 数据库
如何避免数据库表结构冗余?
【7月更文挑战第28天】如何避免数据库表结构冗余?
51 5
|
1月前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
71 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
2月前
|
SQL 关系型数据库 MySQL
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08
|
3月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
58 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
3月前
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
134 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
|
3月前
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
39 6
|
3月前
|
存储 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
50 4
|
3月前
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(中)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
31 3
|
3月前
|
开发工具 数据安全/隐私保护 索引
LDAP学习笔记之二:389-DS(RHDS) 增删改查基本操作
LDAP学习笔记之二:389-DS(RHDS) 增删改查基本操作
下一篇
无影云桌面