数据库中的pureXML优点介绍 (数据库中的primary key)

教程大全 2025-07-18 18:22:47 浏览

关系数据库中的***代 XML 支持是切分(或分解)文档,以适应关系表格或将文档原封不动地存储为字符或二进制大对象(CLOB 或 BLOB)。这两个方法中的任一种都尝试将 XML 模型强制转换成关系模型。然而,这两种方法在功能和性能上都有很大的局限性。混合型模型将 XML 存储在类似于 DOM 的模型中。XML 数据被格式化为缓冲数据页,以便快速导航和执行查询以及简化索引编制。

pureXML在以下领域具有显著优势:

存储:pureXML 技术将以“节点级”(而非“文档级”)粒度存储 XML。在数据库中,物理存储层的主要存储单元是节点。每一页中都存在一个节点,而其它的节点则来自相同或不同的文档。每个节点不仅连结其父节点,还连结其子节点。

因此,浏览到某个节点的父项、同级项或子项的效率都非常高,只要下一个引用的节点在同一页,其遍历速度将比指针的遍历速度还要快,无需重写整个文档即可增加或减少节点,或者将节点重新部署到其它页。

索引机制:管理着数百万的 XML 文档的 XML 应用程序并不罕见,因此要提供高查询性能就要为大量的 XML 数据编制索引。DB2 支持在 XML 列上建立路径特定的索引,因此元素和属性常用作谓词,且可以编制跨文档连接的索引。

新的 XML 值索引可有效评估XML 模式表达式,从而提高 XML 文档的查询性能。与传统的关系索引相比较,在关系索引中,索引键由用户指定一个或多个表格列组成,而 XML 值索引则使用特定的 XML 模式表达式(XPath 的子集,XPath 不包含谓词等等)来编制路径和 XML 文档(存储在一个 XML 列中)中的值的索引。如果值不是在文档中指定的,则该索引还可以在插入时通过模式来填充默认的属性和元素值。

创建索引时,您可以指定要编制索引的路径和索引类型。可以编制与存储在该列中的 XML 文档中的路径表达式以及路径表达式集匹配的任何节点的索引,而且该索引可以直接指向存储中的节点(它与其父节点和子节点连接以便于快速浏览)。索引条目并不是提供访问文档开头的索引,而是包含实际文档节点的位置信息。因此,该索引可以快速直接访问文档中的节点,并避免文档遍历。

查询:XQuery,即查询 XML 数据的一种新语言,用于处理不同的模式,包含诸如序列(而非 SQL 中的集)、多嵌套序列和稀疏属性。XQuery 还可以支持不同种类的模式以及动态的结构更改。

IBM 实施不包含独立的 XQuery 或 XPath 处理程序。基本的 XQuery 和 XPath 直接嵌入到查询引擎中。该查询编译器自身是双语的,带有两个可互操作的查询语言解析程序 — 一个用于 SQL,另一个用于 XQuery — 以产生查询图表模型(用于处理关系和 XML 数据)的新变量。因为中间的查询表达法是中性语言,XQuery、SQL 以及 XQuery 与 SQL的组合将编译成同样的中间表达法,经过同样的重写和转化,以类似的方式优化并产生类似的可执行代码。无论使用什么语言来指定查询设计,此过程都将产生***的互操作查询设计。

因为这两个解析程序可以相互操作,所以您可以在同一语句中混合使用 SQL 和 XQuery,从而使搜索功能更强大:在 XML 文档中进行查询并从 SQL 返回其片断。

【编辑推荐】


关于冰箱的工作原理

