- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
XML 与数据库
(加入时间:2002-1-7点击数:1063)
摘自清华BBS-XML 讨论区--UML
1.0简介
2.0为什么使用数据库?
3.0数据和文档的对比3.1以数据为主的文件3.2以文档为主的文件
3.3数据(Data)、文件(Documents)和数据库(Databases)
4.0存储和获取数据4.1传输数据
4.2将文档结构映射成数据库结构
4.2以.1模板驱动的映射
以.2样式驱动的映射
数据类型,空值(Null),字符集设置和其他所有的类似集
4.3数.1据类型
4.3二.2进制数据
4.3空.3值(Null)
4.3字.4符集设置
处.5理指令(ProcessingInstructio)ns4.3存.6储(StoringMarkup)
从数据库的结构生成DTDs 和逆反过程
5.0存储和获取文件(Documents)5.1管理内容系统和关系数据库
6.0可利用的软件6.1中间件
XML服务器
内容管理系统(ContentManagementSystems)
7.0附加联接
8.0注释和反馈
1.0简介
本论文简要的探讨了XML 和数据库之间的关系,同时罗列出一些可以使用数据库处理XML 文档的软件工具。虽然在这里不可能详尽地介绍和提供对这些软件更深层次的评价,但是我希望它能够描述使用数据库处理XML 文档中的主要部分。这里有点偏向与关系数据库,因为我的经验如此。
2.0为什么使用数据库?
当你考虑到要使用XML 和数据库时的第一个要问你自己的问题应该是:为什么我需要使用数据库。你是需要显示数据?你是需要一个保存你主页的空间?数据库在电子商务运用
程序中时把XML 当做数据传输格式传送吗?这些问题的答案都将直接影响到你对数据库和中间件
(如果使用了的话)的选择。
举例说明,假设你是把XML 做为一种数据传输格式使用在你的电子商务运用程序中。
那么意味着你需要传输的数据格式将主要是具有高度规范结构,那么在XML 中的那些自己的编码规范对你而言并不重要了,这样你的兴趣就仅仅是在数据上而不是在这些数据如何物理存储在文
档中了。如果你的运用程序关系简单,那么一个关系数据库和数据传输中间件将能够满足你的需求;如果关系庞大和复杂,那么你就需要一个完全支持XML 的开发环境了。
从另一方面来说,假设你是要实现从杂散的XML 文件中创建一个网站的功能。你不仅需要管理这个网站,你还要提供给用户查询其中内容的功能。这时你的文件的格式将是高度
的不规范,而实体的使用对你来说变得很重要,因为这些文件的结构是网站的基本功能需求。在这个例子中,你就需要一些nativeXML数据库而不是普通的关系数据库,执行解释
、XML 实体使用和支持查询语言(例如XQL)。
数据和文档的对比
也许在大多数情况下,判断是否采用数据库的最重要的因素是你使用数据库是用来
保存数据呢还是保存文件。如果你想保存数据,你需要的数据库则主要是面向数据存储的,例如一个关系数据库或则一个面向对象的数据库,或则也可以是一个在数据库和XML文档之间传递数据的中间件。从另一个角度来说,如果你想存储文件,你需要一个专门设计用来存储文件的内容管理
系统。虽然可以把文件保存在关系数据库或则面向对象的数据库中,但你会发现你的工作
经常是在重复实现一个内容管理系统中的功能而已。简单说,虽然一个内容管理系统通常是建立在一个面向对象数据库或则关系数据库的顶层,但是如果只是把一个内容管理系统当做数据库来使用被证明是失败的。
你是否需要存储数据或则文件经常取决与你的XML 文件。原因是XML 文件分为两类:数据为主和文档为主。
数据为主的文件
数据为主的文件表现出来的特点是结构相当规范,数据格式良好(就是说,数据中
最小的独立单元是PCDATA-only 元素级别或则是一个属性),和一些或则没有混合内容。其中同
类型元素和PCDATA 的出现顺序并不重要。例如XML 文件内容是销售单、飞行计划、餐馆菜单等等。数据为主的文件经常被用来设计机器消费,这时XML 的调用是多余的---它仅仅是一种数
据传输。
例如,下面的销售单就是一个数据为主的文档:
Orders
SalesOrderSONumber=12345
CustomerCustNumber=543
CustNameABCIndustries/CustName
Street123MainSt./Street
CityChicago/City
StateIL/State
PostCode60609/PostCode
/Customer
OrderDate981215/OrderDate
LineLineNumber=
文档评论(0)