APP下载

敦煌医学素材数据库中方剂入库的设计与实现*

2016-09-29唐兴源

甘肃科技 2016年17期
关键词:方剂入库敦煌

唐兴源,任 真,湛 薇

(甘肃中医药大学,甘肃 兰州73000)

敦煌医学素材数据库中方剂入库的设计与实现*

唐兴源,任真△,湛薇

(甘肃中医药大学,甘肃 兰州73000)

从敦煌医学方剂素材本身的特点入手进行分析,结合敦煌医学应用的实际需求展开功能设计和数据库设计,对搜集到的方剂素材进行分析、分类并建立表结构,最后通过编程实现敦煌医学方剂信息的入库功能。

敦煌医学;方剂入库;数据库

1 方剂入库功能模块设计

1.1系统分析

敦煌遗书共约5万卷,其中医学卷子约100种,设计卷号达28个左右。据统计,这些医学卷子载有至少约1100余首中医方剂,主要包括内、外、妇、儿、五官、口腔、皮肤等临床各科方剂,以及食疗方剂与特色鲜明的佛教道教方剂等[1]。为使研究人员根据个人需要、意愿对敦煌医学方剂进行查询与使用,对敦煌医学中比较繁杂的、常用的中医方剂进行搜集、分类和处理[2],并将其以计算机可识别的方式存储在关系型数据库中,实现敦煌医学方剂的数字化存储,从而为研究人员带来更大的便捷。

1.2功能设计

将数据库技术应用到敦煌医学方剂的管理与存储上,有效地实现了其数字化。对敦煌医学方剂的入库检索功能做以下功能设计:

1)多样化的检索方式:①研究人员(用户)可以通过输入方剂的拼音首字母检索;②可以输入方剂类别检索,例如:常见的方剂分类有内、外、妇、儿科等;③输入方剂的部分名称,系统自动模糊匹配调出相关方剂信息;④当不知道自己要找哪些方剂时,直接回车键,将显示库中所有的方剂。注:由于库中方剂很多,此过程不常用,比较耗费查询时间;⑤选择年代,即可检索出出相应年代的方剂。

2)友好的检索界面。数据库检索界面友好,操作简单易懂,只需要按照操作提示即可完成检索,不需要系统的培训,节约了学习操作的时间成本。

3)详细的检索内容。在数据库设计阶段合理规划方剂在表中的存储结构,检索出来的方剂不仅包括其本身的组成成分,而且还会有具体的适用症状和注意事项等内容。

1.3数据库设计

1.3.1概念结构设计

将搜集、加工、整理好的敦煌医学方剂素材进行详细的分析、分类,提取其共性,并根据关系型数据库设计规范要求,建立表结构、表间关系、索引、约束等,实现方剂素材在库中存储结构的设计[3]。经过分析,涉及到的主要实体包括方剂信息、分类外码信息等。

1)方剂信息实体包括方剂名称、方剂分类、方剂内码、方剂输入码、剂型、年代、详细说明、组成成分、方剂外码、备注等属性。

2)分类外码信息实体包括分类代码、分类名称、备注等属性。

方剂信息和分类外码信息实体的E-R图如图1所示:

图1 方剂信息和分类外码信息实体的E-R图

1.3.2逻辑结构设计

数据库逻辑结构设计见表1,表2。

表1 方剂信息结构表

表2 分类外码信息结构表

2 方剂入库的具体实现

在详细设计完成后,就需要编码实现敦煌医学方剂素材的入库功能,具体涉及到界面的布局、与后台数据库的交互两个方面。与后台数据库的交互有方剂信息的增、删、改、查操作,主要用到结构化查询语言(SQL)来完成。每次与后台的交互都会有一个当前时间的记录,例如:增加一种新方剂,会产生该方剂的入库时间;修改库中已有的方剂信息,会记录修改时间等。界面布局有好多选择的语言,可以用面向对象程序设计语言Java[4]、C#、.net等。这里详细给出实现敦煌医学方剂素材入库的关键核心代码:

1)通过getNowTime()函数获取当前服务器时间记录相关操作,其核心代码如下:

publicStringgetNowTime(){

StringgetNowTime=null;

try{

StringstrSQL="";

strSQL="SELECTSUBSTRING(CONVERT(now(),CHAR(19),1,19)ASSYSDATE";

ResultSetrst=stmt.executeQuery(strSQL);

while(rst.next(){

getNowTime=rst.getString("SYSDATE");

}catch(Exceptionse){

System.out.println(se.getMessage();

se.printStackTrace();

returngetNowTime;

2)通过InsertFJ()函数增加新的方剂信息,实现数据库操作中的“增”操作,其核心代码如下:

publicbooleanInsertFJ(Stringfjsr,String fjnm,Stringfjwm,Stringzccf,Stringnd,

Stringxxsm, Stringfjfl, Stringfjmc, String jx,Stringbz){

psSQL="INSERTINTOFJXX(FJSR,FJNM,FJWM,ZCCF,ND,XXSM,FJFL,FJMC,JX,BZ)VALUES(";

psSQL=psSQL+"'"+fjsr+"'"+",";

psSQL=psSQL+"'"+fjnm+"'"+",";

psSQL=psSQL+"'"+fjwm+"'"+",";

psSQL=psSQL+zccf+",";

psSQL=psSQL+"'"+nd+"'"+",";

psSQL=psSQL+"'"+xxsm+"'"+",";

psSQL=psSQL+"'"+fjfl+"'"+",";

psSQL=psSQL+"'"+fjmc+"'"+",";

psSQL=psSQL+"'"+jx+"'";

psSQL=psSQL+"'"+bz+"'";

psSQL=psSQL+")";

System.out.println(psSQL);

try{

stmt.executeUpdate(psSQL);

conn.commit();

returntrue;

}catch(SQLExceptione){

System.out.println(e.getMessage();

e.printStackTrace();

returnfalse;

3)通过updateFJ()函数修改数据库中的方剂信息,其核心代码如下:

publicbooleanupdateFJ(Stringfjsr, Stringfjnm,Stringfjwm,Stringzccf,Stringnd,Stringxxsm,Stringfjfl,Stringfjmc,String jx,Stringbz){

psSQL="UPDATEFJXXSETFJSR="+"'"+fjsr+"'" +","FJNM="+"'"+fjnm+"'"+","FJWM="+"'"+ fjwm+"'"+","ZCCF="+"'"+zccf+"'"+","ND="+"'"+ nd+"'"+","XXSM="+"'"+xxsm+"'"+","FJFL="+"'"+ fjfl+"'"+","FJMC="+"'"+fjmc+"'"+","JX="+"'"+ jx+"'"+","BZ="+"'"+bz+"'"+",";try{stmt.executeUpdate(psSQL);conn.commit();returntrue;

}catch(SQLExceptione){

System.out.println(e.getMessage();

e.printStackTrace();

returnfalse;

4)通过getFJData()函数来查询方剂信息,其核心代码如下:

publicvoidgetFJData(){

psSQL="SELECT*FROMFJXX";

try{

prs=stmt.executeQuery(psSQL);

}catch(SQLExceptionse){

System.out.print(se.getMessage();

se.printStackTrace();

(5)通过deleteFJData()函数实现对已有方剂的删除操作,其核心代码如下:

pubicvoiddeleteFJData(Stringfjsr){

psSQL="DELETEFROMFJXXWHERE FJSR="+"'"+fjsr+"'"";

try{

prs=stmt.executeQuery(psSQL);

}catch(SQLExceptionse){

System.out.print(se.getMessage();

se.printStackTrace();

3 小结

目前敦煌医学在国内外的研究受到越来越多的重视,由于历史的原因敦煌医学资源大都比较分散,难以集中,因此给后续的研究带来很大的困扰。建立敦煌医学方剂素材数据库,通过收集并整理准确、全面的方剂资料,可有效地实现敦煌医学方剂资源最大限度的集中,为后来的研究者提供充分的资源,同时避免重复收集等工作。本课题的研究仍有一些不足之处,如敦煌医学方剂的收集来源大都是通过网络、文献等途径,难免有不全之处,同时库中建立的方剂数据的表结构应还进行进一步的优化和改进。

[1] 王曌滢,王玉珠.敦煌医学抗衰老方剂研究概况[J].西部中医药,2013,26(4):11-12.

[2] 唐兴源,任真.敦煌医学素材数据库系统的设计与实现[J].甘肃科技,2013,31(24):19-20.

[3] 鲁艳霞,邵欣欣.数据库原理与应用实训教程[M].北京:清华大学出版社,2013.

[4] 耿祥义,张跃平.Java面向对象程序设计[M].北京:清华大学出版社,2013.

RS

1.兰州市科技局人才创新创业专项(项目编号:2014-2-33)。2.敦煌医学与转化省部共建教育部重点实验室开放基金项目(项目编号:DHYX14-001)。

△任真(1979-),男,副教授,硕士,主要从事数据挖掘、中医药数字化推广的相关研究。邮箱:rz@gszy.edu.cn。

猜你喜欢

方剂入库敦煌
古代敦煌人吃什么
古代敦煌人吃什么
中医医案方剂多维相似度算法设计与探索
重磅!广东省“三旧”改造标图入库标准正式发布!
中国食品品牌库入库企业信息公示②
中国食品品牌库入库企业信息公示①
《金匮要略》黄芪类方剂探析
亮丽的敦煌
绝世敦煌
柴胡汤类方剂用于肝恶性肿瘤治疗进展