设计数据库时,要分析存储的信息及这些信息组成部分之间的关系。传统的关系数据库采用ER模型来描述数据关系,并依此进行数据库设计。XML文档是半结构化数据,ER图不能完全体现数据之间的关系,所以首要解决的是XML数据库的数据模型问题。
3.1 XML数据模型
研究者也开展了大量基于关系模型的XML数据管理的研究工作。这些方法的最大问题是:XML数据上的一个操作需要用这些模型上的一系列操作来表示,因此显得力不从心。
为此,研究者给出了两个XML模型-----树模型和图模型。这两种模型都是直观上的模型,不是严格意义上的数据模型。
目前,大多数研究直接采用半结构化数据模型,其中最有代表性的是OEM模型以及XQuery1.0和XPath2.0数据模型
1、对象交换模型(Object Exchange Model,OEM):是专门为了表示半结构化数据而提出的。在OEM中,所有实体都是对象(object),一个对象是一个四元组:(label, oid, type, value)
2、XQuery数据模型:Infoset模型、XPath数据模型、DOM模型、XQuery1.0和XPath2.0数据模型都是W3C推荐的XML数据模型,它们都是OEM的变体。其中XQuery1.0和XPath2.0数据模型是W3C的候选推荐标准。
模型定义了7种结点类型:文档结点、元素结点、属性结点、名称空间结点、处理指令结点、注释结点、文本结点。
3.2 基于Schema约束的XML文档存储和索引技术
曾任ACM数据管理专门组主席的计算机科学教授Michel Stonebraker将数据库的应用市场描述为一个2 X 2的矩阵,预言对象---关系数据库管理系统将是数据库市场的主流,并指出将对象----关系性引擎与关系型的存储管理器结合起来是一个好的策略。
利用关系数据库来存储模式信息和文档数据的方法具有以下特点:
(1)将文档结点信息和结构信息有机结合共同存储于关系表中,提高了复杂路径查询的导航效率
(2)强调模式约束文档,有利于保证XML文档的查询和更新的有效性
(3)有效利用关系数据库系统的索引技术和存储索引维护策略
3.3 基于SBXI存储策略的XQuery查询处理
3.4 基于关系存储的XML文档更新