蔡金芷,皮喜田,劉洪英,2,練 陽
(1.重慶大學 生物醫學工程學院,重慶 400044;2.重慶市醫療電子工程技術研究中心,重慶 400044;3.華為技術有限公司成都研究所,成都 610097)
個人健康管理系統數據庫的設計與實現
蔡金芷1,皮喜田1,劉洪英1,2,練 陽3
(1.重慶大學 生物醫學工程學院,重慶 400044;2.重慶市醫療電子工程技術研究中心,重慶 400044;3.華為技術有限公司成都研究所,成都 610097)
個人健康管理系統能夠幫助人們獲得大量有價值的健康信息,為了實現一款安全、高效的個人健康管理系統,在充分考慮用戶實際需求的前提下,對該系統數據庫進行了設計與實現;首先對系統數據庫進行了全面的需求分析,然后進行概念結構設計,形成實體聯系(E-R)圖,并將(E-R)圖進行邏輯結構的轉換,根據三范式的要求形成數據關系表,同時,在設計過程中通過犧牲一定存儲空間的反范式操作,來換取更加快速的查詢速度;通過上述方法,最終設計并實現了一款個人健康信息數據庫;該數據庫能夠滿足個人健康管理系統的實際開發需求,并且保證系統的查詢運行效率,讓用戶能夠更加方便,快捷的使用該系統對健康數據進行管理,達到幫助用戶獲得更多、更有價值的健康信息的目的。
個人健康管理系統;數據庫;概念結構設計;邏輯結構設計;數據庫表
隨著經濟的發展,人們生活水平的不斷地提高,公眾的健康意識不斷增強[1]。人們從以前的“有病才治”的治病觀念轉向為“預防為主”的治療“未”病的方式[2-3],這種預防為主的健康觀念重點依賴于個人的健康管理[4]。
個人健康管理系統涉及大量健康信息的存儲[5],因此系統數據庫結構框架設計以及數據庫的安全穩定與否,關系到系統的運行速率和運行結果,是系統實現的重要環節[6]。本文重點介紹了該健康管理系統數據庫從需求分析到設計實現的全部過程,滿足系統需求的同時對系統的查詢速率進行了優化提升。
健康信息管理系統是一類涉及流動數據種類多樣、數目較多的信息管理系統[7]。系統數據主要包括用戶注冊信息,成員關系管理,各項健康數據,用戶以及管理員對用戶的健康管理操作等模塊。對系統數據庫的需求分析大致如下:
①對注冊用戶進行檔案管理,包括個人基本信息的查詢、添加等,對用戶和子用戶之間的關聯進行查詢和統計操作。
②對健康信息進行管理,包括測量數值,測量時間,測量地點,看護人員,管理維持情況等內容。
③對用戶健康檔案進行管理,包括用戶基本信息,用戶過敏原,疾病史,家族遺傳病史,體檢結果等內容。
④對注冊醫生進行管理,包括醫生個人信息,醫生所在醫院,所屬科室,醫生與其負責板塊的關系等內容。
⑤對注冊用戶進行的操作進行管理,包括管理員對用戶健康信息的改動(增、刪、改、查)以及用戶自己對信息的改動等操作內容。
⑥對注冊用戶與其所管理的家庭用戶進行管理,包括二者關系,內容公開程度等。
⑦對用戶及其管理員的操作進行保存記錄。
系統開發前對數據庫進行全面的需求分析,能夠有效的減少數據庫在系統運行過程中產生問題,和后續系統維護的代價[8]。
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 數據庫關系圖
本次設計按照第三范式(3NF)來對數據項進行條件限制[13],規定每個非關鍵字的列都獨立于其他非關鍵字列同時要依賴于關鍵字列,且數據庫中不能存在傳遞函數依賴關系[14],進行設計時,數據表的設計也要遵循低范式的一些要求,例如每行每列只能有原子值,不能再對列元素進行分解。按照范式規范后的數據庫可以減少冗余,降低空間占用率。
但是基于我們的系統功能需要,大量的數據表之間可能會存在一些關聯關系。當我們要求提高各個表的操作效率這一特殊需求時,我們通過使用“反范式”的方法,進行一些與范式要求相反的操作,允許適當范圍內的數據冗余,利用犧牲掉的數據空間去換取更快的查詢速度[15]。
例如在本文網站數據庫中包含的數據列表數量較多,注冊列表和健康信息表格之間的某些列重復,對Login表與(HS/BP/Glucose/Weight/Sport)這些健康信息分表分別采用級聯的方式,級聯的目的在于刪除或者更改Login里的用戶信息(如Email、Username)的時候可以級聯更新和刪除健康信息分表中的信息,這樣破壞了范式中要求每個非關鍵字都是只包含單一的值的原則,在健康信息表中添加了冗余的非關鍵字列,但是增加了刪除、添加和查找的速度,是比較有意義的反規則做法。
綜上所述,本文首先根據用戶需求對數據庫儲存數據的基本內容進行了分析,包括需要包含的數據類型、數據大小等。其次對數據庫的概念模型進行了設計,繪制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