冰箱的工作原理 参考网站:一, 电冰箱致冷的原理和种类 共有下列9种致冷的原理 (1) 压缩式电冰箱: 由电动机提供机械能,通过压缩机对致冷系统作功. 致冷系统利用低沸点的致冷剂(或称冷媒),蒸发时,吸收汽化热的原理制成的. 优点:寿命长,使用方便, 目前世界上 91~95% 的电冰箱属於这一类. 电冰箱致冷的原理和种类 (2) 吸收式电冰箱: 该种电冰箱利用热源,如煤气,煤油,电等作为动力. 利用氨-水-氢混合溶液在连续吸收-扩散过程中达到致冷的目的. 其缺点是效率低,降温慢. 现已逐渐被淘汰. (3) 半导体电冰箱: 利用PN型半导体通以直流电,在结点上产生珀尔帖效应(Peltier effect)的原理来实现致冷的电冰箱. 现许多电子电路和微型仪器常采用此方法散热. (4) 化学冰箱: 利用某些化学物质溶解于水时,强烈吸热而获得制冷效果的冰箱. (5) 电磁振动式冰箱: 用电磁振动机作本动力来驱动压缩机的冰箱.其原 理,结构与压缩式电冰箱基本相同. (6) 太阳能电冰箱: 利用太阳能作为制冷 能源的电冰箱. (7) 绝热去磁制冷电冰箱 (8) 辐射致冷电冰箱 (9) 固体致冷电冰箱 二,压缩式冰箱的组成 压缩机 冷凝器-热交换管 乾燥筛检程式 毛细管-气体膨胀阀 蒸发器. 制冷系统由五各基本单元所组成 二, 压缩式冰箱的组成: 压缩机的功用: 用以补充能量,把蒸发器中低温低压的冷媒(Freon,氟利昂)经蒸汽压缩机被压缩成为高温高压的过热蒸汽,而后送入冷凝器中. 冷凝器的功用: 是把高温高压的蒸汽冷凝成为高压常温的液体,并放出大量的热量. 乾燥筛检器的功用: 吸收氟利昂中的水分,防止冰堵,并过滤制冷系统中的杂质,防止脏堵. 二, 压缩式冰箱的组成: 毛细管的功用:有两个功能, 其一是节流,控制制冷系统的氟利昂回圈量; 其二是降压,保证冷凝器中的压力满足冷凝压力,而蒸发器中的压力满足蒸发压力. 蒸发器: 是制冷系统制取冷量的地方,是液态氟利昂蒸发汽化为气体,吸收大量汽化热的场所. Five basic parts of any refrigerator (or air-conditioning system) 所有致冷机必需具备的五大基本单元 Compressor (压缩机) Heat-exchanging pipes (热交换管) or Condensor (冷凝器) - serpentine or coiled set of pipes outside The unit Expansion valve (膨胀阀) Heat-exchanging pipes or evaporator (蒸发器)- serpentine or coiled set of pipes inside the unit Refrigerant (冷媒) - liquid that evaporates inside the refrigerator to create the cold temperatures Refrigerant (冷媒) Many industrial installations use pure ammonia as the refrigerant. 许多致冷机常使用纯氨(阿莫尼亚)做为冷媒 Pure ammonia evaporates at -32oC 纯氨冷媒的蒸发温度在一大气压下为-32oC Basic Mechanism of a Refrigerator Works 致冷机运作的基本机制 A.冰箱内部 热交换管 冰箱内的热交换管: 1.管中为低压低温冷媒 2.管中的低温冷媒和冰箱内部的热空气交换热量,以降低冰箱内空气的温度. 3.为等压热交换过程 冷媒流动的方向 B.压缩机: 1.准等温压缩过程 2.将回流回来的低压冷媒加压成高压冷媒,甚或液化成液态冷媒. C.毛细管式的膨胀阀: 1.在此进行绝热膨胀的热力变化物理过程 2.将高压冷媒或液化冷媒经此阀,突然膨胀为低温低压冷媒,甚或使之气化为气态低温冷媒. 使用寿命 由於电冰箱是高档耐用品,故使用寿命是一项重要指标. 所以在设计时,从结构,选材,制造工艺等项,都对寿命做了周密的考虑. 根据发展形势,经济条件和生活水平出发,目前电冰箱的设计,应不低於15年. 国外电冰箱,由於新款式,新品种不断更新换代,在设计上,往往采用较短的使用期限. 市售电冰箱的小常识 1. 单门电冰箱,双门单温电冰箱和双门双温电冰箱的差异 单门电冰箱:只有一扇门的电冰箱,有一个蒸发器,其内可存放少量冷冻食品,是最早流行的一种冰箱,目前市场上已逐渐消失. 双门单温电冰箱:具有二扇门,但只有一个蒸发器的冰箱.内部结构与单门电冰箱相同,故也有人称之为假双门. 双门双温电冰箱:有两扇门,两个蒸发器的电冰箱,其中一个蒸发器安装在冷冻室内,具有四星级冷冻能力,另一个蒸发器安装在冷藏室内.目前流行此种电冰箱. D.电冰箱上星级符号的意义 表示电冰箱冷冻部分储藏温度的级别 标记电冰箱冷冻室内温度的一种国际统一的标准. 每个星表示电冰箱冷冻室内储藏温度应能降-6℃的温差,且冷冻食物的储藏时间需达一周. 例:三星级电冰箱,表示电冰箱冷冻室内储藏温度应达到-18℃以下,并具有对一定量食品的速冻能力. 简单地讲,冷冻能力表示原在25℃的一定量瘦牛肉,经过24小时可冷冻至-18℃以下的特徵. E.直冷式和间冷式电冰箱 电冰箱的冷却方法分直冷式与间冷式 两种. 直冷式电冰箱: 利用冰箱内空气自然对流的方式冷却食品的. 因为蒸发器常常安装在冰箱上部, 蒸发器周围的空气会与蒸发器产生热交换,空气把热量传递给蒸发器,蒸发器把冷量传递给空气. 空气吸收冷量后,温度下降,密度增大,向下运动. 冰箱内下部的空气要与被冷却食品产生热交换,食品把热量传递给空气;空气得到热量后,温度回升,密度减少,又上升到蒸发器周围,把热量传递给蒸发器. 冷热空气循环往复地自然对流,从而达到制冷目的. 间冷式电冰箱 间冷式电冰箱: 蒸发器常采用翅片管式, 放置在冷冻室与冷藏室之间的夹层中或箱内后上部. 利用一只小型风扇强迫箱内空气对流,以达到冷却的目的. 绝大多数的电冰箱是直冷式电冰箱,间冷式电冰箱的产量比较少. 无霜/有霜电冰箱 为什麼无霜强冷式电冰箱比有霜直冷式耗电量大 有霜型是人工除霜,不需电热. 无霜型装有150W的电热器用以除霜,每天加热2~3次,每次 20~3O 分钟. 在两个容积相同的电冰箱中,无霜强冷式比有霜直冷式耗电量大,故无霜型耗电量大. 强冷式和直冷式冰箱的耗电量比较 强冷式装有风扇,强迫冷空气对流,使箱内降温. 直冷式则靠箱内冷空气自然对流. 经测试,同容积强冷式比直冷式耗电量多10%. 无氟双绿色冰箱 指冰箱的制冷剂和箱体保温发泡材料不使用会破坏环境的氟氯烃物质(氟利昂, Freon) 改用替代物,不再污染环境. 按国际惯例,这种电冰箱可以称之为双绿色,即减少氟利昂含量100%, 是一种完全符合国际环保要求的新型电冰箱. 为什麼还要推广无氟电冰箱 有氟电冰箱的使用效果不错,为什麼还要推广无氟电冰箱 科学家近年发现,制冷工业广泛使用以及会泄漏的氟利昂,造成大气臭氧层空洞性损害,导致超量紫外线会危害人类健康,如视力减弱,白内障,皮肤癌等患者增多,生态平衡受到破坏等等. 为此,1987年联合国组织各国签订的《蒙特利尔协议书》宣布氟利昂为受控物质,原本规定最迟2000年停止使用.随著日后氟利昂危害的日趋严重,国际社会决定将停用氟利昂的时间提前至1996年. 带著冰凉上路-车载冰箱 当驾车出游,一台好用的车载冰箱无疑是件不错的工具.介绍三类典型的车载冰箱: 冷触媒型 冷藏型 压缩机型 车载冰箱的原理和制造的技术品质不同,故价格的差异也非常大,从几百元到上万千元不等.根据不同的需要,选择最适合的车载冰箱,才是最终选择的依据. 冷触媒型 冷触媒型车载冰箱体类似保温旅行包 内置隔温材料,冰箱由冷触媒实现制冷. 在使用前,需要把冷触媒材料先放入家用冰箱冷冻10小时以上,然后才把冷触媒移置车载冰箱内. 依靠冷触媒吸收热量,实现制冷功能. 优点:冰箱重量较轻,便於携带,无需接电,价格便宜 缺点:准备工作复杂,制冷时效有限 冷藏型 _冷藏型车载冰箱使用塑胶外壳金属内胆,有隔热层,类似保温杯. 可以接12V车载电源,最低制冷温度为O℃. 优点:冷藏效果好.价格适中 缺点:制冷能力有限 __ 压缩机型 此种车载冰箱同样使用塑胶外壳内胆,但装备微型冰箱压缩机,因而是真正意义上的冰箱. 可以接12V车载电源,实现冷藏和冷冻. ① 优点:具真正冷藏,冷冻功能,使用方便 ② 缺点:重量沉,不易携带,价格偏高 车载冰箱的原理和制造的技术品质不同,故价格的差异也非常大. 从低端的几百元,到高端的几千元不等.根据不同的需要,选择最适合的车载冰箱,才是最终选择的依据.

c# 对象二进制序列化

本质上说,这并不是二进制序列化的问题,甚至不关序列化的问题。 你想要的是在两个内部结构一致但在不同命名空间(甚至不同项目)的同名类间做类型转换。 这个问题很常见,因为实际工作中经常会有此类需求,但是我们又不可能手动的把每个字段的值都抄来抄去。 解决此问题的方法很多,但都逃不开一个关键思想:A不知道B的存在,B不知道A的存在,那么我就找出一个C,只要A和B都能以C的形式表示,那么转换就不是问题。 这里的C是概念上的一个标准,用于当做A和B转换的桥梁。 普遍的解决方法:1. 如一楼所说,XmlSerializer序列化器能够将一个可Xml序列化的类A的“内容”部分抽取出来序列化成Xml片段,也能够将其反序列化为一个符合该Xml“格式”的类B。 代码如下。 序列化端=(typeof(classA));=(@c:\,);(stream,newclassA{i=10,s=hello});();反序列化端=(typeof(classA));classAb=(classA)((@c:\,,));打开c:\,我们可以看到中间传输的内容是10 hello 这表明了传输的内容只关注类名和共有属性/字段。 所以在反序列化端,只要我们有同样结构的同名类classA,是可以直接从Xml流进行转换的。 当然使用内存流、字节流等都是可以的。 这里一定要切记三点:同名同结构(指共有字段/属性部分)的两个类,以及只能序列化公有字段和属性,两个类都必须有默认构造方法。 Xml序列化的优点在于只序列化必要部分且消耗较少,常用于序列化DataTABLE等结构。 2.第二种方法是使用接口。 也许你的两个类分处不同的命名空间或者不同项目,但是只要都能访问到同一interface,那么我们可以稍微费点功夫写一个两个都“认识”的接口,通过接口来转换对象。 public interface dataInterface { int i{get;set;} string s{get;set;} } [Serializable] public class classA : dataInterface { public int i{get;set;} public string s{get;set;} } [Serializable] public class classB : dataInterface { public int i{get;set} public string s{get;set;} }如此,不管classA和classB在哪里,只要你认得dataInterface,那么就可以用其来传输、访问和转换。 传输的过程相比xml序列化就灵活多了,你可以使用socket、文件、消息、甚至共享内存等等手段来传输,序列化也可以使用万能的二进制序列化,因为你传出和接受的,都是dataInterface对象而已。 序列化端(二进制序列化+文件传输举例): formatter = new (); fs = new (@c:\tmp, , ); (fs, (new classA { i = 10, s = hello })); ();反序列化: dataInterface data = (dataInterface)(new (@c:\tmp, , ));此方法优缺点显而易见。 优点是无视两个类的位置、无需同名同结构,缺点是有额外工作(写接口)外加反序列化后只能得到接口不能得到classB。 额外注意,上例中使用的二进制序列化需要在类上标记[Serializable]。 除此之外还有很多种方法可以做跨域类型转换,但并不常用,这里就不再敖述了。

使用xml的优点和缺点是什么?

数据库中的pureXML优点介绍

1)XML可以用于本地计算的数据。 传递到桌面的数据可以进行本地计算。 XML解析器可以读取数据,并将它递交给本地应用程序(例如浏览器)进一步查看或处理。 数据也可以由使用XML对象模型的脚本或其它编程语言来处理。 2)可以为用户提供正确的结构化数据视图。 传递到桌面的数据可以以多种方式表示。 本地数据集,可以根据用户喜好和配置等因素,以适当的形式在视图中动态表现给用户。 3)允许集成不同来源的结构化数据。 使用代理可在中间层服务器上集成来自后端数据库和其它应用程序的数据,使该数据能够传递给桌面或者其它服务器,做进一步处理。 4)描述来自多种应用程序的数据。 由于 XML 是可扩展的,因此它可以用于描述来自多种应用程序的数据,即使没有数据的内置描述,也能够接收和处理数据。 5)通过粒度更新来提高性能。 XML 允许粒度更新。 开发人员不必在每次改动时都发送整个结构化数据集。 有了粒度更新后,只有改变的元素才从服务器发送到客户机。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