技术开发 频道

DB2V9 pureXML在企业应用程序中的典型应用


应用领域之二:作为一种新的数据模型

    为什么需要 XML 这种新的数据描述模型呢?原因是,多年的实践证明:纯粹的关系数据库 E-R 模型过于严格,结构固化,难以适应信息的复杂性、灵活性、层次性、以及个体差异。下面分别为您举一些我所接触到的例子。

复杂的信息

    例如:医疗卫生领域中的电子病历、在全球贸易中对中药药材产品的详细描述(多达上千个属性)、银行的客户资料…… 以电子病历为例,一位住院病人的完整电子病历信息通常包括了:既往病史、通科检查、专科检查、病程、医嘱、手术通知书、术前小结、术后小结、出院小结等等错综复杂的信息。如此复杂的信息采用传统的关系型数据库表来保存是相当困难的,往往需要几十甚至几百张表的复杂关联,表结构设计非常复杂,难以理解,也缺乏整体性。而如果采用XML来描述则往往只需要一张或若干张表,设计简单,结构清晰,而且维护也方便。所以,现在国内越来越多的 HIS 应用开发商正在使用 DB2 pureXML 技术在构建其电子病历等应用。如图 4 所示:

使用 XML 表示电子病历中的信息
图 4. 使用 XML 表示电子病历中的信息

XML 电子病历信息的形式

图 5. XML 电子病历信息的形式

灵活多变的信息

    例如员工的联系信息、灵活的表单信息、供应商及客户信息等等。这类信息非常容易发生结构性的变化。例如,前些年的老系统中员工电话可能只有一个,而随着移动电话的快速普及,员工很可能每人拥有多个联系电话。这时修改结构化表的代价是非常高的,而如果联系信息采用 XML 形式,则易如反掌。如下图所示:

通过 XML 存储联系信息
图 6. 通过 XML 存储联系信息

层次型特征明显的信息

    例如汽车行业的物料清单信息(往往采用好几个层级来描述一辆汽车的零部件和供应商),民航服务公司的旅客票务信息等等。此类层次性特征明显的信息如果采用 E-R 模型来建模,则免不了就会出现若干个层级,从而经常出现许多张大表的关联查询,其效率往往非常低。

通过 XML 进行数据关联
图 7. 通过 XML 进行数据关联

 个体差异带来的稀疏数据

    为什么采用关系型方式会出现稀疏数据呢?我认为其根本原因是关系型表的结构是固化的,每个个体(数据行)的字段数量都必须相同,而个体之间往往又存在较大的差异。而如果采用 XML 来描述此类信息则完全没有这个问题。

使用 XML 避免冗余数据
图 8. 使用 XML 避免冗余数据

0
相关文章