- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
XML 数据库技术
摘要:XML 是一种非常好的数据交换语言,经被用于系统之间的通信。对 XML 数据库,
用户和应用程序需要把 XML 加载到数据库中,用 XML 传输数据,从关系数据库中把数据检索为 XML,从 XML DBMS 中检索数据,并且把关系型和 XML 型数据结合成 XML。
关键字:XML、数据库、体系结构
数据库技术的发展
数据处理的发展经历了三大阶段:1950 年代中之前的无管理阶段、1950 年代末到
1960 年代末的文件系统阶段、1970 年代初至今的数据库系统阶段。
数据库系统的前身是文件系统,文件系统是数据库系统发展的基石。但与数据库系统相比,文件系统的冗余大(数据不能共享、重复浪费)、缺乏数据独立性(数据和程序相互依赖、改变困难)、数据未集中管理(无统一管理,无法保证安全性和完整性)。
早期数据库的结构种类丰富,如:
层次数据库——如 1968 年 IBM 推出的世界上第一个数据库管理系统 IMS(Information Management System,信息管理系统)
网络数据库——如 1969 年美国 CODASYL(Conference on Data System Language ,数据
系数语言协会)下属的 DBTG(Data Base Task Group,数据库任务组)发表的 DBTG 报告
关系数据库——由 IBM 的 E.F.Codd 与 1970 年提出,如 IBM 的 SanJose 实验室 1977
年推出的 System R 和加州大学的 Berkeley 分校于 1973 年推出的 INGRES
XML 与数据库
XML 是数据库吗?
如果仅按数据库这个术语的本质来看,XML 文件就是数据库,它是数据的集合。作为一种“数据库”格式,XML 有一些优势,如它是自描述的、可交换的(Unicode)、能够以树型或图形结构描述数据。同样它也有缺点,如它显得有些繁琐,由于要对它进行解析和文本转换,所以数据访问速度较慢。
一个更有用的问题就是在较为宽松的意义上,XML 及其周边技术是否可以算作“数据库”——数据库管理系统(DBMS)?答案是“在某种程度上是”。从正面来说, XML 提供了许多数据库所具备的东西:存储(XML 文档)、模式(DTD, XML schema,RElAX NG 等等) 、查询 语言(XQuery, XPath, XQL, XML-QL, QUILT 等等)、编程 接口(SAX, DOM,JDOM)等等。从反面来说,它缺少一些作为实用的数据库所应具备的特性:高效的存储、索引、安全、事务和数据一致性、多用户访问、触发器、交叉查询多个文件等等。
因此,尽管在数据量小、用户少和性能要求不太高的环境下,可以将 XML 文档用作数据库,但是却不适用于用户量大、数据集成度高以及性能要求高的作业环境。
需要 XML 数据库吗?
如果你要查询历史数据、存储 Web 页面、进行电子商务,而 XML 又在其中作为数据传输载体,则你就需要选择支持 XML 的数据库和中间件。
例如,你有个电子商务的应用,将 XML 用作数据交换。那么你的数据最好有个非常规则的结构并且可供非 XML 程序使用。还有,XML 文档所用的某些东西如实体和编
码对你来说并不重要——总之,你感兴趣的是数据,而不是它在XML 内如何存储。在这种情况下,你大概需要一个关系型数据库以及在XML 和数据库之间转换数据的软件。如果你的应用程序是面向对象的,你甚至还需要一个在数据库或 XML 中存取这些对象的系统。
另一方面,假如你要从一些结构松散的 XML 文档建立一个网站。你不但要管理这个网站,还要提供站点内容搜索。你的文档看起来结构比较松散,其中的实体的使用对你来说可能更重要,因为它们是文档结构的重要部分。这种情况下,你也许需要一个纯 XML 数据库或内容管理系统。这使你可以保持文档的物理结构,支持文件级的事务处理,以及使用 XML Query 语言进行查询。
数据与文档
在选择数据库时最重要因素大概就是你想在数据库存储的究竟是数据还是文档。例如,是简单地把 XML 当作数据库和(可能不支持 XML)应用程序之间的数据转换工具,还是用于集成,就像XHTML 和 DocBook 中的那样?通常这是个偏好,但是却非常重要,因为这会影响到 XML 在数据库中如何存储。
如果想保存数据,则需要的是主要面向数据存储的数据库,如关系数据库或面向对象数据库,也可以是在数据库和 XML 文档之间转换数据的中间件。如果想保存文档, 则需要的是一个专门用来存储文档内容的内容管理系统(content management system)。
XML 文档可以分为两类:以数据为中心的(data-centric)文档和以文本为中心的
文档评论(0)