个人健康管理系统数据库的设计与实现
2017-08-30蔡金芷皮喜田刘洪英
蔡金芷,皮喜田,刘洪英,2,练 阳
(1.重庆大学 生物医学工程学院,重庆 400044;2.重庆市医疗电子工程技术研究中心,重庆 400044;3.华为技术有限公司成都研究所,成都 610097)
个人健康管理系统数据库的设计与实现
蔡金芷1,皮喜田1,刘洪英1,2,练 阳3
(1.重庆大学 生物医学工程学院,重庆 400044;2.重庆市医疗电子工程技术研究中心,重庆 400044;3.华为技术有限公司成都研究所,成都 610097)
个人健康管理系统能够帮助人们获得大量有价值的健康信息,为了实现一款安全、高效的个人健康管理系统,在充分考虑用户实际需求的前提下,对该系统数据库进行了设计与实现;首先对系统数据库进行了全面的需求分析,然后进行概念结构设计,形成实体联系(E-R)图,并将(E-R)图进行逻辑结构的转换,根据三范式的要求形成数据关系表,同时,在设计过程中通过牺牲一定存储空间的反范式操作,来换取更加快速的查询速度;通过上述方法,最终设计并实现了一款个人健康信息数据库;该数据库能够满足个人健康管理系统的实际开发需求,并且保证系统的查询运行效率,让用户能够更加方便,快捷的使用该系统对健康数据进行管理,达到帮助用户获得更多、更有价值的健康信息的目的。
个人健康管理系统;数据库;概念结构设计;逻辑结构设计;数据库表
0 引言
随着经济的发展,人们生活水平的不断地提高,公众的健康意识不断增强[1]。人们从以前的“有病才治”的治病观念转向为“预防为主”的治疗“未”病的方式[2-3],这种预防为主的健康观念重点依赖于个人的健康管理[4]。
个人健康管理系统涉及大量健康信息的存储[5],因此系统数据库结构框架设计以及数据库的安全稳定与否,关系到系统的运行速率和运行结果,是系统实现的重要环节[6]。本文重点介绍了该健康管理系统数据库从需求分析到设计实现的全部过程,满足系统需求的同时对系统的查询速率进行了优化提升。
1 数据库设计的需求分析
健康信息管理系统是一类涉及流动数据种类多样、数目较多的信息管理系统[7]。系统数据主要包括用户注册信息,成员关系管理,各项健康数据,用户以及管理员对用户的健康管理操作等模块。对系统数据库的需求分析大致如下:
①对注册用户进行档案管理,包括个人基本信息的查询、添加等,对用户和子用户之间的关联进行查询和统计操作。
②对健康信息进行管理,包括测量数值,测量时间,测量地点,看护人员,管理维持情况等内容。
③对用户健康档案进行管理,包括用户基本信息,用户过敏原,疾病史,家族遗传病史,体检结果等内容。
④对注册医生进行管理,包括医生个人信息,医生所在医院,所属科室,医生与其负责板块的关系等内容。
⑤对注册用户进行的操作进行管理,包括管理员对用户健康信息的改动(增、删、改、查)以及用户自己对信息的改动等操作内容。
⑥对注册用户与其所管理的家庭用户进行管理,包括二者关系,内容公开程度等。
⑦对用户及其管理员的操作进行保存记录。
系统开发前对数据库进行全面的需求分析,能够有效的减少数据库在系统运行过程中产生问题,和后续系统维护的代价[8]。
2 数据库的设计与实现
2.1 数据库的概念结构设计
依照需求分析阶段的数据库需求,本文采用自下而上逐步细化的设计方式[9],将现实中的用户、数据、相互关系等具体实物抽象为实体、属性、键等概念模型。
首先根据各自实物的对应关系形成不同的局部概念模型,然后根据每个局部概念模型之间的关系,通过“联系”将其整合后形成整体系统实体联系(E-R)图[10]。
图1 数据库E-R图
在图1数据库概念模型图中,将用户、健康信息和健康指标作为实体,使用矩形框表示。每个实体具有他们的一些详细说明即实体属性,例如用户实体有姓名、年龄、性别、家庭住址等属性。对于两个有关联的实体之间的联系使用菱形与之相连,例如数据库需要储存的健康信息有很多种,每一种信息实体包含有测量时间、测量地点、看护人员等属性,而用户实体跟健康信息实体通过测量这一关联相结合,而且每个用户会有多次测量,形成1:n的关系。同理“用户”及其管理的子成员可以通过“管理”联系关联起来。每个子成员相当于是一个小的独立系统里的“用户”实体,也有对应的“测量”联系。另外,“测量指标”作为一个实体,拥有自己的属性,他与健康信息依据一定的分析机制建立联系,健康信息依据分析机制判定是否属于健康的指标,下阶段的任务实体根据判断机制这个“联系”与健康指标进行关联。局部实体联系模型分别建立好以后,在充分考虑命名、属性、结构等是否冲突之后,将所有的子实体联系模型汇合形成全局实体联系模型。
2.2 数据库的逻辑结构设计
数据库概念设计得到的实体联系图是将用户的需求用抽象的模型表达出来,而逻辑结构设计的主要工作就是将抽象的概念模型进行调整和优化[11],形成关系模型再进行设计准则的规范后形成全局的逻辑结构[12]。
将实体类型转换为关系模型。例如将“用户”实体转换为一个“用户”关系结构,其中带下划线的属性为主属性,为该实体列表的外键。
图2 实体类型与关系模型之间的转换示意图
当多对多(m:n)的联系转换时,需要在建立两个不同的关系模式之后将其联系名作为关系模式名,并将各实体的关键字的并集作为其关键字,如图3所示。
图3 m:n联系的转换示意图
2.3 数据库表的设计
本文系统数据库涉及数据表数量较多,部分结构类似,将其分类大致分为:
①用户信息表(用户信息表dbo.Login、用户关系表dbo.Assistant、医生登录表dbo.Doctor、医生关联表dbo.Manager),如表1所示。
表1 用户注册表
②健康数据表(体重表dbo.Weight、睡眠质量表dbo.HS、血压表dbo.BP、血糖表dbo.Glucose、急诊档案dbo.Emergency)如表2所示。
表2 用户体重管理表
③操作管理表(操作记录表dbo.Action)如表3所示。
表3 操作记录表
系统设计每个表都设定有一个作为标识的主键列,多个表之间使用外键相互关联,或者用级联的方式互相联系形成关系型数据库。数据库中表间关系如图4所示。
图4 数据库关系图
3 数据库关系模型优化
本次设计按照第三范式(3NF)来对数据项进行条件限制[13],规定每个非关键字的列都独立于其他非关键字列同时要依赖于关键字列,且数据库中不能存在传递函数依赖关系[14],进行设计时,数据表的设计也要遵循低范式的一些要求,例如每行每列只能有原子值,不能再对列元素进行分解。按照范式规范后的数据库可以减少冗余,降低空间占用率。
但是基于我们的系统功能需要,大量的数据表之间可能会存在一些关联关系。当我们要求提高各个表的操作效率这一特殊需求时,我们通过使用“反范式”的方法,进行一些与范式要求相反的操作,允许适当范围内的数据冗余,利用牺牲掉的数据空间去换取更快的查询速度[15]。
例如在本文网站数据库中包含的数据列表数量较多,注册列表和健康信息表格之间的某些列重复,对Login表与(HS/BP/Glucose/Weight/Sport)这些健康信息分表分别采用级联的方式,级联的目的在于删除或者更改Login里的用户信息(如Email、Username)的时候可以级联更新和删除健康信息分表中的信息,这样破坏了范式中要求每个非关键字都是只包含单一的值的原则,在健康信息表中添加了冗余的非关键字列,但是增加了删除、添加和查找的速度,是比较有意义的反规则做法。
4 结论
综上所述,本文首先根据用户需求对数据库储存数据的基本内容进行了分析,包括需要包含的数据类型、数据大小等。其次对数据库的概念模型进行了设计,绘制E-R关系图,然后将其转换为更直观具体的逻辑模型。最后对类似的结构或者功能将数据表进行了归纳分类和设计,整体满足3范式的要求,为了增加数据库的运行速率,在数据表设计前期对各表做了一些有意义的反范式操作,通过牺牲一定的数据空间来换取更快速的查询速度。
本文最终设计并实现了一款个人信息数据库,该数据库能够有效的对用户的个人基本信息、个人健康数据进行存储和查询,满足个人健康管理系统开发需求的,并且保证系统的查询运行效率。使得用户能够更加方便,快捷的使用该系统对健康数据进行管理,达到帮助用户获得更多、更有价值的健康信息的目的,具有很强的实际应用价值。
[1] 王明宇, 杨吉江, 陈 昊, 等. 基于体域网和云平台的远程数字健康系统发展的研究[J]. 计算机科学, 2012, 39(6A): 195-200.
[2] Siek Katie A,Khan Danish U,Ross Stephen E. Designing a Personal Health Application for Older Adults to Manage Medications: A Comprehensive Case Study[J]. Journal of medical systems, OCT 2011,35(5): 1099-1121.
[3] Massoudi Barbara L, Olmsted Murrey G,Zhang, Yuying.A web-based intervention to support increased physical activity among at-risk adults[J].Journal of biomedical informatics, OCT 2010,43(5): S41-S45.
[4] Kim J, Bates D W. Analysis of the definition and utility of personal health records using Q methodology[J]. Journal of medical Internet research, 2011, 13(4).
[5] Huba N, Zhang Y. Designing patient-centered personal health records (PHRs): health care professionals’ perspective on patient-generated data[J]. Journal of medical systems, 2012, 36(6): 3893-3905.
[6] 王 珊, 萨师煊. 数据库系统概论[M]. 北京:高等教育出版社, 2006.
[7] Maloney F L, Wright A. USB-based Personal Health Records: an analysis of features and functionality[J]. International Journal of Medical Informatics, 2010, 79(2): 97-111.
[8] 韦 耿.数据库设计在网站管理系统中的应用[J]. 数字技术与应用,2013(9):67-68.
[9] Coronel C, Morris S. Database systems: design, implementation, & management[M]. Cengage Learning, 2016.
[10] 陈树敏, 叶涛, 杨龙. 教务管理信息系统后台数据库的设计与实现[J]. 自动化与信息工程, 2009 (2): 46-48.
[11] 包丽颖, 孙秀秀, 郁亚娟, 等. 农业面源污染基础信息数据库的设计与实现[J]. 环境污染与防治, 2014, 36(2): 96-99.
[12] Zhao H, Xing M, Zhao J, et al. Design and Implementation of Multilevel Secure Database Management Access Control[J]. Journal of Applied Science and Engineering Innovation, 2015, 2(6): 223-225.
[13] Du Dawei, Huang Minghe, Guo Bin. Design and Implementation of Database Generation System From UML Class Diagram to Relational Databases in 3NF[A].Proceedings of 2007 International Symposium on Distributed Computing and Applications to Business, Engineering and Science(Volume Ⅱ)[C].2007.
[14] 高丽燕,宋雪亚. 范式在关系数据库设计中的应用[J]. 电脑知识与技术,2011(5):973-974.
[15] 李晓龙. 在线教学网站数据库的设计与实现[J]. 电脑知识与技术, 2008, 4(15): 19.
Design and Realization of Database for Personal Health Management System
Cai Jinzhi1, Pi Xitian1, Liu Hongying1,2,Lian Yang3
(1.School of Biomedical Engineering, Chongqing University, Chongqing 400044, China;2.Chongqing Medical Electronic Engineering Technology Research Center, Chongqing 400044, China;3.Huawei Technology Co., Ltd.,Chengdu Institute, Chengdu 610097, China)
Personal health management system can help people get a lot of valuable health information. In order to design a safe and efficient personal health management system, the paper designs and implements a database by giving full consideration to the actual needs of the users .The paper first analyses the demand of the system database and then devises the structures of concept and gets the entity relation diagram(E-R).Through the conversion of logical structure and according to the requirements of the 3 model to form a data relationship table. At the same time, in the design process, through the sacrifice of a certain storage space of the counter paradigm operation, in exchange for a more rapid query speed. Finally, a personal health information database is designed and implemented. The database can meet the actual development needs of personal health management system, and ensure the system query efficiency. Allowing users to more convenient and efficient use of the system to the management of health data and get more valuable health information.
personal health management system; data base; conceptual structure design; logical structure design; database table
2017-01-07;
2017-02-13。
国家支撑计划课题项目(2013BAI03B04;2015BAI01B14)。
蔡金芷(1992-),女,四川巴中人,硕士研究生,主要从事健康管理方向的研究。
皮喜田(1976-),男,湖北人,博士生导师,主要从事新型医疗仪器设备、医疗微系统、医疗信息化与健康物联网方向的研究。
1671-4598(2017)07-0222-03
10.16526/j.cnki.11-4762/tp.2017.07.055
TP311
A