Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
就SQL而言,使用XML的优势是什么?_Sql_Xml_Database_Coldfusion - Fatal编程技术网

就SQL而言,使用XML的优势是什么?

就SQL而言,使用XML的优势是什么?,sql,xml,database,coldfusion,Sql,Xml,Database,Coldfusion,我见过一些关系数据库,其中XML直接反映了SQL,我想知道是否有人能告诉我为什么人们使用XML而不是其他选项。我的印象是,这更像是个人偏好,但一位同学告诉我,XML被认为“更好”,即在某些情况下效率更高。所以我想向你们提出这个问题,因为坦率地说,我需要第二种意见 问题是:什么时候用XML代替ColdFusion或PHP(或其他替代方案)?哪些固有优势使其成为更理想的选择? 例如,XML可能是这样的: <data> <dataObject name="Test">

我见过一些关系数据库,其中XML直接反映了SQL,我想知道是否有人能告诉我为什么人们使用XML而不是其他选项。我的印象是,这更像是个人偏好,但一位同学告诉我,XML被认为“更好”,即在某些情况下效率更高。所以我想向你们提出这个问题,因为坦率地说,我需要第二种意见

问题是:什么时候用XML代替ColdFusion或PHP(或其他替代方案)?哪些固有优势使其成为更理想的选择?

例如,XML可能是这样的:

<data>
<dataObject name="Test">
    <primaryKey>Num</primaryKey>
    <foreignKey dataObject="Test" key="Num"/>
    <datums>
        <datum type="integer" key="itemRecnum" label="Item Recnum" data="required"/>
        <datum type="string" key="status" label="Status" data="required"/>
        <datum type="integer" key="idnumber" label="ID Number" data="required"/>
    </datums>
    <constraints/>
</dataObject>
</data>

号码
因此在SQL server中,每种类型都有1-1对应关系,每种数据类型都是一列

有人能解释一下使用XML从数据库中提取数据的优点吗?这里到底发生了什么,为什么在CF或PHP上使用它?它是如何从数据库中推拉的


如果你把这两者混在一起呢?也许可以将coldfusion用于插入,而xml仅用于视图

XML的目的是将数据存储在平面文件中, 人类可读(XML在实体的文本命名方面有巨大的开销。而且它不是人类可读的,它是一种传输媒介),易于访问的形式。访问XML的方法 数据“存储”非常健壮,并且一直在发展,包括 微软提出的关于“XQL”的提案,这是一种SQL等价物,旨在 操作XML数据存储。 XML非常简单,它本身就可以用作数据库——事实上,这是一个非常灵活的数据库:您的XML实现可以通过标记和不同的库数组进行无限定制。另外,如果数据库损坏,您可以在几乎任何文本编辑器中打开它——毕竟它是一个文本文件。然而,XML有一个主要缺点:在处理数据时,它比SQL慢,并且需要更多的资源来运行


关于ColdFusion&XML,您可以阅读

,XML获胜的地方是,如果您有一个业务对象(比如一家酒店)的数据分散在20个表中,并且您希望将该数据发送给一个将数据以完全不同的方式组织到16个具有不同结构的表中的人。XML允许您在一条消息中捕获有关对象的所有信息,该消息独立于数据库的设计,可能符合某些行业标准,如OTA,并将其加载到具有完全不同设计的不同数据库中


另一方面,如果您的XML与SQL数据库设计中的表和列紧密相连,那么您就不会从中获得太多价值。

I A/B使用缓存的XML产品文件测试了一个非常繁忙的站点,而不是缓存一个非常大的查询,或者缓存较小的单个查询,到目前为止,XML每次都表现最差。读取文件、查找特定记录,然后解析数据所花的时间使服务器瘫痪。如果您手头有一个数据库,并且希望建立一个数据密集型的网站,我强烈建议您避免使用XML,除非您出于某种目的将XML存储在数据库中


如果你真的在为一个网站寻找平面文件系统,我会研究NoSQL数据库,比如MongoDB或CouchDB,有一些Coldfusion驱动程序和CFC,它们是为这些系统编写的。

XML是一种数据存储机制。ColdFusion和PHP是数据处理语言。XML不会从数据库中提取数据。人们用XML存储数据有很多原因。这里讨论了一些原因:


PHP和XML与XML一起工作,ColdFusion也是如此。如果你想把XML转换成一个最终用户的东西,你可能会想。

这是我认为一个好的Q核心,但有一种意见或态度。您可能想让它更具体地用于一个确定的用例,而不是关于“哪一个更好”?好的,重点是。让我重新措辞。那么,为什么要在CF或PHP上使用XML呢?有哪些固有的优势可以使它成为一个更有效的选择?仅供参考,我之所以提到它,是因为一些人现在投票决定结束这个问题。我建议尽快清理它:)Jorblume,把它放在问题中,而不是评论中。好的想法是使用XML从SQL数据库中提取,而且它会比使用CF或PHP更有效。我不会说我想用一些XML等价物替换SQL。但是感谢您的输入如果您使用.NET,您可以直接提取XML。NET为您提供了LINQ和XLINQ,这是查询sql和xml的健壮方法