详细讲解XML数据库中几个容易混淆的概念

xml|概念|数据|数据库

    当开发人员谈及XML数据库时,他们往往指的是两个概念:存储XML数据的数据库,利用XML数据库的DBMS。绝大多数主要的DBMS产品允许你无需改变现有的数据库就可以集成XML数据到程序中。现在让我们讨论一下XML数据库并探讨其特性。

 原始的XML数据库

 一个原始的XML数据库(NXD)可以是很简单,也可以是很复杂。我这样定义一个数据库的概念:永久稳定数据的集合。在这样的定义下,一个NXD能在逻辑上存储一个XML文档。当XML:DBinitiative对一个NXD还有更多的要求时,我想以上的定义也可以满足。

 以下的代码行可以用作于一个NXD:

〈?xml version=”1.0”?〉〈diet〉〈meal mealName=”breakfast”〉〈item itemName=“toast” unit=”slice” quantity=“2” /〉〈item itemName=“bacon”unit=”strip” quantity=“2” /〉〈/meal〉〈/diet〉

 很显然,数据的集合以XML格式存储。如果它被存放在一个flat文件,它也会满足我们对NXD的定义:永久稳定数据的集合。

 一个NXD使用相同的方式来存储XML文档(比如:flat文件,关系数据库或级别数据库,对象数据库)。

 Flat文件

 一个简单的flat文件是一个最简单的XML数据库模型。作为一种“变种”,你可以存储很多XML文档在一个目录层次。为了扩展前面的范例,看看以下的模型:

DietsDietsAtkinsDay1.xmlDay2.xmlDay3.xmlDay4.xmlDiets3DayDietDay1.xmlDay2.xmlDay3.xml

 Diets目录包含了子目录,并且每一子目录很多XML的flat文件。

 关系数据库

 关系数据库中的XML数据库可以分为三种模型:coarse-grained(粗糙纹理型), medium-grained(中等级别纹理型),或 fine-grained(优良纹理型)。

 coarse-grained(粗糙纹理型)模型在逻辑上与flat文件模型有些不同。你可以使用一个关系数据库来存放每一个XML文档。例如,以下的代码可以存放一个XML文档:

Create table diets( dietName varchar2(30),xmlDocument varchar2(32000))

 fine-grained(优良纹理型)模型将XML文档的每一成分映射到关系数据库中。为了能够将flat模型转移到关系数据库,你必须使用两种改变方式。对以上的范例,你不能再使用子目录名来代表diet的名称,你也不能再使用文件的名称来传递diet的日期。表A显示了diet的XML文档的文件类型定义(DTD);表B显示了将DTD映射到关系表的数据定义语言(DDL)。除此之外,表C还包括了相应的XML语法。

 medium-grained(中等级别纹理型)模型介于coarse-grained(粗糙纹理)模型与 fine-grained(优良纹理)模型之间。使用这一模型,你可以将信息存储在meals 表的xml_items列中。

 对象数据库

 你也可以通过使用一个对象数据库来执行NXD。有些对象数据库是基于文档对象模型(DOM),这允许XML与数据库有紧密的结合。例如,一旦你提供一个食物方面的DTD,你可以开始保存这些食物,而不需要额外的配置。

 数据库管理系统

 对于DBMS,你可以有多种选择。你可以通过使用开放程序如eXist或Ozone来建立自己的DBMS,或者购买商业产品如Tamino XML Server。

 绝大多数关系数据库卖主都使他们的数据库能够使用XML,至少的,XML数据库(XEDBs)能够返回XML文档查询的结果。另外很多也可以保存XML数据。例如,Oracle 提供了一个XML剖析器,一个Xpath引擎,一个XSLT处理器,一个XMLSQL工具,以及使用XML的方法。

 所以,使用关系数据库存储的NXD和存储XML数据的XEDB有什么区别呢?一个NXD是基于XML文档概念而建立,而XEDB与其它没有过多的关联。而且,很多规范适用于NXD,而DBMS只适用标准的查询和存储数据的XML文档,比如Xpath。

 XML数据库不是新概念

 XML数据库在逻辑观点上不是新概念,虽然在逻辑执行上是新的。如果你想要执行一个XML数据库,你可以使用NXD,XEDB,或者是二者的结合。然而,如果你所在的公司对现有的数据库已经有一定的投资,你所做的第一个调查就是核实你的DMBS卖主是否提供使用XML的工具。无论你使用的哪一种XML数据库方式,你都要非常理解每一种数据库的特性,这才是最重要的。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索xml
, 文档
, 数据库
, 模型
, 纹理
, c# data diet
一个
数据库混淆、android 数据库 混淆、混淆概念、混淆概念违反、翻译研究中的概念混淆,以便于您获取更多的相关知识。

时间: 2025-01-21 12:36:24

详细讲解XML数据库中几个容易混淆的概念的相关文章

XML数据库中几个容易混淆的概念

