1.0
简介
本论文简要的探讨了 XML 和数据库之间的关系,同时罗列出一些可以使用数据库处理
XML 文档的软件工具。虽然在这里不可能详尽地介绍和提供对这些软件更深层次的评价,
但是我希望它能够描述使用数据库处理 XML 文档中的主要部分。这里有点偏向与关系数据
库,因为我的经验如此。
2.0 为什么使用数据库?
当你考虑到要使用 XML 和数据库时的第一个要问你自己的问题应该是:为什么我需要
使用数据库。你是需要显示数据?你是需要一个保存你主页的空间?数据库在电子商务运用
程序中时把 XML 当做数据传输格式传送吗?这些问题的答案都将直接影响到你对数据库和中间件
(如果使用了的话)的选择。
举例说明,假设你是把 XML 做为一种数据传输格式使用在你的电子商务运用程序中。
那么意味着你需要传输的数据格式将主要是具有高度规范结构,那么在 XML 中的那些自己的编码规
范对你而言并不重要了,这样你的兴趣就仅仅是在数据上而不是在这些数据如何物理存储在文
档中了。如果你的运用程序关系简单,那么一个关系数据库和数据传输中间件将能够满足你的需
求;如果关系庞大和复杂,那么你就需要一个完全支持 XML 的开发环境了。
从另一方面来说,假设你是要实现从杂散的 XML 文件中创建一个网站的功能。你不仅
需要管理这个网站,你还要提供给用户查询其中内容的功能。这时你的文件的格式将是高度
的不规范,而实体的使用对你来说变得很重要,因为这些文件的结构是网站的基本功能需求。
在这个例子中,你就需要一些 "native XML" 数据库而不是普通的关系数据库,执行解释
、 XML 实体使用和支持查询语言(例如 XQL )。
3.0 数据和文档的对比
也许在大多数情况下,判断是否采用数据库的最重要的因素是你使用数据库是用来
保存数据呢还是保存文件。如果你想保存数据, 你需要的数据库则主要是面向数据存储的,例如一
个关系数据库或则一个面向对象的数据库,或则也可以是一个在数据库和 XML 文档之间传递数据的
中间件。从另一个角度来说,如果你想存储文件,你需要一个专门设计用来存储文件的内容管理
系统。虽然可以把文件保存在关系数据库或则面向对象的数据库中,但你会发现你的工作
经常是在重复实现一个内容管理系统中的功能而已。简单说,虽然一个内容管理系统通常是建立
在一个面向对象数据库或则关系数据库的顶层,但是如果只是把一个内容管理系统当做数据库
来使用被证明是失败的。
你是否需要存储数据或则文件经常取决与你的 XML 文件。原因是 XML 文件分为两类:
数据为主和文档为主。
本论文简要的探讨了 XML 和数据库之间的关系,同时罗列出一些可以使用数据库处理
XML 文档的软件工具。虽然在这里不可能详尽地介绍和提供对这些软件更深层次的评价,
但是我希望它能够描述使用数据库处理 XML 文档中的主要部分。这里有点偏向与关系数据
库,因为我的经验如此。
2.0 为什么使用数据库?
当你考虑到要使用 XML 和数据库时的第一个要问你自己的问题应该是:为什么我需要
使用数据库。你是需要显示数据?你是需要一个保存你主页的空间?数据库在电子商务运用
程序中时把 XML 当做数据传输格式传送吗?这些问题的答案都将直接影响到你对数据库和中间件
(如果使用了的话)的选择。
举例说明,假设你是把 XML 做为一种数据传输格式使用在你的电子商务运用程序中。
那么意味着你需要传输的数据格式将主要是具有高度规范结构,那么在 XML 中的那些自己的编码规
范对你而言并不重要了,这样你的兴趣就仅仅是在数据上而不是在这些数据如何物理存储在文
档中了。如果你的运用程序关系简单,那么一个关系数据库和数据传输中间件将能够满足你的需
求;如果关系庞大和复杂,那么你就需要一个完全支持 XML 的开发环境了。
从另一方面来说,假设你是要实现从杂散的 XML 文件中创建一个网站的功能。你不仅
需要管理这个网站,你还要提供给用户查询其中内容的功能。这时你的文件的格式将是高度
的不规范,而实体的使用对你来说变得很重要,因为这些文件的结构是网站的基本功能需求。
在这个例子中,你就需要一些 "native XML" 数据库而不是普通的关系数据库,执行解释
、 XML 实体使用和支持查询语言(例如 XQL )。
3.0 数据和文档的对比
也许在大多数情况下,判断是否采用数据库的最重要的因素是你使用数据库是用来
保存数据呢还是保存文件。如果你想保存数据, 你需要的数据库则主要是面向数据存储的,例如一
个关系数据库或则一个面向对象的数据库,或则也可以是一个在数据库和 XML 文档之间传递数据的
中间件。从另一个角度来说,如果你想存储文件,你需要一个专门设计用来存储文件的内容管理
系统。虽然可以把文件保存在关系数据库或则面向对象的数据库中,但你会发现你的工作
经常是在重复实现一个内容管理系统中的功能而已。简单说,虽然一个内容管理系统通常是建立
在一个面向对象数据库或则关系数据库的顶层,但是如果只是把一个内容管理系统当做数据库
来使用被证明是失败的。
你是否需要存储数据或则文件经常取决与你的 XML 文件。原因是 XML 文件分为两类:
数据为主和文档为主。