信息之舟电脑软件应用栏目编者按:
摘要:本论文简要的探讨了XML和数据库之间的关系,同时列出一些可以使用数据库处理XML文档的软件。虽然这里不打算详尽地介绍这些软件,但是笔者希望它能够描述使用数据库处理XML文档中的主要部分。
内容:
目录
1.0 简介
2.0 XML是数据库吗?
3.0 为什么使用数据库?
4.0 数据和文档的对比
4.1 以数据为中心的文件
4.2 以文档为中心的文件
4.3 数据、文档和数据库
5.0 存储和检索数据
5.1 转移数据
5.2 将文档结构映射为数据库结构
5.2.1 模板驱动的映射
5.2.2 模型驱动的映射
5.2.2.1 表格模型
5.2.2.2 特定数据对象模型
5.3 数据类型、空值、字符集和其他
5.3.1 数据类型
5.3.2 二进制数据
5.3.3 空值
5.3.4 字符集
5.3.5 处理指令
5.3.6 存储标记
5.4 从数据库的结构生成DTD及其互逆过程
1.0 简介
本论文简要的探讨了XML和数据库之间的关系,同时列出一些可以使用数据库处理XML文档的软件。虽然这里不打算详尽地介绍这些软件,但是笔者希望它能够描述使用数据库处理XML文档中的主要部分。这里有点偏向与关系数据库,因为我的经验如此。
2.0 XML是数据库吗?
在开始讨论XML和数据库之前,我们需要回答一个萦绕在很多心头的问题: "XML是数据库吗?"在严格意义上将,如果"XML"是指XML文档时,答案是"否"。尽管XML文档包含了数据,但是如果没有其他的软件来处理这些数据,它对于数据库的意义和其他文本文件没有什么区别。
如果在更为宽泛一些的意义上将,当"XML是指XML文档以及所有相关的XML的工具和技术时,答案则是"是"。 之所以肯定是由于XML提供了许多数据库中所需要的部分:存储(XML文档),结构(DTD,
XML schema语言),查询语言(XQL, XML-QL, QUILT等), 编程接口(SAX, DOM),等等。不过...XML还缺少很多在真实的数据库中所必备的内容: 有效的存储、索引、安全、交易、数据完备性、多用户访问、触发、多文档查询等。
因此如果在数据量一般、用户较少、性能要求不高的环境下可以把XML当作数据库来使用;而在大多产品的环境中,要求有许多的用户使用、需要严格的数据完整性并且对性能有很高的要求,XML就不能胜任了。而且,考虑到象dBase和Access等数据库既便宜又十分易用,因此甚至在第一种情况下XML都很少有理由充当数据库的角色。
3.0 为什么使用数据库?
当在考虑使用XML和数据库时,第一个要问自己的问题应该是:为什么我需要使用数据库?你需要将原有的数据导出?你需要保存你的Web主页?你是要在一个电子商务应用中使用数据库,而且其中XML当做传输的数据格式?这些问题的答案都将直接影响到你对数据库和中间件(如果有的话)的选择。
