首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >分布式电商系统的设计与实现⑤-2

分布式电商系统的设计与实现⑤-2

原创
作者头像
会洗碗的CV工程师
发布于 2024-06-18 22:32:34
发布于 2024-06-18 22:32:34
5750
举报
文章被收录于专栏:毕业设计毕业设计

接下来,我会将整篇毕设论文放上该专栏,其中按照论文提纲主要分为八大部分。每一部分单独列出一篇文章。 这一篇就是论文的第四部分系统概要设计中的数据库设计。中括号代表的是参考文献,后面会有列出来

1 系统概要设计

1.1 系统数据库设计

1.1.1 数据库概要设计

首先在进行数据库设计的时候,一定要熟悉各个表的属性,以及其他关联表的相关联其他的表的字段。因此这就需要通过模型图来实现。ER图可以直观地了解到每一个表当中的属性以及每个表之间的关系。该系统数据库的系统数据库模型图如下图4-12所示:

图 4-12 数据库模型图

上面其实可以划分为四大模块,一部分是与商品模型联系的ER模型图,第二部分是与后台用户模型联系的ER模型图,第三部分是与订单模型联系ER模型图,最后一部分是与地区相关联的ER模型图,其中广告模型不予其他模型有关联。

与商品有关的数据库表设计,以及表之间的关联信息。具体详细如下图4-13所示。

图 4-13 商品关联表模型图

如下图 4-14 地址关联模型图所示,是有关与用户三级收货地址的表设计。

图 4-14 地址关联模型图

如下图 4-15 用户数据表模型关联图所示,是与订单表、用户表以及和用户详细地址的相关联表模型设计。

图 4-15 用户数据表模型关联图

如下图 4-16 后台数据模型关联图所示,是后台所需要用到的数据表模型关联图。

图 4-16 后台数据模型关联图

1.1.2 数据库表设计

由上面可以模型图已经可以很直观地了解到该系统的数据库整体设计,现在作数据库的表设计,下面列举该系统所需要用到的表。

l 商品表lyl_goods:

商品表主要用来存储商品数据等相关信息的,包含的字段由商品id,商品名称,商品副标题,价格,品牌id,以及商品类型id,这里包括了一级类目、二级类目和三级类目的id,还有商品的图照片,商品介绍,以及是否上架等属性。如下表4-1所示:

表 4-1 商品表

字段名

字段类型

是否为空

是否主键

字段注释

id

bigint(20)

NOT NULL

是

商品id

goodsName

varchar(255)

NOT NULL

否

商品名称

caption price brandId productType1Id productType2Id productType3Id headerPic introduction isMarketable

varchar(255) decimal(10,2) bigint(20) bigint(20) bigint(20) bigint(20) varchar(255) varchar(255) tinyint(1)

NULL NULL NULL NOT NULL NULL NULL NULL NULL NULL

否 否 否 否 否 否 否 否 否

商品副标题 价格 品牌id 一级类目id 二级类目id 三级类目id 商品照片 介绍 是否上架(1上架)

l 商品品牌表lyl_brand:

商品品牌表这里就只包括了品牌名和品牌id,该表的详细描述如下表4-2:

表 4-2 商品品牌表

字段名

字段类型

是否为空

是否主键

字段注释

id

bigint(20)

NOT NULL

是

品牌id

name

varchar(255)

NOT NULL

否

品牌名

l 商品类型表lyl_productType:

商品类型表主要包括商品类型id,商品类型名,以及类型级别,类型级别,分为1,2,3级,不能超过3级。还有父级类目id,当父级类目id等于0时,代表是一级类目。详细信息如下表4-3所示:

表 4-3 商品类型表

字段名

字段类型

是否为空

是否主键

字段注释

id

bigint(20)

NOT NULL

是

商品类型id

name

varchar(255)

NOT NULL

否

商品类型名

level

int(10)

NOT NULL

否

类型级别

parentId

bigint(20)

NOT NULL

否

父级类型id

l 商品规格表lyl_specification:

商品规格表包含商品规格等信息,包含的字段有规格id,以及规格名,还有商品类型id等,其他详细信息如下表4-4所示:

表 4-4 商品规格表

字段名

字段类型

是否为空

是否主键

字段注释

id

bigint(20)

NOT NULL

是

规格id

specName productTypeId

varchar(255) bigint(20)

NOT NULL NOT NULL

否 否

规格名 商品类型id

l 商品规格项表lyl_specification_option:

商品规格项表包含商品规格项等信息,字段有规格项id,规格项名以及规格id等,其他详细信息如下表4-5所示:

表 4-5 商品规格项表

字段名

字段类型

是否为空

是否主键

字段注释

id

bigint(20)

NOT NULL

是

规格项id

optionName specId

varchar(255) bigint(20)

NOT NULL NOT NULL

否 否

规格项名 商品规格id

l 商品与商品规格项关联表lyl_goods_specification_option:

