论文部分内容阅读
摘要:本文深入研究了基于边表、属性和数据类型的诊疗数据存储结构,分析了各种方法的优缺点,并在此基础上提出了新型的基于“结点属性”的分离存储方式。本文提出的存储结构打破了传统的XML文档树的诊疗数据结构,极大提高了空间利用率和查询效率。
关键词:XML;诊疗数据;存储;结点属性
中图分类号:TP311 文献标识码:A 文章编号:1007-9599 (2012) 22-0000-02
1 基于XML的诊疗数据结构
XML是一种集标识语言和元语言为一体的结构化描述语言,能够清晰定义描述对象结构。当前诊疗数据的描述、存储和处理等问题都可以通过XML方便快捷的解决。利用XML解决这些问题的方式主要有两种:一种是基于文本系统的管理方式,用文本文件描述诊疗的XML文件;另一种是基于数字库字段的管理方式,用长文本存储诊疗的XML文件。关系数据库具有高效、快捷、方便的特点,是基于文本的XML无法比拟的,但是部分XML文件信息存入关系数据库效率较低。因此,如何提高XML文件存贮到关系数据库中的效率是基于XML的诊疗数据存储结构的关键和核心。
2 存储方式
诊疗数据的处理速度、效率直接受存储方式的影响。基于边表、属性和数据类型的诊疗数据存储结构是常用的存储方式。
2.1 基于边表的方式。基于“边表”的方式是指用一个简单的关系表存储XML文档的图,并设定一个ID表示图中的每个节点,表的字段属性为Edge。边表中对应的字段名称和属性如表1所示,表2为诊疗数据基于表边的存储策略。
2.2 基于属性的方式。基于“属性”的方式是指将数据按照属性进行分类,在同一个表内存储属性相同的数据,表的字段属性为Attribute。对应的字段名称和属性如表3所示:表4为表2对应的基于属性“接种史”的方式。
2.3 基于数据类型的方式。基于“数据类型”的方式是指在同一个表中存储所有的值和属性。表5为表2所对应的基于数据类型的方式。由表5可以看出,基于数据类型的方式空间利用率不高,存在大部分NULL值。
3 新的存储方式——结点属性分离方式
前文介绍了几种基于关系数据库的XML诊断数据存储方式,在一定程度上解决了XML不适用于大量数据的问题,但是效率并不理想。基于“边表”的方式空间利用率不高,占据的空间资源十分庞大;基于“属性”的方式以属性为依据进行划分,但是面对庞大的医疗数据,属性数据仍然很多,查询速度和效率有待进一步提高;基于“数据类型”的方式空间利用率很低,存在大量的空值,并不是一种高效的方式。
针对前文提出的三种存储方式,本文提出了一种基于“结点属性”的分离存储方式。传统的存储方式只建立一个表,本方式创新性地创建了两个表,一个用于存储属性值,另一个用于存储诊疗数据。
存储属性值的表中存储了诊疗数据的所有属性和类型。对应的字段名称和属性如表6所示:
存储诊疗数据的表是一个树形结构表,存储了诊疗数据的结构和内容。对应的字段名称和属性如表7所示:
4 性能比较
笔者深入分析并比较了前文介绍的三种存储方式和本文提出的“节点属性”存储方式,经过实验得出如下结论:
4.1 查询速度。本文提出的基于“节点属性”的存储方式查询速度和效率明显提高,因为该方式可以通过属性和属性值两个因素进行查询。
4.2 存储空间。本文提出的基于“节点属性”的存储方式存储空间极大减小,空间利用率极大提高,仅用很少的存储空间便存储了全部诊疗数据。
4.3 更新效率。本文提出的基于“节点属性”的存储方式更新效率极大提高,利用很少的结点便能实现数据更新。
综上所述,本文提出的改进方式是十分有效的。
5 结语
本文提出了一种基于“结点属性”的分离存储方式。本文提出的存储结构打破了传统的XML文档树的诊疗数据结构,极大提高了空间利用率和查询效率,是一种行之有效的改进方式,有一定的理论研究意义和实践应用价值。
参考文献:
[1]姜英华,孙钊.一个基于XML的诊疗数据系统[J].应用科技,2004,3l(10):26-27.
[2]李旭华.基于关系数据库的XML数据存储的研究[J].嘉应学院学报(自然科学,2004,22(3):6l-64.
[3]noIescu D,Kossmann D.Storing and quelyingXML da-tausinganRDMBS[J].IEEE DataEngineeringBul-letin,1999,22(3):27-34.
[作者簡介]李俊(1976-),女,硕士,讲师,研究方向为医学信息学;殷红(1967-),女,学士,主治医师,研究方向为消化病学;高建鹏(1972-),通讯作者,男,博士,副主任医师,研究方向为消化病学。
关键词:XML;诊疗数据;存储;结点属性
中图分类号:TP311 文献标识码:A 文章编号:1007-9599 (2012) 22-0000-02
1 基于XML的诊疗数据结构
XML是一种集标识语言和元语言为一体的结构化描述语言,能够清晰定义描述对象结构。当前诊疗数据的描述、存储和处理等问题都可以通过XML方便快捷的解决。利用XML解决这些问题的方式主要有两种:一种是基于文本系统的管理方式,用文本文件描述诊疗的XML文件;另一种是基于数字库字段的管理方式,用长文本存储诊疗的XML文件。关系数据库具有高效、快捷、方便的特点,是基于文本的XML无法比拟的,但是部分XML文件信息存入关系数据库效率较低。因此,如何提高XML文件存贮到关系数据库中的效率是基于XML的诊疗数据存储结构的关键和核心。
2 存储方式
诊疗数据的处理速度、效率直接受存储方式的影响。基于边表、属性和数据类型的诊疗数据存储结构是常用的存储方式。
2.1 基于边表的方式。基于“边表”的方式是指用一个简单的关系表存储XML文档的图,并设定一个ID表示图中的每个节点,表的字段属性为Edge。边表中对应的字段名称和属性如表1所示,表2为诊疗数据基于表边的存储策略。
2.2 基于属性的方式。基于“属性”的方式是指将数据按照属性进行分类,在同一个表内存储属性相同的数据,表的字段属性为Attribute。对应的字段名称和属性如表3所示:表4为表2对应的基于属性“接种史”的方式。
2.3 基于数据类型的方式。基于“数据类型”的方式是指在同一个表中存储所有的值和属性。表5为表2所对应的基于数据类型的方式。由表5可以看出,基于数据类型的方式空间利用率不高,存在大部分NULL值。
3 新的存储方式——结点属性分离方式
前文介绍了几种基于关系数据库的XML诊断数据存储方式,在一定程度上解决了XML不适用于大量数据的问题,但是效率并不理想。基于“边表”的方式空间利用率不高,占据的空间资源十分庞大;基于“属性”的方式以属性为依据进行划分,但是面对庞大的医疗数据,属性数据仍然很多,查询速度和效率有待进一步提高;基于“数据类型”的方式空间利用率很低,存在大量的空值,并不是一种高效的方式。
针对前文提出的三种存储方式,本文提出了一种基于“结点属性”的分离存储方式。传统的存储方式只建立一个表,本方式创新性地创建了两个表,一个用于存储属性值,另一个用于存储诊疗数据。
存储属性值的表中存储了诊疗数据的所有属性和类型。对应的字段名称和属性如表6所示:
存储诊疗数据的表是一个树形结构表,存储了诊疗数据的结构和内容。对应的字段名称和属性如表7所示:
4 性能比较
笔者深入分析并比较了前文介绍的三种存储方式和本文提出的“节点属性”存储方式,经过实验得出如下结论:
4.1 查询速度。本文提出的基于“节点属性”的存储方式查询速度和效率明显提高,因为该方式可以通过属性和属性值两个因素进行查询。
4.2 存储空间。本文提出的基于“节点属性”的存储方式存储空间极大减小,空间利用率极大提高,仅用很少的存储空间便存储了全部诊疗数据。
4.3 更新效率。本文提出的基于“节点属性”的存储方式更新效率极大提高,利用很少的结点便能实现数据更新。
综上所述,本文提出的改进方式是十分有效的。
5 结语
本文提出了一种基于“结点属性”的分离存储方式。本文提出的存储结构打破了传统的XML文档树的诊疗数据结构,极大提高了空间利用率和查询效率,是一种行之有效的改进方式,有一定的理论研究意义和实践应用价值。
参考文献:
[1]姜英华,孙钊.一个基于XML的诊疗数据系统[J].应用科技,2004,3l(10):26-27.
[2]李旭华.基于关系数据库的XML数据存储的研究[J].嘉应学院学报(自然科学,2004,22(3):6l-64.
[3]noIescu D,Kossmann D.Storing and quelyingXML da-tausinganRDMBS[J].IEEE DataEngineeringBul-letin,1999,22(3):27-34.
[作者簡介]李俊(1976-),女,硕士,讲师,研究方向为医学信息学;殷红(1967-),女,学士,主治医师,研究方向为消化病学;高建鹏(1972-),通讯作者,男,博士,副主任医师,研究方向为消化病学。