前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分布式电商系统的设计与实现⑤-2

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

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

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

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 删除。

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 系统概要设计
    • 1.1 系统数据库设计
      • 1.1.1 数据库概要设计
      • 1.1.2 数据库表设计
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档