商品与商品规格项关联表主要就是包括规格id和规格项id组合的关联表,详细信息如下表4-6:

表 4-6 商品与商品规格项关联表

字段名

字段类型

是否为空

是否主键

字段注释

gid

bigint(20)

NOT NULL

否

规格id

optionId

bigint(20)

NOT NULL

否

规格项id

l 秒杀商品表lyl_seckill_goods:

秒杀商品表主要描述了秒杀商品的相关信息,有秒杀商品id,商品id,因为秒杀商品也是从商品里面进行挑选的,因此商品有的属性秒杀商品都有,除此之外还新增了秒杀价格、开始时间、结束时间、秒杀数量、剩余库存量等其他字段,其他详细信息如下表4-7所示:

表 4-7 秒杀商品表

字段名

字段类型

是否为空

是否主键

字段注释

id

bigint(20)

NOT NULL

是

秒杀商品id

goodsId

bigint(20)

NOT NULL

否

对应的商品id

title

varchar(255)

NULL

否

标题

price

decimal(10,2)

NULL

否

原价格

costprice

decimal(10,2)

NULL

否

秒杀价格

startTime

datetime

NOT NULL

否

开始时间

endTime

datetime

NOT NULL

否

结束时间

num

bigint(20)

NULL

否

秒杀数量

stockCount

bigint(20)

NULL

否

剩余库存数

introduction

varchar(255)

NULL

否

描述

l 商品图片表lyl_goods_image:

商品图片表主要包括商品图片等相关信息,有图片id,图片标题,图片链接,商品id等字段,其他详细信息如下表4-8所示:

表 4-8 商品图片表

字段名

字段类型

是否为空

是否主键

字段注释

id

bigint(20)

NOT NULL

是

图片id

imageTitle imageUrl goodsId

varchar(255) varchar(255) bigint(20)

NULL NULL NULL

否 否 否

图片标题 图片地址 商品id

l 购物车商品表:lyl_cart_goods:

购物车商品表也是根据商品表的相关字段来进行设置,只是多了商品数量,订单id等字段,其他详细信息如下表4-9所示:

表 4-9 购物车商品表

字段名

字段类型

是否为空

是否主键

字段注释

id

bigint(20)

NOT NULL

是

购物车商品id

goodsId

bigint(20)

NOT NULL

否

对应的商品id

price

decimal(10,2)

NULL

否

价格

goodsName

varchar(255)

NULL

否

商品名称

headerPic

varchar(255)

NULL

否

商品头图

num

bigint(20)

NULL

否

商品数量

orderId

bigint(20)

NULL

否

订单id

l 省地区表lyl_province:

省地区表存储的是地区省级单位信息,有省份id,省级名称等字段,其他详细信息如下表4-10所示:

表 4-10 省地区表

字段名

字段类型

是否为空

是否主键

字段注释

id

varchar(255)

NOT NULL

是

省份id

provinceName

varchar(255)

NOT NULL

否

省级名称

l 城市表lyl_city:

城市表存储的是地级市单位信息,有城市id、城市名称、省份id等字段,其他详细信息如下表4-11所示:

表 4-11 城市表

字段名

字段类型

是否为空

是否主键

字段注释

id

varchar(255)

NOT NULL

是

城市id

city

varchar(255)

NOT NULL

否

城市名称

provinceId

varchar(255)

NOT NULL

否

省份id

l 县级市表lyl_area:

城市表存储的是县地区单位信息,有区域id、区域名称、城市id等字段,其他详细信息如下表4-12所示:

表 4-12 县级市表

字段名

字段类型

是否为空

是否主键

字段注释

id

varchar(255)

NOT NULL

是

区域id

area

varchar(255)

NOT NULL

否

区域名称

cityId

varchar(255)

NOT NULL

否

城市id

l 广告表:lyl_category:

广告表所存储的是与广告相关的数据,应当有id,标题,图片地址,图片,广告状态组成,具体详情如下表4-13所示:

表 4-13 广告表

字段名

字段类型

是否为空

是否主键

字段注释

id

bigint(20)

NOT NULL

是

广告id

title

varchar(255)

NULL

否

广告标题

url

varchar(255)

NULL

否

广告地址

pic

varchar(255)

NULL

否

广告图片

status

int(1)

NULL

否

广告状态

l 收货地址表:lyl_address:

收货地址表存储用户的收货地址数据,有地址id、用户id、省份名称、城市名称、区域名称、详细地址、联系人、联系电话、邮编等相关字段,其他详细信息如下表4-14所示:

表 4-14 收货地址表

字段名

字段类型

是否为空

是否主键

字段注释

id

bigint(20)

NOT NULL

是

地址id

provinceName

varchar(255)

NOT NULL

否

省级名称

cityName

varchar(255)

NOT NULL

否

城市名称

areaName

varchar(255)

NOT NULL

否

区域名称

address

varchar(255)

NOT NULL

否

