接下来,我会将整篇毕设论文放上该专栏,其中按照论文提纲主要分为八大部分。每一部分单独列出一篇文章。 这一篇就是论文的第四部分系统概要设计中的数据库设计。中括号代表的是参考文献,后面会有列出来
首先在进行数据库设计的时候,一定要熟悉各个表的属性,以及其他关联表的相关联其他的表的字段。因此这就需要通过模型图来实现。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 后台数据模型关联图
由上面可以模型图已经可以很直观地了解到该系统的数据库整体设计,现在作数据库的表设计,下面列举该系统所需要用到的表。
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 |
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。