+ -
当前位置:首页 → 问答吧 → xml与数据库区别

xml与数据库区别

时间:2009-02-18

来源:互联网

我感觉XML是用来存储数据的,数据库也是存储数据的,有了数据库为什么还要用XML?谢谢大家!

作者: qufei0325   发布时间: 2009-02-18

在存储数据方面我认为
xml 比 数据库,占用的资源少,操作方便,用来存储简单的信息,现在主要用在程序的配置文件上(比如web.xml)
数据库要有自己的服务器,操作要用到sql的语言
总之,数据库存储的是关系和操作复杂数据,xml来存储关系简单的数据,不涉及的复杂的操作和复杂的关系

作者: phoenix_qiqi   发布时间: 2009-02-18

可以参考一下这篇: http://blog.csdn.net/cds27/archive/2006/05/18/743409.aspx

作者: cds27   发布时间: 2009-02-18

有了数据库为什么还要用XML?XML与数据库各自的特点、他们的应用与区别我想你从Google上可以查到一大堆,那么在这里
我只说说自己的体会:
1:尽管XML和数据库都可以定义数据模型并存储数据,然而,XML更加通用、更加标准化,前些年我们公司的软件要与其他公司软件做接口传输数据时,采用了最简单的接口数据库方式,开发最容易,带来了些问题:
  一是这个接口数据库是某种数据库产品(DB2\MSSQL\MYSQL),接口代码在更换了数据库产品(我们公司的软件要经常面对不同厂商的应用系统)后需要修改或重写;
  二是如果接口需求变动的话,可能要改动数据库结构,导致还要改接口代码,这是致命的。
  三是接口的稳定取决于这个数据库管理系统本身要稳定,你得考虑维护管理(自动化日志清理等)问题;
  四是为了穿过防火墙(电信、网通公司可能会关闭某些端口)及安全性考虑,你不能直接通过TCP/IP去访问远程接口机器上的数据库,需要将数据再编码发布(比如之前的Remoting或现在的WCF)
  那么现在我们改用XML来做程序接口,我们给其他公司的是一些XML Schema、Web Serivce的URI、业务流程说明,我们不再需要一个接口电脑、接口数据库等,现在上述的四个问题不再困扰我们。

2:我们之前的业务数据库大概有二百多张表,一年左右会因需求变动对表结构做些调整,当然也影响到了应用程序代码的调整,现在我们的业务数据库大概有不到五十张表,因为一些容易发生需求变动的表和一些半结构化、非结构化的数据被存储为数据库表内的XML字段,需求变动仅影响我们去修改一下Schema,不用去动数据库结构,这对已经部署到用户那边的系统来说是非常重要的改进。不仅如此,表数量的减少对开发人员、业务人员、数据库管理人员非常有益。

3:说了两点XML的好处,那么我再说说它作为数据存储方面目前无法替代 数据库的地方:
  XML缺少数据库具备的特性:高效的存储(即使是数据库内XML字段还是没有传统字段的速度快)、索引和数据修改机制(DB2等数据库产品对XML内的元素和属性可以加索引,内建在数据库中的XML字段享受了数据库带来的一些好处);严格的数据安全访问控制;完整的事务和数据一致性控制;多用户访问机制;触发器、完善的并发控制等因此,用户量大、数据集成度高以及性能要求高的数据环境中还是需要数据库来完成任务,IBM的DB2工程师也在讨论时建议我们统计类数据还是用传统字段为好。

  总之,现在XML对数据库是一个很好的补充,大的数据库厂商都在数据库产品里内置了对XML的支持,这样将XML与数据库配合使用,将让他们相互配合利用各自发挥出威力,也提高也我们信息产品的灵活性。
 

作者: kinzey34   发布时间: 2009-02-18

该回复于2009-11-16 09:03:50被管理员删除

  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
#5楼 得分:0回复于:2009-04-28 09:09:29
mark

作者: crskyp   发布时间: 2009-04-22

楼主所谓的数据库肯定是说一般用的关系型数据库,如果你喜欢也可以把XML叫做一种数据库,这是一种新概念上的数据存储方式,
而且有统一的规范被各种大型关系型数据库所支持转化。
xml的发展是迅速的,不断成熟的标记很难说以后会发展成什么程度,就我而言我没把它当成一种辅助工具,它灵活方便,应用返回广
一种新的理念的数据库早晚要取代现在问题诸多的关系型数据库。

作者: wywgk   发布时间: 2009-04-28

