WEB开发网
开发学院数据库DB2 DB2 XML 编程,第 2 部分: 在应用程序体系结构中使... 阅读

DB2 XML 编程,第 2 部分: 在应用程序体系结构中使用 XML 数据库支持

 2009-11-11 00:00:00 来源:WEB开发网   
核心提示: 为了更好地了解混合型存储,我们来看看 XML 数据的逻辑视图,DB2 XML 编程,第 2 部分: 在应用程序体系结构中使用 XML 数据库支持(3),体会 XML 数据如何看起来像是存储在关系数据库表中, 注意:尽管不同关系数据库厂商的 XML 物理存储技术可能不一样,可以用它查询 XML 文

为了更好地了解混合型存储,我们来看看 XML 数据的逻辑视图,体会 XML 数据如何看起来像是存储在关系数据库表中。

注意:尽管不同关系数据库厂商的 XML 物理存储技术可能不一样,但是逻辑视图是相似的。


图 2. DB2 混合型存储逻辑视图
DB2 XML 编程,第 2 部分: 在应用程序体系结构中使用 XML 数据库支持

图片看不清楚?请点击这里查看原图(大图)。

查询 XML

在展开数据库模式模型时,可以看到关系表和列。如果展开 XML 列,模式会从关系模型变成 XML 层次化模型。现在,您应该意识到其实有两个模式(一个关系模式和一个 XML 模式),但是把它们当作一个整体;理解了这一点,就能够以更自然的方式在这个统一的模式中进行导航和查询。

对于清单 1 所示的统一模式,如果希望获得 CUSTOMER_TABLE 中 CUSTXML 列的数据,那么可以在查询中指定 CUSTXML 列的路径作为目标。

SELECT CUSTXML FROM CUSTOMER_TABLE where customerid='hardeep'; 

这会返回 hardeep 的 CUSTXML 列中的客户数据。

现在,考虑如何获得其 lastname 为 singh 的客户数据。在这种情况下,需要指定每个 XML 文档的 lastname 属性的路径(CUSTOMER_TABLE.CUSTXML/Customer/@lastname)并检查它是否是 singh。

在完美的环境中,查询应该是 Select * from CUSTOMER_TABLE where CUSTXML/Customer/@lastname='singh'。但是在真实环境中,需要用数据库查询引擎能够理解的一种语法编写查询。数据库领域已经引入了一种称为 XQuery 的新语言,可以用它查询 XML 文档。SQL 添加了可以理解这种语言的新函数,从而将关系和 XML 环境联系起来了。所以搜索姓氏为 singh 的客户的查询如下:

上一页  1 2 3 4 5 6 7 8  下一页

Tags:DB XML 编程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接