和之间的关系

来源:互联网 发布:怎么用软件赚钱 编辑:程序博客网 时间:2024/03/29 22:36
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
 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和等数据库既便宜又十分易用,因此甚至在第一种情况下XML都很少有理由充当数据库的角色。     3.0 为什么使用数据库?当在考虑使用XML和数据库时,第一个要问自己的问题应该是:为什么我需要使用数据库?你需要将原有的数据导出?你需要保存你的Web主页?你是要在一个电子商务应用中使用数据库,而且其中XML当做传输的数据格式?这些问题的答案都将直接影响到你对数据库和中间件(如果有的话)的选择。    例如,假设你在电子商务应用程序中使用XML来进行数据传输。这是很好的方案,因为你的数据具有高度规范的结构,而XML中的那些实体和编码对你而言并不重要了。毕竟样你关心的仅仅是数据而不在于这些数据如何在文档中进行物理的存储。如果你的应用程序相对比较简单的话,关系数据库和数据传输中间件将可以满足你的需求;如果应用程序庞大而且复杂,那么你就需要一个完全支持XML的开发环境了。    从另一方面来说,假设你有一个从零散的XML文件创建的。你不仅需要管理这个网站,你还要提供方法让用户可以查询其中的内容。这时你的文件将非常的不规范,而实体的使用对你来说将变得很重要,因为这些文件的结构是网站的根本。在这个例子中,你就需要某类"原生XML"数据库可以执行版本化、跟踪实体的使用并且支持如XQL这样的查询语言。     4.0 数据和文档的对比     笔者认为,在选择数据库时,最重要的判断因素可能是你是利用数据库来保存数据还是保存文档。如果你想保存数据,你需要的数据库主要是面向数据存储(例如关系型数据库或者面向对象型数据库)以及在数据库和XML文档之间相互转换。从另一个角度来将,如果你想存储文档,你需要一个专门用来存储文件的内容管理系统。     虽然你可以自己把文件保存在关系数据库或面向对象数据库中,可是你常会发现你的工作是在重复内容管理系统的功能。类似的,虽然一个内容管理系统通常是建立在面向对象数据库或关系数据库之上,但要是把一个内容管理系统当做数据库来使用就可能非常的令人困1

<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击