4.2功能结构设计
为了让系统的编码可以顺利进行,特意对本系统功能进行细分设计,设计的系统功能结构见下图。
图4.1 系统功能结构图
4.3 数据库设计
开发一个系统也需要提前设计数据库。这里的数据库是相关数据的集合,存储在一起的这些数据也是按照一定的组织方式进行的。目前,数据库能够服务于多种应用程序,则是源于它存储方式最佳,具备数据冗余率低的优势。虽然数据库为程序提供信息存储服务,但它与程序之间也可以保持较高的独立性。总而言之,数据库经历了很长一段时间的发展,从最初的不为人知,到现在的人尽皆知,其相关技术也越发成熟,同时也拥有着坚实的理论基础。
4.3.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.3.2 数据库物理设计
作为程序后台的支持,本数据库也需要设计数据存储的结构。而数据存储结构的设计就包括了数据表结构的设计和创建。数据表结构包括了字段,数据类型,还有字段的取值范围等信息。而E-R模型中的实体就是一张表,实体的特征就可以作为该表中的字段,根据本程序信息存储要求,设计每个字段需要的类型,还有该字段的取值范围等。每当设计完成一张数据表,就需要及时保存在数据库里面,并对该设计的数据表准确命名,要求设置的数据表的名称尽量不要是中文,而且要方便记忆。因为在程序编码阶段,通过SQL语句可以把程序里面的数据写入在各个数据表里面,而这个环节需要使用到数据表的名称。如果数据表名称是中文的话,可能会乱码并影响程序运行。下面就以表格形式展示设计的结果。
表4.1在线咨询表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yonghu_id Integer 提问用户 是
3 chat_issue String 问题 是
4 issue_time Date 问题时间 是
5 chat_reply String 回复 是
6 reply_time Date 回复时间 是
7 zhuangtai_types Integer 状态 是
8 chat_types Integer 数据类型 是
9 insert_time Date 创建时间 是
表4.2字典表表
序号 列名 数据类型 说明 允许空
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.3挂号表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yisheng_id Integer 医生 是
3 yonghu_id Integer 用户 是
4 guahao_uuin_number Integer 就诊识别码 是
5 guahao_time Date 挂号时间 是
6 guahao_types Integer 时间类型 是
7 guahao_status_types Integer 挂号状态 是
8 guahao_yesno_types Integer 挂号审核 是
9 guahao_yesno_text String 审核结果 是
10 create_time Date 创建时间 是
表4.4健康教育表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 jiankangjiaoyu_name String 健康教育标题 是
3 jiankangjiaoyu_types Integer 健康教育类型 是
4 jiankangjiaoyu_photo String 健康教育图片 是
5 insert_time Date 健康教育时间 是
6 jiankangjiaoyu_content String 健康教育详情 是
7 jiankangjiaoyu_delete Integer 假删 是
8 create_time Date 创建时间 是
表4.5公告信息表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 news_name String 公告名称 是
3 news_photo String 公告图片 是
4 news_types Integer 公告类型 是
5 insert_time Date 公告发布时间 是
6 news_content String 公告详情 是
7 create_time Date 创建时间 是
表4.6医生表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yisheng_uuid_number String 医生工号 是
3 yisheng_name String 医生名称 是
4 yisheng_types Integer 科室 是
5 zhiwei_types Integer 职位 是
6 yisheng_zhichneg String 职称 是
7 yisheng_photo String 医生头像 是
8 yisheng_phone String 联系方式 是
9 yisheng_guahao String 挂号须知 是
10 yisheng_email String 邮箱 是
11 yisheng_new_money BigDecimal 挂号价格 是
12 yisheng_content String 履历介绍 是
13 create_time Date 创建时间 是
表4.7用户表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yonghu_name String 用户姓名 是
3 yonghu_photo String 头像 是
4 yonghu_phone String 用户手机号 是
5 yonghu_id_number String 用户身份证号 是
6 yonghu_email String 邮箱 是
7 new_money BigDecimal 余额 是
8 yonghu_delete Integer 假删 是
9 create_time Date 创建时间 是
表4.8用户表表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 username String 用户名 是
3 password String 密码 是
4 role String 角色 是
5 addtime Date 新增时间 是