电商+支付双系统项目------设计数据库

这篇文章将详细介绍电商支付双系统项目的数据库设计。数据库在该项目中扮演着至关重要的角色,它负责存储和管理用户信息、商品数据、订单记录以及支付交易等关键数据。通过精心设计和优化数据库结构,可以实现高效的数据存储和检索,确保系统的性能和可靠性。

目录

数据库设计

表关系

表结构

唯一索引

单索引和组合索引

时间戳

建立数据库

安装MySQL

执行建表SQL


数据库设计

数据库设计就5个步骤:

(1)表关系  (2)表结构  (3)唯一索引  (4)单索引及组合索引  (5)时间戳

其中,表关系是最重要的,时间戳的话其实也重要,只不过我没学那里

表关系

用户要下单,所以需要一个用户表,还有一个订单表。用户怎么下单?要购买商品才可以下单吧,因此需要一个商品表。那有了商品,应该可以想到要分类吧,所以有一个分类表。下单完要支付吧,所以有一个支付表。那订单应该是有订单详情的,所以要有一个订单详情表。用户下单要填收货地址吧,因此有一张收货地址表。

OK!我的数据库就打算这样来设计,那我是怎么设计这些表的呢?其实我就是一直在脑补用户下单的画面,下单要用到什么表。这里我感觉其实比较难,毕竟从无到有,从0到1嘛!你也可以自己脑补一下,不一定用我这些表哈哈哈。

表设计好了之后,就要建立表关系(一对一,一对多,多对多)这些,想想表与表之间有什么关系

表结构

表结构说白了其实就是表包含了哪些信息,包括用户表结构,分类表结构,产品表结构,支付信息表结构,订单表结构,订单详情表结构

唯一索引

为什么要设置索引?索引是为了加快查询速度,你应该想到,假如有人来查表的时候,他用什么字段来查?无非就是用户id或者订单号来查!

用户名在整张表是唯一的,因此要设置唯一索引。设置了用户名唯一索引之后,你往用户表写相同的用户名,是写不进去的,会报错

订单表也是一样,订单号在整张表是唯一的,所以要设置唯一索引。

反正就记住一点就是,如果有一种数据是必须要唯一的,你就设置唯一索引就行了。

单索引和组合索引

时间戳

建立数据库

数据库的蓝图你在脑子里构思好了,就可以用电脑实现了!

安装MySQL

我就不给大家介绍怎么安装了,大家随便上网找个教程安装就行

执行建表SQL

在Navicat中用代码建立了数据库,数据库的名字叫mall           

数据库已经设置完毕了,下篇文章讲一下支付系统,让大家对支付系统有一个了解,就当做为自己写支付系统打一个基础吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/686916.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript中的常见算法

一.排序算法 1.冒泡排序 冒泡排序比较所有相邻的两个项&#xff0c;如果第一个比第二个大&#xff0c;则交换它们。元素项向上移动至 正确的顺序&#xff0c;就好像气泡升至表面一样。 function bubbleSort(arr) {const { length } arrfor (let i 0; i < length - 1; i)…

详解自定义类型:枚举与联合体!