xml|概念|数据|数据库   当开发人员谈及XML数据库时,他们往往指的是两个概念:存储XML数据的数据库,利用XML数据库的DBMS.绝大多数主要的DBMS产品允许你无需改变现有的数据库就可以集成XML数据到程序中.现在让我们讨论一下XML数据库并探讨其特性. 原始的XML数据库 一个原始的XML数据库(NXD)可以是很简单,也可以是很复杂.我这样定义一个数据库的概念:永久稳定数据的集合.在这样的定义下,一个NXD能在逻辑上存储一个XML文档.当XML:DB initiative对一个NXD

XML数据库中几个容易混淆的概念_XML/RSS

当开发人员谈及XML数据库时,他们往往指的是两个概念:存储XML数据的数据库,利用XML数据库的DBMS.绝大多数主要的DBMS产品允许你无需改变现有的数据库就可以集成XML数据到程序中.现在让我们讨论一下XML数据库并探讨其特性. 原始的XML数据库 一个原始的XML数据库(NXD)可以是很简单,也可以是很复杂.我这样定义一个数据库的概念:永久稳定数据的集合.在这样的定义下,一个NXD能在逻辑上存储一个XML文档.当XML:DB initiative对一个NXD还有更多的要求时,我想以上的定义

详细讲解Linux系统中动态DNS的配置过程

在大多数家庭网络环境,通过DSL或者Cable Modem连接网络的主机IP地址都是通过DHCP获得并随时间经常改变,这会给DNS解析带来问题.第18章"comfigurition DNS"一节中假定的服务器地址是固定不变的.因此,产生了两大类DNS: "静态DNS"当ISP为你提供固定不变的静态IP地址时,你的DNS服务器作为你的站点认证信息源.你可以把静态DNS看作是DNS的"传统"或"常规"模式. "动态DNS

javascript中几个容易混淆的概念总结_javascript技巧

1. var name = "The Window"; var object = { name : "My Object", getName: function(){ return this.name; } }; 这里的getName()方法只简单地返回this.name 的值.以下是几种调用object.getName()的 方式以及各自的结果. object.getName(); //"My Object" (object.getName)(

【IOS-COCOS2D-X 游戏开发之十三】详细讲解在XCODE中利用预编译并通过JNI调用ANDROID的JAVA层代码(COCOS2DX里访问调用ANDROID函数)!

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/android-game/725.html 很多看过之前Himi的[iOS-cocos2d-X 游戏开发之七]整合Cocos2dX的Android项目到Xcode项目中,Xcode编写&编译代码,Android导入打包运行即可! 博文的童鞋都在问我如何在Xcode中能调用Java的函数,比如在Android端需要加入广告.支付.等第三方平台或者

讲解Oracle数据库中结束死锁进程的一般方法_oracle

1.查看死锁1)用dba用户执行以下语句 select username,lockwait,status,machine,program from v$session where sid in (select session_id from v$locked_object) 如果有输出的结果,则说明有死锁,且能看到死锁的机器是哪一台.字段说明: Username:死锁语句所用的数据库用户: Lockwait:死锁的状态,如果有内容表示被死锁. Status: 状态,active表示被死锁 Mac

详细讲解网页制作中常用的图像替换技术

网页 一.实际应用 略 二.图像替换 我们并不总是要文字呆在背景图像之上,很多作品都故意隐藏了标题等元素中的文本,取而代之的是一幅生动的图像. 设计师能够用一张背景图像替代某元素中的原始文字,以期显示出更美观的字体.为了表示对发明者Todd Fahrner的尊重,这个技巧随后也被叫做"Fahrner图像替换(Fahrner Image Replacement,FIR)".该技巧的实现非常简单:用span将元素中的文本包围起来,然后通过应用CSS样式隐藏这个span中的文本,最后将背景图

讲解Oracle数据库中的数据字典及相关SQL查询用法_oracle

Oracle数据字典概述   数据库是数据的集合,数据库维护和管理这用户的数据,那么这些用户数据表都存在哪里,用户的信息是怎样的,存储这些用户的数据的路径在哪里,这些信息不属于用户的信息,却是数据库维护和管理用户数据的核心,这些信息就是数据库的数据字典来维护的,数据库的数据字典就汇集了这些数据库运行所需要的基础信息叻.每个数据库都提供了各自的数据字典的方案,虽然形式不同,但是目的和作用是一样的,比如在mysql里数据字典是在information_schema 里表现的,sqlserver则是在

ZT:处理Oracle数据库中一张有效的Drop大表

http://www.chinalinuxpub.com/read.php?wid=1623 好像这个文章涉及的表空间是本地管理的表空间. 本文中通过详细步骤来讲解Oracle数据库中有效的Drop表. 一.流程简介 1.先不直接使用Drop table命令,取而带之用带有REUSE STORAGE子句的Tuncate table命令.因为没有Extents要被回收,Trunate table命令执行很快,只是段的highwater mark简单的被调整到段头的block上. 2.使用带有KEE