数据库中的XML支持与早期数据管理方法概述
1. 关系型数据库管理系统中的XML支持
虽然XML本身由标准定义,但特定数据库管理系统(DBMS)支持XML的方式却各不相同。下面来看看两种广泛使用的DBMS——DB2和Oracle对XML的支持情况。
1.1 DB2对XML的支持
- 存储方面 :DB2通过XML列数据类型支持XML存储。可以将XML数据类型分配给任何关系中的列,这样表的每一行该列就能存储一个XML文档。创建包含XML列的表的语法与使用其他SQL数据类型创建表的语法相同,例如:
CREATE TABLE stocked_products
(
store_numb int PRIMARY KEY,
UPC char (13) PRIMARY KEY,
Product_details XML
);
存储文档时,应用程序将文本发送到DB2服务器,服务器会检查文档是否正确(格式良好且有效),然后将其转换为层次化表示形式。这个层次结构与表的其他部分分开存储,但有内部数据结构将关系型和XML存储结构关联起来。
- 索引方面 :DB2的XML列数据类型不需要与XML模式关联,但模式可用于检查文档的正确性。索引能显著提高数据库查询性能,XML文档的数据埋在文档内部(即单个DB2列中),不过其层次化存储结构使索引成为可能。要为特定元素创建索引,用户必须提供通过层次结构到达所需数据的路径。例如,为产品名称创建索引的语句如下: