前言
xml不是新概念了。感谢诸如
Ajax这样的新技术,使得它在过去的一些年里发展迅速。但是奇怪的是,到目前为止,数据库却拥有非常少的本地
xml特性。
IBM最新的数据库,IBM
DB2 9,引入了pure
xml,一个解决使用
xml进行工作的压力的本地
xml特性集合。从新的
xml数据类型到XQuery语言,
DB2 9使得
xml开发变得更加容易。
数据并不会像DBA所想的那样,整齐划一的被整理好,并且像邮箱里的备忘一样标记好。有些时候你遇到了古怪的难以分类的包。必须创建一个特殊域“备注”或“注释”或“杂项”。它们通常是CLOB域,并须足够的长,以容纳可能放进该域的任何文字。
你可以在下面的走查中看到一个例子——一些信息足够标准来波癌症自身的数据栏,而其他信息对每一行都是特别的。这里就不得不提
xml数据域的好处了。
CLOB域能容纳任何东西——文字,
xml,HTML,自定义描述符。但是对数据库来说,它只是文字。这使得搜索,解析和格式化,以及获取CLOB域中的子数据都比较困难。
然而,
xml域将数据作为
xml看待,而不是具有括号的数字。那么,你存储在
xml域中的数据就是高效可用的了。这就像你在数据表中有一个小的数据表。
xml数据可以使用SQL,
xmlSQL,XQuery和它们任意的结合来进行搜索。你可以获取特定的数据节点而不是围绕的相关文字或者不相关文字。你甚至可以将它和
xml文档关联起来,这种文档每一行都是不同的,使用XSD或者DTD来进行格式化。
这里对你最重要的是,
xml数据类型和Ajax以及其他任何可以直接和
xml工作的程序一起配合工作。简单的说,它使得令人头痛的基于
xml的程序开发变得简单。
本文将逐步教会你如何使用这一高级特性。你首先需要
下载免费分发的
DB2 9 Express-C。安装它和最新的
DB2 9Visual Studio插件,使用它们来创建一个新的Superhero数据库。在引入范例数据包括一些预写入的
xml文档以后,你将在VS2005中创建C# Web服务来展示
xml数据类型的优势。最后,你将使用预先写好的代码来创建HTML,JavaScript和CSS。在结束前,你将创建一个可以工作的程序,显示当前的hero花名册,在点击一个Hero时触发异步JavaScript调用Web服务,直接从
xml域中获取数据,动态生成新的DOM对象。
这里的技术包括:
- DB2 Express-C
- ASP.NET 2.0 (C#)
- Web 服务
- JavaScript以及Ajax技术
- 用来整理页面显示的CSS