目录 ​编辑 一、枚举类型 1.枚举类型的声明 2.枚举类型的优点 3.枚举类型的使用 二、联合体类型(共用体&#xff09; 1.联合体类型的声明 2.联合体的特点 3.相同成员的结构体和联合体的对比 4.联合体大小的计算 5.用联合体判断大小端 三.完结散花 悟已往之不谏&…

【Webpack】自动执行开发服务器 devServer

开发服务器&自动化 每次写完代码都需要手动输入指令才能编译代码&#xff0c;太麻烦了&#xff0c;我们希望一切自动化&#xff0c;即修改代码后服务器浏览器自动刷新。 1. 下载包 npm i webpack-dev-server -D2. 配置 webpack.config.js const path require("p…

深入浅出了解谷歌「Gemini大模型」发展历程

Google在2023年12月官宣了Gemini模型&#xff0c;随后2024年2月9日才宣布Gemini 1.0 Ultra正式对公众服务&#xff0c;并且开始收费。现在2024年2月14日就宣布了Gemini 1.5 Pro&#xff0c;史诗级多模态最强MoE首破100万极限上下文纪录&#xff01;&#xff01;&#xff01;Gem…

Grafana入门:从0开始打造动态仪表板

Grafana入门&#xff1a;从0开始打造动态仪表板 Grafana是一个开源的数据可视化和监控工具&#xff0c;它支持多种数据源&#xff0c;如Prometheus、InfluxDB、Elasticsearch等。通过Grafana&#xff0c;我们可以轻松地创建漂亮的仪表盘&#xff0c;实时监控应用程序和服务的性…

数据分析 — Pandas 数据加载、存储和清洗

目录 一、文件读取1、常见文件读取函数2、read_csv()3、read_table()4、read_excel()5、read_json()6、read_html()7、大文件读取 二、数据保存1、csv2、excel3、json4、html5、MySQL1、连接数据库2、MySQL 存储到本地3、本地存储到 MySQL 三、数据清洗1、处理缺失值1、判断数据…

Aster实现一台电脑当两台使——副屏使用独立win账号

前言&#xff1a;笔者每年回家&#xff0c;都面临着想要和小伙伴一起玩游戏&#xff0c;但小伙伴没有电脑/只有低配电脑的问题。与此同时&#xff0c;笔者自身的电脑是高配置的电脑&#xff0c;因此笔者想到&#xff0c;能否在自己的电脑上运行游戏&#xff0c;在小伙伴的电脑上…

LaTeX中的documentclass命令:指定文档的类型和整体布局

诸神缄默不语-个人CSDN博文目录 documentclass 是 LaTeX 中一个基础且重要的命令&#xff0c;用于定义文档的整体布局和样式。这个命令告诉 LaTeX 编译器文档是属于哪一类的&#xff0c;比如是文章、报告、书籍等&#xff0c;每一类都有其预定义的格式和结构。 文章目录 基本语…

怎么恢复电脑重装前的数据?介绍几种有效的方法

在日常生活和工作中&#xff0c;电脑已成为我们不可或缺的工具。然而&#xff0c;有时候我们会遇到一些突发情况&#xff0c;比如电脑系统崩溃需要重新安装系统。在这个过程中&#xff0c;我们可能会失去一些重要的数据&#xff0c;比如照片、文档、视频等。这些数据可能包含着…

基于springboot车辆充电桩管理系统源码和论文

随着信息化时代的到来&#xff0c;管理系统都趋向于智能化、系统化&#xff0c;车辆充电桩管理系统也不例外&#xff0c;但目前国内仍都使用人工管理&#xff0c;市场规模越来越大&#xff0c;同时信息量也越来越庞大&#xff0c;人工管理显然已无法应对时代的变化&#xff0c;…

马斯克评 OpenAI 视频模型,接地气又一针见血

马斯克评 OpenAI Sora 昨天&#xff0c;OpenAI 发布了首个视频生成模型 Sora。 一位 X&#xff08;前推特&#xff09;用户分享了 Sora 官网所展示的生成视频&#xff1a;一名女子在东京街头漫步。 该用户评论称&#xff1a;"OpenAI 今天宣布了 Sora&#xff0c;它使用混合…

【力扣每日一题】力扣429N叉树的层序遍历

题目来源 力扣429N叉树的层序遍历 题目概述 给定一个 N 叉树&#xff0c;返回其节点值的层序遍历。&#xff08;即从左到右&#xff0c;逐层遍历&#xff09;。 思路分析 跟二叉树的层序遍历基本一致&#xff0c;只不过把向孩子节点列表添加左右节点该成了添加父节点的全部…

兵棋推演是离散问题,深度学习是连续问题

兵棋推演是指通过模拟和分析军事战斗的过程&#xff0c;以评估各种战略和战术决策的有效性和结果。它通常涉及到离散的行动和状态空间&#xff0c;例如在一个离散的棋盘上移动棋子、进行攻击等。 深度学习是一种机器学习方法&#xff0c;旨在通过大规模数据的训练来学习复杂的模…

为什么MySQL不建议使用TEXT字段?

当我们深入探讨“为什么MySQL不建议使用TEXT字段&#xff1f;”这一问题时&#xff0c;可以从一下多个方面来详细理解这个问题&#xff1a; 1. 性能问题 性能问题是MySQL不建议使用TEXT字段的一个重要原因。TEXT字段通常以外部存储方式保存&#xff0c;而不是像固定长度或可变…

C# winfrom实例:四路激光测距雷达数据采集和波形图绘制

1.所述产品 产品型号&#xff1a;TFmini Plus 相关资料下载地址&#xff1a;http://www.benewake.com/download 产品名称&#xff1a;TFmini Plus激光雷达模组制造商公司&#xff1a;北醒&#xff08;北京&#xff09;光子科技有限公司 2.产品功能&#xff1a;TFmini Plus是基…

USART--串口通信

目录 一、通讯的基本知识 1、串行通讯与并行通讯 2、 全双工、半双工及单工通讯 3、 同步通讯与异步通讯 4、通讯速率 二、串口通讯 1、物理层&#xff1a; 2、协议层&#xff1a; 3、STM32代码中使用过程串口步骤&#xff1a; 一、通讯的基本知识 1、串行通讯与并行通…

实现低功耗设计的嵌入式系统技术

&#xff08;本文为简单介绍&#xff0c;观点来源网络&#xff09; 在嵌入式系统设计中&#xff0c;追求低功耗已成为一个核心指标&#xff0c;旨在延长设备的运行时间并提升能效。实现这一目标的途径是多元的&#xff0c;涉及从硬件选型到软件算法的各个层面。 首先&#xf…

【Py/Java/C++三种语言详解】LeetCode每日一题240217【二叉树BFS】LeetCode429、N叉树的层序遍历

有LeetCode交流群/华为OD考试扣扣交流群可加 948025485 可上全网独家的 欧弟OJ系统 练习华子OD、大厂真题 绿色聊天软件戳 od1336了解算法冲刺训练 文章目录 题目链接题目链接题目描述解题思路DFS和BFS异同用队列维护的BFS 代码PythonJavaC时空复杂度 相关习题华为OD算法/大厂面…

基于MapVGL的地理信息三维度数据增长可视化

写在前面 工作中接触&#xff0c;简单整理博文内容为 基于MapVGL的地理信息维度数据增长可视化 Demo理解不足小伙伴帮忙指正 对每个人而言&#xff0c;真正的职责只有一个&#xff1a;找到自我。然后在心中坚守其一生&#xff0c;全心全意&#xff0c;永不停息。所有其它的路都…

2.17学习总结

tarjan 【模板】缩点https://www.luogu.com.cn/problem/P3387 题目描述 给定一个 &#xfffd;n 个点 &#xfffd;m 条边有向图&#xff0c;每个点有一个权值&#xff0c;求一条路径&#xff0c;使路径经过的点权值之和最大。你只需要求出这个权值和。 允许多次经过一条边或者…