4系统设计
4.1系统功能设计
本系统主要通过使用Java语言编码设计系统功能,MySQL数据库管理数据,AJAX技术设计简洁的、友好的网址页面,然后在IDEA开发平台中,编写相关的Java代码文件,接着通过连接语言完成与数据库的搭建工作,再通过平台提供的Tomcat插件完成信息的交互,最后在浏览器中打开系统网址便可使用本系统。本系统的使用角色可以被分为用户和管理员,用户具有注册、查看信息、留言信息等功能,管理员具有修改用户信息,发布新闻等功能,系统总体功能设计图如图4-1所示。
图4-1系统总体功能设计图
4.2 数据库设计
开发一个系统也需要提前设计数据库。这里的数据库是相关数据的集合,存储在一起的这些数据也是按照一定的组织方式进行的。目前,数据库能够服务于多种应用程序,则是源于它存储方式最佳,具备数据冗余率低的优势。虽然数据库为程序提供信息存储服务,但它与程序之间也可以保持较高的独立性。总而言之,数据库经历了很长一段时间的发展,从最初的不为人知,到现在的人尽皆知,其相关技术也越发成熟,同时也拥有着坚实的理论基础。
4.2.1 数据库概念设计
这部分内容需要借助数据库关系图来完成,也需要使用专门绘制数据库关系图的工具,比如Visio工具就可以设计E-R图(数据库关系图)。设计数据库,也需要按照设计的流程进行,首先还是要根据需求完成实体的确定,分析实体具有的特征,还有对实体间的关联关系进行确定。最后才是使用E-R模型的表示方法,绘制本系统的E-R图。不管是使用亿图软件,还是Visio工具,对于E-R模型的表示符号都一样,通常矩形代表实体,实体间存在的关系用菱形符号表示,实体的属性也就是实体的特征用符号椭圆表示。最后使用直线将矩形,菱形和椭圆等符号连接起来。接下来就开始对本系统的E-R图进行绘制。
(1)下图是留言板实体和其具备的属性。
图4.1 留言板实体属性图
(2)下图是用户实体和其具备的属性。
图4.2 用户实体属性图
(3)下图是公告实体和其具备的属性。
图4.3 公告实体属性图
(4)下图是单页数据实体和其具备的属性。
图4.4 单页数据实体属性图
(5)下图是素材评价实体和其具备的属性。
图4.5 素材评价实体属性图
(6)下图是素材订单实体和其具备的属性。
图4.6 素材订单实体属性图
(7)下图是素材收藏实体和其具备的属性。
图4.7 素材收藏实体属性图
(8)下图是素材实体和其具备的属性。
图4.8 素材实体属性图
4.2.2逻辑设计
本系统使用MySQL数据库管理与系统相关的数据信息。逻辑设计阶段是将上一个阶段中的概念数据模型,转换为方便数据库进行存储的关系模型,即基本表的形式,方便开发人员后期对数据模型进行优化和管理[20]。逻辑设计阶段是整个数据库设计设计的关键,与系统有关的信息将会在这一阶段中被存储在数据库中,当用户使用本系统进行相关的功能操作时,与之有关的数据信息所在的基本表会发生相应的更新变化。数据库的逻辑设计阶段主要任务是将与系统相关的数据信息,设计成为方便数据库存储和管理的基本表格的形式,具体内容如下。
表4.1字典表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
1 |
Id |
Int |
id |
否 |
2 |
dic_code |
String |
字段 |
是 |
3 |
dic_name |
String |
字段名 |
是 |
4 |
code_index |
Integer |
编码 |
是 |
5 |
index_name |
String |
编码名字 |
是 |
6 |
super_id |
Integer |
父字段id |
是 |
7 |
beizhu |
String |
备注 |
是 |
8 |
create_time |
Date |
创建时间 |
是 |
表4.2公告表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
1 |
Id |
Int |
id |
否 |
2 |
gonggao_name |
String |
公告名称 |
是 |
3 |
gonggao_photo |
String |
公告图片 |
是 |
4 |
gonggao_types |
Integer |
公告类型 |
是 |
5 |
insert_time |
Date |
公告发布时间 |
是 |
6 |
gonggao_content |
String |
公告详情 |
是 |
7 |
create_time |
Date |
创建时间 |
是 |
表4.3留言板表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
1 |
Id |
Int |
id |
否 |
2 |
yonghu_id |
Integer |
用户 |
是 |
3 |
liuyan_name |
String |
留言标题 |
是 |
4 |
liuyan_text |
String |
留言内容 |
是 |
5 |
insert_time |
Date |
留言时间 |
是 |
6 |
reply_text |
String |
回复内容 |
是 |
7 |
update_time |
Date |
回复时间 |
是 |
8 |
create_time |
Date |
创建时间 |
是 |
表4.4单页数据表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
1 |
Id |
Int |
id |
否 |
2 |
single_seach_name |
String |
名字 |
是 |
3 |
single_seach_types |
Integer |
数据类型 |
是 |
4 |
single_seach_content |
String |
内容 |
是 |
5 |
create_time |
Date |
创建时间 |
是 |
表4.5素材表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
1 |
Id |
Int |
id |
否 |
2 |
yonghu_id |
Integer |
用户 |
是 |
3 |
sucai_uuid_number |
String |
素材编号 |
是 |
4 |
sucai_name |
String |
素材名称 |
是 |
5 |
sucai_types |
Integer |
素材类型 |
是 |
6 |
sucai_erji_types |
Integer |
二级类型 |
是 |
7 |
sucai_photo |
String |
素材照片 |
是 |
8 |
sucai_zhanshi_photo |
String |
素材展示照片 |
是 |
9 |
sucai_video |
String |
素材展示视频 |
是 |
10 |
sucai_music |
String |
素材展示音频 |
是 |
11 |
sucai_old_money |
BigDecimal |
素材原价 |
是 |
12 |
sucai_new_money |
BigDecimal |
现价 |
是 |
13 |
sucai_file |
String |
素材文件 |
是 |
14 |
sucai_clicknum |
Integer |
点击次数 |
是 |
15 |
sucai_content |
String |
素材详细介绍 |
是 |
16 |
shangxia_types |
Integer |
是否上架 |
是 |
17 |
sucai_delete |
Integer |
逻辑删除 |
是 |
18 |
create_time |
Date |
创建时间 |
是 |
表4.6素材收藏表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
1 |
Id |
Int |
id |
否 |
2 |
sucai_id |
Integer |
素材 |
是 |
3 |
yonghu_id |
Integer |
用户 |
是 |
4 |
sucai_collection_types |
Integer |
类型 |
是 |
5 |
insert_time |
Date |
收藏时间 |
是 |
6 |
create_time |
Date |
创建时间 |
是 |
表4.7素材评价表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
1 |
Id |
Int |
id |
否 |
2 |
sucai_id |
Integer |
素材 |
是 |
3 |
yonghu_id |
Integer |
用户 |
是 |
4 |
sucai_commentback_text |
String |
评价内容 |
是 |
5 |
insert_time |
Date |
评价时间 |
是 |
6 |
reply_text |
String |
回复内容 |
是 |
7 |
update_time |
Date |
回复时间 |
是 |
8 |
create_time |
Date |
创建时间 |
是 |
表4.8素材订单表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
1 |
Id |
Int |
id |
否 |
2 |
sucai_order_uuid_number |
String |
订单号 |
是 |
3 |
sucai_id |
Integer |
素材 |
是 |
4 |
yonghu_id |
Integer |
用户 |
是 |
5 |
sucai_order_true_price |
BigDecimal |
实付价格 |
是 |
6 |
sucai_order_types |
Integer |
订单类型 |
是 |
7 |
sucai_order_payment_types |
Integer |
支付类型 |
是 |
8 |
insert_time |
Date |
订单创建时间 |
是 |
9 |
create_time |
Date |
创建时间 |
是 |
表4.9用户表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
1 |
Id |
Int |
id |
否 |
2 |
yonghu_name |
String |
用户姓名 |
是 |
3 |
yonghu_phone |
String |
用户手机号 |
是 |
4 |
yonghu_id_number |
String |
用户身份证号 |
是 |
5 |
yonghu_photo |
String |
用户头像 |
是 |
6 |
new_money |
BigDecimal |
余额 |
是 |
7 |
yonghu_email |
String |
电子邮箱 |
是 |
8 |
create_time |
Date |
创建时间 |
是 |
表4.10管理员表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
1 |
Id |
Int |
id |
否 |
2 |
username |
String |
用户名 |
是 |
3 |
password |
String |
密码 |
是 |
4 |
role |
String |
角色 |
是 |
5 |
addtime |
Date |
新增时间 |
是 |
4.3本章小结
本章主要介绍了系统功能设计、数据库设计等内容。通过设计系统的总体功能框架,确定系统的功能设计主要包括素材等模块。数据库设计主要分为概念设计阶段和逻辑设计阶段,其中,概念设计是将现实世界中的数据转变为信息世界中的概念模型,逻辑设计是将概念设计中的概念模型转变成可以被数据库存储的数据表格。系统功能设计好坏是系统得以被编码实现的重要依据。数据库设计是否符合规范,是系统能够成功运行的基本保障,也是用户和系统实现交互处理的重要前提。