扩展哈弗曼前缀编码实现扩展哈弗曼前缀编码实现XML数据与关系数据转换数据与关系数据转换
为从企业生产线上XML半结构化数据中抽取富有意义数据,分析了XML半结构化数据和关系数据库中结构化数
据特点,以及XML半结构化数据在关系数据库中的存储方法。针对实际应用,提出采用扩展哈弗曼前缀编码方
法,对XML文档树进行唯一编码,实现XML文档与关系数据库映射,同时给出最长前缀匹配策略,支持数据查
询,以提高查询效率。
摘摘 要:要: 为从企业生产线上
关键词:关键词: XML;关系数据库;哈弗曼前缀编码;匹配策略;模型映射
互联网的迅速发展,使得网上数据不断增加,这些数据形式不统一,其数据结构的组织方式也各不相同,促使XML半结构
化数据成为互联网上数据交换或数据浏览的中间媒介,其无模式及自描述的特点适于描述网上数据,它的出现推动了互联网在
电子商务和企业生产线等多方面的应用。但要想对这种半结构化数据进行有效地管理十分困难,传统的DBMS主要用于管理结
构化数据,半结构化数据与传统的DBMS管理的数据的模式大不相同,如何对半结构化数据实施有效的管理成为新的研究领
域。而在理论和实践上都非常成熟的关系数据库使用广泛,数据处理能力强,查询性能好,采用关系数据库对XML数据进行
存储和操作,将半结构化数据转为结构化数据,通过查询数据库来提取、综合和分析XML数据,充分利用成熟的数据库技术
处理XML数据已成为重要手段[1-2]。
互联网的发展也使企业中大量信息资源以XML半结构化数据的形式存在,半结构化数据成为企业决策人员获取、传播和交
换信息的重要途径。本文基于一个实际的生产项目,主要对企业生产线中XML半结构化数据资源,采用扩展哈弗曼前缀编码
技术转化为在关系数据库中存储,并采用前缀匹配策略实现XML数据查询,抽取富有意义的数据,为管理部门提供完整的决
策支持数据,有助于企业决策者实现其目标。
1 XML与关系数据库与关系数据库
XML(Extensible Markup Language)用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类
型。一个XML文档是由一个根元素和若干个子元素组成,元素用标记来标识和界定,XML可看作是有层次结构的半结构化数
据。XML其优势在于可扩展性强,简单易懂,不同平台间的信息交换性好,支持国际化。随着XML技术越来越被人们认识和
了解,其在数据传输和数据存储方面的优越性也逐渐被人们重视起来。
关系数据库是为存储和管理结构化数据设计的,采用二维表作为存储数据的模型,二维表由行和列组成,列用于表示组成数
据有效信息属性,行用于表示一条由各个字段组成的完整数据记录。表间相关性通过主键—外键来关联。
XML文档是一种典型的半结构化数据[3],它既能表示关系、对象等结构化数据,也能表示Web半结构化数据。具有层次结
构的半结构化数据与扁平的二维表关系模型之间存在固有的不匹配性。如果采用关系数据库来存储XML数据,首先要解决如
何把XML文档模式映射为关系模式,即两个异构模式之间的模式映射。
2 XML数据与关系数据库转换数据与关系数据库转换
2.1 XML数据与关系数据库映射方法数据与关系数据库映射方法
目前,基于关系的XML存储的研究受到国内外研究者的重视,总的来说根据存储时是否使用XML模式(DTD或XML
Schema)可以分为结构映射方法和
(1)结构映射是与XML模式(DTD或XML schema)相关[4],即依赖于文档模式的关系存储。这种存储映射策略把XML文
档本身看作是数据库中的数据区,DTD或者Schema可以看成是数据模式。依赖于文档模式的关系存储映射就是把DTD或
Schema映射为关系数据库中的Schema,然后把XML文档存储到关系数据库中。对XML数据中结构化的信息建模时,采用关
系数据库中的主外键连接来映射XML树的父子关系。
(2)模型映射方法维护用来存储XML文档的一个固有的模式[4],其基本的思想是捕捉XML文档的树结构。主要特点是将任
何数据都放在有固定关系模式的数据库中,而不考虑XML文档模式(DTD或XML Schema),其本质是存储XML文档本身的
结构信息。在模型映射方法中,XML文档被看做由元素和属性等结点组成的有向有序的树或图,关系模式相当于一个模
板,XML在关系数据库中的存储按数据库提供的模板来组织数据。
由于模型映射方法与XML模式(DTD或XML schema)无关,而企业生产线上XML数据是一种无模式XML数据,更加符合
模型映射的特征。本文采用模型映射方法实现映射转换工作,以便更好地利用关系数据库成熟技术进行数据管理。
2.2 XML文档编码方案文档编码方案