4.2系统结构设计
系统结构设计就像一个树状结构一样,一个树干有很多分支,大任务相当于树干,小任务相当于树枝,只有需求分析信息弄清楚之后,才能保证每个小任务都能实现目标,对初步设计好的系统再进行不断优化,最终得到一个具体现实的系统结构。
管理员功能模块和用户功能模块是该医院药品管理系统的两大部分,系统结构如图4-2所示。
图4-2 系统结构图
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 员工实体属性图
(9)下图是用户表实体和其具备的属性。
图4.9 用户表实体属性图
数据库表设计
采用MYSQL数据库对该医院药品管理系统的数据进行存储,数据库中所包括的各个数据库表的详细信息如下所示:
表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 news_name String 公告标题 是
3 news_types Integer 公告类型 是
4 news_photo String 公告图片 是
5 insert_time Date 添加时间 是
6 news_content String 公告详情 是
7 create_time Date 创建时间 是
表4.3取退记录表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yaopin_id Integer 药品 是
3 yonghu_id Integer 用户 是
4 yuangong_id Integer 员工 是
5 quyaojilu_number Integer 取药数量 是
6 quyaojilu_types Integer 类型 是
7 quyaojilu_delete Integer 逻辑删除 是
8 create_time Date 创建时间 是
表4.4药品信息表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yaopin_name String 药品名称 是
3 yaopin_types Integer 药品类型 是
4 yaopin_kucun_number Integer 药品库存 是
5 danwei_types Integer 药品单位 是
6 yaopin_new_money BigDecimal 现价 是
7 yaopin_content String 详情 是
8 yaopin_delete Integer 逻辑删除 是
9 create_time Date 创建时间 是
表4.5出入库表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yaopin_churu_inout_uuid_number String 出入库流水号 是
3 yaopin_churu_inout_name String 出入库名称 是
4 yaopin_churu_inout_types Integer 出入库类型 是
5 yaopin_churu_inout_content String 备注 是
6 insert_time Date 添加时间 是
7 create_time Date 创建时间 是
表4.6出入库详情表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yaopin_churu_inout_id Integer 出入库 是
3 yaopin_id Integer 药品 是
4 yaopin_churu_inout_list_number Integer 操作数量 是
5 insert_time Date 操作时间 是
6 create_time Date 创建时间 是
表4.7用户表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yonghu_name String 用户姓名 是
3 yonghu_photo String 头像 是
4 yonghu_phone String 联系方式 是
5 yonghu_email String 邮箱 是
6 yonghu_delete Integer 假删 是
7 create_time Date 创建时间 是
表4.8员工表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yuangong_name String 员工姓名 是
3 yuangong_phone String 联系方式 是
4 yuangong_delete Integer 假删 是
5 create_time Date 创建时间 是
表4.9用户表表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 username String 用户名 是
3 password String 密码 是
4 role String 角色 是
5 addtime Date 新增时间 是