呵呵 我也正在找这些方面的资料。
找到的不多。路过也来看看。

作者: yearn520   发布时间: 2009-04-29

学习了!

作者: wanyoulin   发布时间: 2009-04-30

Google到这个地方,学习一下~

作者: lyq870806   发布时间: 2009-05-16

帮顶

作者: shmilyxbq   发布时间: 2009-08-28

个人觉得, xml 除了作为存贮数据 方面来讲 还主要应用在 分布式 通讯等方面, 但是效率还是有点问题

作者: kiss_majun   发布时间: 2009-08-31

这是风牛马不相及的两个概念,他们的结构,应用范围是完全不同的,目前的数据库基本上都是关系型数据库,以sql与oracle为代表,都是非常大型的,可以进行数据的海量存储;而xml主要解决的是数据在网上传输标准的问题,把原来各种各样的数据孤岛可以通过xml这座桥梁连接起来,所以打个比方,数据库就好比是盛数据的桶,而xml则是数据传输转换的桥梁,所以数据库是数据库,xml是xml,二者是截然不同的,当然二者也存在非常紧密的联系,毕竟都是处理数据的工具,就是很多其他的数据格式可以通过xml输入到数据库中,数据库中的关系型数据也可以通过xml转化成其他的数据格式
所以,不要因为他们都与数据有关,就把他们混为一谈,就好比楼和猪舍都是砖砌的,是不是二者就是一样的呢

作者: zhongjiekangping   发布时间: 2009-08-31

受益!!!!

作者: hangang7403   发布时间: 2009-09-04

个人理解,一个数据化,一个实例化

作者: onlyyingzi   发布时间: 2009-12-10

我也在找,帮顶!!!!!

作者: yao_ming_01   发布时间: 2009-12-10

受教

作者: shandongperson   发布时间: 2009-12-10

上面已经说很多了,补充一下,xml是文档形式,利于长久保存,而且只要命名做的好,可读性就会很高;再者,数据库是关系型数据库,某些关系是数据库表现不出来的,可以用xml,而且xml形成schema之后转化.cs很方便,不用自己处理(嘿嘿,这是我自己认为的方便之处啦)

作者: sdnjwang   发布时间: 2009-12-18

学习了 帮顶

作者: shuli198869   发布时间: 2009-12-19

帮顶。。。。。。

作者: lxm200607060125   发布时间: 2009-12-20

是的,xml比数据库占用资源少,且更简单一些

作者: hello_lijingpan   发布时间: 2009-12-26

不知所云。。。。完全两个不相同的概念

作者: fanxiufanqinhua   发布时间: 2010-01-08

xml和数据库还是有很大差别的,应用的方向都不一样

作者: fanshaoer   发布时间: 2010-01-08

学习了。xml和数据库有比较大的差别

作者: mbh0210   发布时间: 2010-01-09

我在找这方面的资料,路过受益了

作者: samyou   发布时间: 2010-02-11

路过,学习下,xml形成schema之后转化.cs 是做什么的谁能解释下。

作者: mengnanre   发布时间: 2010-03-03

我也正在做这方面的实习,
XML数据库--->关系数据库的转换.我也是浅表之学.希望与大家交流

作者: zpjpiaoling   发布时间: 2010-03-06

XML 是独立于软件和硬件的信息传输工具,被设计用来传输和存储数据。世界统一认可,交流起来比数据库要方便。

作者: koch_129   发布时间: 2010-03-07

在严格意义上XML是指XML文档,如果在数据量一般、用户较少、性能要求不高的环境下可以把XML当作数据库来使用。http://hi.baidu.com/lewutian/blog/item/2899edd92460bee239012fb6.html去参考参考吧.

作者: LU0XUEFEIHUA   发布时间: 2010-03-10

xml文件是静态的~安全可靠!

作者: cyuyang   发布时间: 2010-03-13


路过顶下

作者: tntooo   发布时间: 2010-03-15

学习了

作者: ktf1410   发布时间: 2010-03-16

年初的帖子了呀,路过学习下。。。

作者: fujingrun   发布时间: 2010-03-16

xml主要目的不是为了存储数据,而是制定了一个数据交换的标准,因为不同的数据库的存储方式等等都有点不一样,而xml交换的话,就能够消除这些差异

如果使用xml来存储数据,只能存少量,只适合一些小型的应用,是不能与数据库相提并论的

作者: huang462028247   发布时间: 2010-11-22