基于 SpringCloud 的在线交易平台乐优商城的设计与实现(四)

        第 4 章 数据库设计

4.1  数据库设计原则

4.2.数据库概念结构设计

4.3  数据库表设计

4.4.本章小结


前面内容请移步

基于 SpringCloud 的在线交易平台乐优商城的设计与实现(三)

相关免费源码资源

乐优商城

 4  数据库设计

4.1  数据库设计原则

        在系统中,数据库用来保存数据。数据库设计是整个系统的根基和起点, 也是系统开发的重要环节, 它的设计好坏直接关系到系统是否具有较高的可 靠性和稳定性, 重要性不言而喻。良好的数据库设计能够提高查询效率、保 证数据准确、  减少数据冗余。本文设计的电商平台采用开源的关系型数据库 MySQL 作为数据库。通过分析,系统确定了如下数据库设计规则 :

(1)  数据库表都有主键字段 ,且非空唯一,但主键的生成方式可以不同

(2)  数据库表若有外键 ,外键字段不能为空

(3)  若两张表之间关系复杂, 采用第三张映射表来关联维护两张表之间的关 系

(4)  数据库表名和字段都采取英文字母加下划线的方式命名 英文字母全部 小写

(5)  添加一些必要的冗余字段,例如:创建时间、修改时间、备注等,方便 后期维护拓展

4.2.数据库概念结构设计

        数据库概念结构设计是把需求分析得出的需求抽象成概念模型的过程。 通过系统的需求分析需要确定数据库中需要哪些实体、这些实体的属性和实 体之间的联系。实体之间的联系包括一对一、一对多和多对多。E-R 图能够 反映实体与实体之间的联系, 通过 3.3  小节的系统功能性需求分析我们知道 系统必然存在最重要的 2  个实体,分别是商家和用户。该电商平台的 E-R图

 4-2  系统实体 ER 

4.3  数据库表设计

数据库物理结构设计主要工作为设计数据库表结构, 本文设计的电商平台数

据库实体表设计总表如表 4-1 所示:

 4-1 表总体结构设计

表名

主键

外键

表说明

tb_category

id

商品分类表

tb_brand

id

商品品牌表

tb_category_brand

brand_id

category_id

brand_id

category_id

品牌分类中间表

tb_spu

id

brand_id

cid1

cid2

cid3

商品表

tb_sku

id

spu_id

商品 sku 

tb_spec_group

id

category_id

商品规格组表

tb_spec_param

id

category_id

group_id

商品规格参数表

tb_user

id

用户 id

tb_address

id

user  id

_

用户地址表

tb_order

order_id

user  id

订单表

tb_order_detail

id

order_id

sku_id

订单详情

tb_order_logistics

id

order_id

订单物流

        由于篇幅原因且表结构众多, 在此不再列出全部数据库表结构 ,以分类表、

商品表、用户表的表结构为例进行介绍:

        商品分类共分三级, 一级与二级, 二级与三级分类之间都是 1 对多关系。商

品与分类表中的第三级分类关联:

 4-2 商品分类结构设计

字段名称

字段类型

允许为空

说明

id

bigint(20)

自增编号

编号

name

varchar(50)

分类名

parent_id

bigint(20)

父类目 id

is_parent

tinyint(1)

是否是父类目

sort

tinyint(1)

顺序

create_time

timestamp

创建时间

update_time

timestamp

更新时间

        商品表用来存储商品,结构如下:

 4-3  商品表结构

字段名称

字段类型

允许为空

说明

id

int(4)

自增编号

编号

name

varchar(50)

商品名称

title

varchar(50)

商品标题

cid1

bigint(20)

商品分类 1 级分类

cid2

bigint(20)

商品分类 2 级分类

cid3

bigint(20)

商品分类 3 级分类

brand_id

bigint(20)

品牌 id

saleable

tinyint(1)

是否上架

create_time

timestamp

添加时间

update_time

timestamp

更新时间

        用户表结构如下:

 4-4  用户表结构

字段名称

字段类型

允许为空

说明

id

int(4)

自增编号

编号

username

varchar(50)

用户名

password

varchar(50)

密码

phone

varchar(11)

电话

create_time

timestamp

添加时间

update_time

timestamp

更新时间

4.4.本章小结

        本章主要介绍了系统概要设计包 括系统架构设计和系统数据库设计。 其中, 系统架构设计对该电商平台整体架构进行设计, 系统数据库设计对数据库 设计原则、数据库概念结构设计 、数据库物理结构设计进行了阐述 。

最近更新

  1. TCP协议是安全的吗?

    2024-04-28 12:12:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-28 12:12:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-28 12:12:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-28 12:12:02       20 阅读

热门阅读

  1. transformers - 预测中间词

    2024-04-28 12:12:02       12 阅读
  2. opencv动态识别人脸

    2024-04-28 12:12:02       14 阅读
  3. L2-052 吉利矩阵

    2024-04-28 12:12:02       11 阅读
  4. Centos编译安装python3.9

    2024-04-28 12:12:02       14 阅读
  5. 生成对抗网络(GAN)

    2024-04-28 12:12:02       11 阅读
  6. 《AI音频类工具之二—— 讯飞智作》

    2024-04-28 12:12:02       11 阅读
  7. 【NTN 卫星通信】NTN应该使用FDD还是TDD双工模式

    2024-04-28 12:12:02       11 阅读
  8. Linux 权限提升 - 信息收集 清单

    2024-04-28 12:12:02       14 阅读
  9. 模拟开关的选型使用注意事项

    2024-04-28 12:12:02       10 阅读
  10. Android Room使用模板

    2024-04-28 12:12:02       12 阅读
  11. 电力电子技术——PWM控制技术

    2024-04-28 12:12:02       13 阅读
  12. MySQL的约束

    2024-04-28 12:12:02       10 阅读