详细地址

contact

varchar(255)

NOT NULL

否

联系人

mobile

varchar(255)

NOT NULL

否

联系电话

zipCode

varchar(255)

NULL

否

邮编

l 前台用户表:lyl_shopping_user:

前台用户表主要存储前台用户信息,有用户id、用户名、用户密码、用户电话、用户状态(Y正常 / N不正常)等数据。其他详细信息如下表4-15所示:

表 4-15 前台用户表

字段名

字段类型

是否为空

是否主键

字段注释

id

bigint(20)

NOT NULL

是

用户id

username

varchar(255)

NULL

否

用户名

password

varchar(255)

NULL

否

用户密码

phone

varchar(20)

NULL

否

用户电话

nickName

varchar(50)

NULL

否

用户昵称

name

varchar(50)

NULL

否

真实姓名

status

varchar(1)

NULL

否

用户状态

headPic

varchar(255)

NULL

否

用户头像

sex

varchar(10)

NULL

否

性别

l 订单表:lyl_orders:

订单表主要存储订单等数据,该表描述了订单相关信息,关键字段有:支付方式:1、微信支付,2、支付宝支付;状态:1、未付款,2、已付款,3、未发货,4、已发货,5、交易成功,6、交易关闭,7、待评价。还有其他字段,由于包含字段较多,详细信息如下表4-16所示:

表 4-16 订单表

字段名

字段类型

是否为空

是否主键

字段注释

id

bigint(20)

NOT NULL

是

用户id

payment

decimal(10,2)

NULL

否

实付金额

paymentType

varchar(1)

NULL

否

支付方式

postFee

decimal(10,2)

NULL

否

邮费

status

varchar(1)

NULL

否

订单状态

createTime

datetime

NULL

否

创建时间

paymentTime

datetime

NULL

否

付款时间

consignTime

datetime

NULL

否

发货时间

endTime

datetime

NULL

否

交易完成时间

closeTime

datetime

NULL

否

交易关闭时间

shippingName

varchar(255)

NULL

否

物流名称

shippingCode

varchar(255)

NULL

否

物流单号

userId

bigint(20)

NOT NULL

否

用户id

buyerMessage

varchar(255)

NULL

否

买家留言

buyerNick

varchar(255)

NULL

否

买家昵称

receiverAreaName

varchar(255)

NULL

否

收货地址

receiverMobile

varchar(20)

NULL

否

联系电话

receiverZipCode

varchar(20)

NULL

否

联系邮编

receiver

varchar(255)

NULL

否

联系人

expire

datetime

NULL

否

订单过期时间

l 后台用户表lyl_admin:

后台用户表主要存储后台管理员信息的表,主要包含三个字段,一个是id,用户名,以及用户密码。如下表4-17所示:

表 4-17 后台用户表

字段名

字段类型

是否为空

是否主键

字段注释

aid

bigint(20)

NOT NULL

是

后台用户id

username

varchar(255)

NOT NULL

否

后台用户名

password

varchar(255)

NOT NULL

否

后台用户登录密码

l 后台角色表lyl_role:

后台角色表主要存储的是后台用户角色的相关信息,主要由角色id,角色名称,角色详情等字段。具体信息如下表4-18所示:

表 4-18 后台角色表

字段名

字段类型

是否为空

是否主键

字段注释

rid

bigint(20)

NOT NULL

是

角色id

roleName

varchar(255)

NOT NULL

否

角色名称

roleDesc

varchar(255)

NULL

否

角色详情

l 后台权限表lyl_permission:

后台权限表主要用来存储权限信息等,有权限id,权限名称,权限接口等字段。其他详细信息如下表4-19:

表 4-19 后台权限表

字段名

字段类型

是否为空

是否主键

字段注释

pid

bigint(20)

NOT NULL

是

权限id

permissionName

varchar(255)

NOT NULL

否

权限名称

url

varchar(255)

NULL

否

访问接口

l 后台用户和角色关联表lyl_admin_role:

后台用户和角色关联表主要用来存储后台用户表和角色表的关联数据,因此主要有后台用户id和角色id。其他详细信息如下表4-20:

表 4-20 后台用户和角色关联表

字段名

字段类型

是否为空

是否主键

字段注释

aid

bigint(20)

NOT NULL

是

后台用户id

rid

bigint(20)

NOT NULL

是

角色id

l 角色和权限关联表:lyl_role_permission:

角色和权限关联表主要用来存储角色表和权限表的关联数据,因此主要有权限id和角色id。其他详细信息如下表4-20:

表 4-21 角色和权限关联表

字段名

字段类型

是否为空

是否主键

字段注释

rid

bigint(20)

NOT NULL

是

角色id

pid

bigint(20)

NOT NULL

是

权限id

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

目录
  • 1 系统概要设计
    • 1.1 系统数据库设计
      • 1.1.1 数据库概要设计
      • 1.1.2 数据库表设计
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档