




已阅读5页,还剩46页未读, 继续免费阅读
(计算机软件与理论专业论文)xml的数据转换研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东大学硕士学位论文 摘要 随着网络技术的不断发展,越来越多的信息资源可以通过网络得到更广泛的 利用。x m l ( e x t e n s i b l em a k e u pl a n g u a g e ) 作为应用之间的数据传递媒介,可以 完全忽略应用双方的平台差异和数据存储模式差异,由于它的这种特性,近几年 来,x m l 已经越来越广泛的应用于各个领域中,作为数据交换的主要技术。在应用 中,大部分数据以关系模式的形式存储在关系数据库中。为了发挥x m l 在数据交换 中的能力,就需要一种工具能将关系数据库中的数据转换成x m l 的形式。 由于比较缺乏从关系数据库向) ( m l 转换的用户接口,本文提出一种灵活的用户 接口v r t x m l ( v i s u a lr e l a t i o n a lt ox m l ) ,以形成s q l 查询。该接口能使选定的 部分关系数据库相对容易地转换到x m l ,同时介绍了该接口的概念、操作和算法。 v r t x j v l l 向用户提供若干操作使用户可利用e e r 逻辑图建立可视化查询;这些操 作包括选择基本关系和属性、指明滤出属性和嵌套类型。用户在建立可视化查询 后可转换指定的关系数据到咀。文档和获取相应的x m l 膜式,用户同样可以返回 修改他们在e e r 逻辑图上的指定查询以及获取新的相应x m l 文档和模式 在关系数据转换到儿数据输出的构架的基础上。以中间件技术为依托提出 了一个关系数据转换成血输出的中间数据转换模型,支持简单的用户的数据输 入和用户操作,可以生成相对应的s q l 查询和v i l 模板。 x m l 视图是数据库中数据的x m l 格式的表示,但是因为关系模式和x m l 模式有所 不同,在数据转换的过程中,必然要丢失原关系模式中的完整性约束信息。本文 将原有的关系模式到) ( m l 模式的转换算法进行改进,使得生成的x m l 模式可以保留 关系模式中由主键外键定义的完整性约束条件。同时,v r e 模型外在的树形结构 使得x m l 视图很容易可视化。 数据转换模型在数据库端对应s q l ( s t r u c t u r e dq u e r yl a n g u a g e ) 查询,本文 基于v r e 模型提出了数据转换模型与s q l 查询转换的方法,可以生成不含任何嵌套 结构的s o l 查询组。 关键词:x m l ;关系数据库;数据转换 山东大学硕士学位论文 a b s t r a c t m o r ea n dm o r ei n f o r m a t i o nr e s o u r c e sc a nb ea c c e s s i b l ef o rt h eh i g h s p e e dd e v e l o p m e n to fn e t w o r kt e c h n o l o g y a st h em e d i u mo fd a t ae x c h a n g e , x m l ( e x t e n s i b l em a k e u pl a n g u a g e ) c a no v e r l o o kt h ed if f e r e n c e si nt h e o s ( o p e r a t i o ns y s t e m ) p l a t f o r ma n dt h ed i v e r s i t yi nt h ew a yo fd a t as t o r e i nt h ea p p l i c a t i o n s ,m o s to fd a t ai ss t o r e di nr e l a t i o n a ld a t a b a s e w h i c h i st h em o s tp o p u i a rd a t a b a s em o d e lt o d a y ,i no r d e rt or e a l i z et h ef u l l p o t e n t i a lo fx m l ,w en e e dt o o l st h a tc a na u t o m a t i c a l l yc o n v e r tt h ev a s t s t o r e so fr e a t i o n a ld a t ai n t ox m l d e v e l o p i n gu s e r st r a n s f o r m a t i o nt o o l sf o rc o n v e r t i n gar e l a t i o n a l d a t a b a s ei n t ox m lh a sn o tr e c e i v e de n o u g hc o n s i d e r a t i o n t h i sa r t i c l e p r e s e n t saf l e x i b l eu s e ri n t e r f a c ec a l l e dv r t l ( v i s u a lr e l a t i o n a lt ox m l ) , w h i c hf a c i l i t a t e sc o n v e r t i n gas e l e c t e dp o r t i o no fag i v e nr e l a t i o n a l d a t a b a s ei n t ox m l t h i sa r t i c l ed e s c r i b e dt h ei n t e r f a c ec o n c e p t ,o p e r a t i o n a n da l g o r it h m t h ex m lv i e wr e p r e s e n t st h er e s u l t i n gx m ld o c u m e n t f o rt h ed i f f e r e n c e s b e t w e e nt h er e l a t i o n a lm o d e la n dt h ex m lm o d e l ,t h ei n t e g r a l i t yr e s t r i c t i o n o ft h er e l a t i o n a lm o d e lm a yb e l o s ti nt h ep r o c e s so fd a t ac o n v e r s i o n f r o mr e l a t i o n a ld a t a b a s et ox m l i nt h i sp a p e r ,a na m e l i o r a t e da r i t h m e t i c i su s e dt oa v o i dt h ei n t e g r a l i t yr e s t r i c t i o ni n f o r m a t i o nl o s t ,w h i c hi s d e f i n e db yk e ya t t r i b u t e sa n da l i e na t t r i b u t e s m e a n w h i l e ,t h et r e e s t r u c t u r eo fv r em a k e st h ex m lv i e wv i r t u a le a s il y t h em e d i u mi sc o n v e r t e dt os q l ( s t r u c t u r e d qu e r yl a n g u a g e ) q u e r ya n d x m lt e m p l a t ea tt h ee n do fr e l a t i o n a ld a t a b a s e i nt h i sp a p e r ,a r i t h m e t i c i sp u t u pt od ot h ec o n v e r s i o nb e t w e e nv r ea n ds q l k e y w o r d s :d a t ac o n v e r s i o n ;r e l a t i o n a ld a t a b a s e :x m l i i 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进 行研究所取得的成果。除文中已经注明引用的内容外,本论文不包含任何 其他个人或集体已经发表或撰写过的科研成果。对本文的研究作出重要贡 献的个人和集体,均已在文中以明确方式标明。本声明的法律责任由本人 承担。 t 论文作者签名:鱼丝蝗日期:圣! :! :堡 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学校保 留或向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 和借阅;本人授权山东大学可以将本学位论文的全部或部分内容编入有关 数据库进行检索,可以采用影印、缩印或其他复制手段保存论文和汇编本 学位论文。 ( 保密论文在 论文作者签名: :2 口,六歹 山东大学硕士学位论文 第1 章绪论 1 1 引言 在过去的十年里,数据库研究在查询优化、对象关系数据库、主动数据库、 并行数据库和数据挖掘等领域取得了突破性的进展。许多研究成果己被成功地转 化到商业产品中。同时,在过去的十年中,i n t e r n e t 技术和计算机硬件的发展使 得我们有必要进一步拓展数据库理论,研究新的问题,开发新的技术。今天,任 何人都可以在国际互联网上轻易地发布和获取信息。w e b 己经变成了信息制造、发 布、加工和处理的主要平台。同时,随着因特n ( i n t e m e t ) 的迅速发展,网站和静态 h t m l ( h y p e r - t e x tm a r k u pl a n g u a g e ,超文本标记语言】页面也急剧膨胀,至t j l 9 9 9 年 底,i n t e r a c t 上的静态页面有3 5 0 万,同时每天以i 百万的速度增加,信息的数量级 从9 0 年代初的m b 过渡到g b 、现在已上升到t b 。 尽管h t m l 从发明以来,己成为最成功的电子发布语言,但是它仅注重信息 的表现形式,它的标记仅仅反映了信息应该如何在页面上表现,而没有对信息本 身进行描述,同时它的标记集合是固定的,不能够根据需要进行扩展。使用传统 的基于关键字的信息检索方法在w e b 这样一个无限的信息海洋中往往会迷失方向, 用户得到的是无穷无尽的链接,且绝大多数链接所包含的文档并不包含用户所需 要的内容,而用户却为此耗费了大量的时间和金钱。随着w e b 应用的日益广泛,它 的局限性越来越明显,己经不再适应下一代更复杂的w e b 应用。因此,在未来的 w 曲发展中,如何提高信息检索的准确性和效率成为关键问题。 可扩展标记语言( e x t e n s i b l em a r k u pl a n g u a g e ,简称x m l ) 的出现改变了w e b 的 基本面貌。1 9 9 8 年2 月,w a c ( 全球互联网联盟1 给出了其正式的x m l l 0 版本,并正 式推荐x m l 成为下一代互联网标准。与h t m l 相比,x m l 具有许多优点: ( 1 ) x m l 简单,自我描述且易于解析。使得x m l 具有机器可读性,一个应用可以 按照各种方式解析、过滤、重构x m l 文档。尽管并不要求x m l 文件必须是可以自 描述的( 只要求是结构化的) ,但带有自描述可以增强w e b 的检索功能。这些描述被 称作“元数据( m e t e d a t a ) ”,它们可以包括有关一个文件的信息如安全( 谁可以阅读 它) 、阅读范围、文件内容、文件是用什么语言写的、作者是谁以及关于这个文件 的其它任何信息。虽然h t m l 也有一个增加元数据的功能( b p 杯记) ,但是它 未能很好地对交换不同元数据属性的格式进行定义。如,一个使用a u t h o r 属性的站 山东大学硕士学位论文 点将不能够共享一个使用属性,r i t e r 的站点的元数据。 ( 2 ) h t m l q b 的标记是固定的,不能扩展,而x m l 的标记由用户定义,可以任 意地扩展。x m l 的一个中心的特性就体现在它的名字中:可扩展性,或者称之为可 扩展或可定制的能力。可扩展性一直是h t m l 的弱点,由于h t m l 被定义成一套固 定的标签集,人们不可能增加新的标签而又不破坏h t m l 标准。由于现在w c b 页面 需要表达的内容越来越丰富、越来越复杂,标准h t m l 规定的标签远远不能满足页 面设计的需要。为了解决标准h t m l 目前的限制并且考虑到未来w c b 页面发展的需 要,就要求新的页面标签具有可扩展性:能够创建新的标签。在x m l 中,标签是由 d t d 定义的,正是它来定义在一个文件的结构中允许有什么样的应用( 如风格条、 浏览器、检索数据库、打印引擎等) 。x m l 的嵌套结构可以表示现实世界中各种复 杂的对象,各种格式的数据都可以比较容易地转化为x m l 数据,这使得) 。讧l 非常 适于w e b 信息的发布和集成。 ( 3 ) h t m l q a 的标记表示的是数据的显示格式,没有任何语义,而x m l 的标记 则明确指出了数据的含义,使得细粒度的x m l 数据处理成为可能。 ( 4 ) x m l 实现了内容、结构和表现二者的分离。文档类型定义( d t d ) 描述了文 档中元素和子元素间的嵌套结构,不同的用户可以通过x s l 按不同的显示方式显示 全部或部分的文档内容。 x m l 自发布以来受到了各界的广泛关注。各计算机厂商们竞相推出了支持 x m l 的产品( 如:o r a c l e9 i 中的x m ls q lu t i l i t y , i b md b 2 中的x m le x t e n d e r , m i c r o s o f ts q ls e r v e r2 0 0 0 中的x m la n di n t e r n e ts u p p o r t 等) :学术和研究 机构纷纷采用x m l 来表示各种科学数据,并展开了对x m l 的深入研究。联合国正 逐步加大制订全球性x m l 标准的力度,它的u n e d i f a c t 与o a s i s 组织共同发展 了e b x m l 。各个行业如金融机构、海关、媒体产业正制订各自行业x m l d t d ( d o c u m e n tt y p ed e f i n i t i o n ,文档类型定义) ,以利于数据以公认的格式交换和 集成目前,i n t e r n e t 上己经涌现了大量的x m l 页面、站点和应用开发工具。可 以预见,x m 嘴成为w c b 信息发布和交换的事实上的标准。国外己形成- j x m l 的 一系列标准! ! 【i c x m l ,x c b l ,b i z t a l k ,e b x m l 。在我国,中国科学院电子商务研究 中心也正联合国内软件厂商制定c n x m l 标准。总之,对x m l 的深入研究将有力促 进企业的信息化和电子商务,具有巨大的应用前景和经济效益。在x m l 引起的 2 山东大学硕士学位论文 w e b 变革中,数据库技术将扮演关键的角色。从数据处理的角度来说,传统的w e b 信息处理主要采用的是信息检索技术。检索信息的主要方式是关键字搜索。关键 字搜索极不准确,检索的结果将返回包含关键字的整个文档,网络传输量大。x m l 使得我们可以采用数据库技术来存储、检索、分析、加工和处理w e b 信息。具体地 说: 1 ) 传统的w e b 信息管理主要处理的是静态的w e b 页面,利用数据库中的成熟技 术可以保证动态更新的w e b 页面的数据一致性。 2 ) 利用数据库技术可以及时、有效地分析和加工在线的x m l 数据,从中发现 有用的知识,辅助企业决策。在今天的w e b 环境中,大的w e b 站点和搜索引擎却主 要用文件系统来存储信息,利用信息检索( i n f o r m a t i o nr e t r i e v a l ,简称u 技术( 如:关 键字搜索) 来检索静态的h t m l 页面,效率低下而且极不准确。随着w e b 页面数量 的快速增长,新的w 曲应用要求w e b 能够管理动态的内容,w e b 用户需要在浩如烟 海的w e b 信息海洋中快速、准确地发现所需的信息。x m l 由于自身具有结构信息, 可以很好的满足这种需求:使用类似于数据库的查询语言的方式来检索x m l 文档, 搜索引擎的功能将变的更加强大而准确。此外,查询结果将只返回与查询匹配的 部分而非整个文档,大大降低了网络传输量。 企业内部与外部联系逐渐紧密,甚至融为一体,这种变化深刻影响着企业的组织 结构,不仅反映在企业内部的业务流程中,而且影响着企业如何与客户、合作伙 伴、供应商、分销商等进行的商务活动。业务信息在比以前广泛得多的范围内流 动。面对快速变化的市场条件,当今的商务活动必须以速度、效率与灵活性作为 应对策略,这需要企业内部、企业间、扩展企业网络间各个应用系统之间相互协 作,交换数据,实现业务流程的协同和业务信息的共享。如果我们单纯从具体的 解决技术来看,电子数据交换是解决上述问题的一个简单可行并且适应性广的方 式,通过在不同的系统之间传递数据,实现不同应用系统以及不同企业之间的数 据共享,以此减少手工的重复操作,提高信息传递的速度和信息处理效率,减少 业务处理的差错,降低企业的运行成本。但当前各种数据交换技术运用于异构环 境( 松散祸合、数据格式不同、跨平台、跨地域的分布环境) 均存在很多问题,共有 的问题主要包括祸合度大、成本高、实施复杂等。如何有效解决这些问题是数据 交换面临的一大挑战。 山东大学硕士学位论文 1 2 研究现状 x m l 与传统数据库中的结构化数据不同,x m l 数据是自我描述的,没有预先 固定的模式。x m l 与数据库界近年来研究的半结构化数据( s e m i s t r u c t u r e dd a t a ) 极 为相似。半结构化数据己有的理论和原型系统可以作为x m l 研究的基础。同时, d x m l 所具有的独特特性又为我们带来了新的研究课题。由于x ml 与半结构化数据 的相似性,人们可以将x m l 看作是半结构化数据的标准,并借鉴半结构化数据的 研究成果来管理x m l 数据。目前,数据库界在半结构化数据的研究方面己取得了 一定的进展。这包括数据模型【1 0 】,查询语言【l l 】,半结构化的模式 1 2 】,查询和查 询优化技术 1 3 】,索引技术【1 4 】。关于半结构化数据研究的综述见 1 5 】,但是,目前 的半结构化数据的研究尚不成熟,并且x m l 与半结构化数据相比又存在一些差别, 这主要表现在:从数据特点上看,x m l 文档中的元素有次序,x m l 文档可带有描述 其结构的d t d :从应用领域来说,x m l 不但被用于表示w c b 数据,也面向电子数据 交换。因此,需要对x m l 数据作进一步深入的研究。国外的许多大学、研究机构 和各种基金都己经或正在开展x m l 数据处理技术的研究。 不同数据库间转换数据的应用促进了数据转换工具和异源数据访问的发展。 目前,有许多支持异源数据访问的a p i 和组件,例如:o d b c ,j d b c ,o l e d b ,a d o 等等,还有许多商业数据库管理系统都带有专用的数据转换工具,常见的工具有 s q ls e r v e r 2 0 0 0 中的d t s ,o r a c l e 的s q l + l o a d e r , p o w e r b u i l d e r 中的d a t a p i p e l i n e 等, 它们都为实现不同数据库间访问和数据转换提供了强大的功能。 虽然以上这些工具可以实现异构数据库间的数据转换,但这些数据转换工具 通用性差,依赖于特定的平台。不同工具在每次转换过程中生成的文件不可知, 因此其它的应用很难利用要转换的数据进行操作另外不同的转换需要重新生成转 换的中间文件,使得数据转换局限在进行转换的源和目标数据库之间,即使只是 简单的将一个数据源的数据转换到各个不同的目标数据源中去,由于没有中间标 准,各个系统的实现人员也几乎没有可能将代码重用。如果能够设计一个通用的 转换标准,以上问题将得到很好的解决。 1 3 关系数据库与x m l 如果仅按数据库这个术语的本质来看,x m l 文件就是数据库,它是数据的集 4 山东大学硕士学位论文 合。在许多方面看起来它和其他文件没什么区别。每个文件都含有某种类型的数 据。作为一种“数据库”格式,x m l 有一些优势:例如,它是自描述的( 所用的标记 描述了数据的结构和类型,尽管缺乏语义) ,可交换的,能够以树型或图形结构描 述数据。同样它也有缺点,例如,它显得有些繁琐,由于要对它进行解析和文本 转换,所以数据访问速度较慢。从正面来说,x m l 提供了许多数据库所具备的东 西:存储( x m l 文档) ,模式( d t d ,x m ls c h e m a ,r e i a xn g 等等) ,查询语言 ( x q u e r y , x p a t h ,x q l ,m l - q l ,q u i l t 等等) ,编程接口( s a x ,d o m ,7d o m ) 等等。 从反面来说,它缺少一些作为实用的数据库所应具备的特性:高效的存储,索引, 安全,事务和数据一致性,多用户访问,触发器,查询多个文件等等。因此,尽 管在数据量小、用户少和性能要求不太高的环境下,可以将x m l 文档用作数据库, 但是却不适用于用户量大、数据集成度高以及性能要求高的作业环境。在应用中, 采用x m l 作为数据交换的框架,关系数据库作为数据存储的主要方式,应用过程 中就需要一种工具将关系数据库中的数据转换成x m l 格式输出。在x ml 文件与 数据库之间进行数据转换时经常遇到的一个问题是如何从数据库s c h e m a 产生d t d 或x m ls c h e m a 。在解释如何做之前,必须指出这是设计阶段的任务。其原因是大 多数以数据为中心的应用以及几乎所有的盘点应用软件( v e r t i c a la p p l i c a t i o n s ) 都是 在己知的d t d 或数据库模型上工作的,因此,不会在运行时产生s c h e m a 。但是, 如果能在运行期间产生s c h e m a ,无疑会使用于数据交换的x m l 文档更具有灵活性, 满足更多更广泛的要求。数据转换时产生的另一个问题是如何产生满足用户需 求的x m l 文档,即只将用户所需要的数据转换成x m l 输出,而不是将整个数据库 或数据库的某一个特定部分转换成x m l 。也许利用模板的方式可以解决一部分问 题,但是,面对变化多端的应用,只是依靠模板显然并不能解决所有的问题。关 系模式是结构化的数据,x m l 是半结构化的数据。在数据转换的过程中,必然会 产生语义和结构信息的丢失。同时,任意的定义x m l 文档将有可能产生数据的冗 余,在传输过程中造成网络带宽的浪费,因此,如何将关系数据转换成规范化的 x m l 文档是要解决的问题之一。在保证符合应用需要的数据被转换成x m l 输出 的同时还要满足系统的方性。同时转换工具要将应用同关系数据库隔离起来,使 得用户不必对关系数据库的关系模式有所了解,就可以得到所需的x m l 文档。综 上所述, 在关系数据库和x m l 之问进行数据转换存在着很多的问题。 山东大学硕士学位论文 x m l 的可扩展性、自描述性、内容与表示的分离性,以及支持模式校验等特 点,使它成为表示各种数据的理想公共格式,尤其是i n t e r n e 应用间的数据交换的标 准格式。但是,商业r d b m s 在数据存储、索引、查询优化、事务管理、安全与恢 复等方面提供了完善的高性能服务设施,因此,数据存储应用大多基于r d b m s , 大量业务数据己经并将继续以( 对象) 关系格式存储于s q l 数据库中,这样就产生了 在i n t e m e t 应用间基于r d b m s ,以x m l 格式交换业务数据的需求。 尽管早期各r d b m s ( r e l a t i o n a l d a t a b a s e m a n a g e m e n ts y s t e m ) 大多以“中间件” 方式支持x m l ,m i c r o s o f ts q ls e r v e r 俱u 重于保持底层的“纯正”关系模型而采用“关 系中间件”策略来支持x m l 。早在s q l x m l 标准( f l 口a n s i s q l x t 作组即将完成的 s q l 新部分1 制定工作启动之前,这些r d b m s 均开始扩充其产品,以支持x m l 的 存储和发布。 ( 1 ) s q ls e r v e r 通过两种方式提供对x m l 查询的支持:扩展的s q l 查询和 x p a t h 查询。s q ls e r v e r q a 可以为原来的s q l 查询添加f o rx m l 子句来实现x m l 输出结果的目的。作为s q ls e r v e r 查询语句的新子句,f o r x m l 根据不同映射策 略及复杂性提供了3 种可选模式,将一个s q l 查询结果以讧l 文档的形式输出。通 过在s q l 查询中加入f o rx m l 子旬,原有的查询结果被转换成x m l 的形式输出。 s q ls e r v e r 还可以通过对x p a t h 的支持来实现v i l 数据输出。x p a t h 是一种专 门为x m l 文件内容的某一部分设置地址而设计的,它现在已经被x p o i n t e r 标准所采 用,而且提供了处理字符串,数字以及布尔数值的基本功能。之所以要引入x p a t h 的概念,目的就是为了在匹配x m l 文档结构树时能够准确地找到某一个节点元素。 可以把x p a t h 比作文件管理路径:通过文件管理路径,可以按照一定的规则查找到所 需要的文件:同样,依据x p a t h 所制定的规则,也可以很方便地找到讧l 结构文档 树中的任何一个节点。s q l s e r v e r 2 0 0 0 w c b r 2 用带注释的x d r ( x m l d a t a r e d u c e d ) 映射模式为( 对象) 关系数据定义虚拟的x m l 视图。半结构查询被转换为s e l e c t 的 f o rx m l 操作,执行该操作后返回x m l ( 2 ) o r a c l e 对数据x m l 输出的支持。它主要通过一组内置的s q l x m l 风格函数 来实现x m l 发布。借助s y s _ xm l g e n 函数可有效地从x m l 结果中生成一个有效 的x m l 文档( x m lt y p e 类对象) 。s y sx m l g e n 能从一个变量或s q lo b m t 类型中 生成x m l 文档,若是一个变量则生成一个只有单个根元素的简单文档,若是一个 山东大学硕士学位论文 s q l o b j e c t 类型则产生每个根元素都可以有一个子元素( 子元素反映 o b j e c t 类型 所定义的属性) 的复杂文档。s y sx m l a g g 函数可将s y sx m l g e n 生成的一系列 文档组合成一个文档。通过方法e x t r a c t 和e x s i t s n o d e ,o r a c l e 9 i r 2 支持x p a t h 查询一个 或多个x m l t y p e 实例。e x t r a c t 返回包含一个或多个节点且与指定x p a t h 表达式匹配 的x m l t y p e 实例,e x s i t s n o d e 判断x m l t y o e 实例中是否含有指定的节点。查询单 个文本节点或属性值可调用方法g e t s 试n g v a l ,g e t n 姗b e r v a l 或g e t c l o b v a l ;查询一组 或带子节点的节点则可调用方法g e t c l o b v a l 。 虽然大型的商业数据库系统支持对x m l 的集成,如s q l se l v e t ,提供了一系列 的方法来将关系数据库转换成x m l 输出,但是要直接进行应用还存在下述缺点: ( 1 ) 缺乏供非计算机专业人员操作的良好界面; ( 2 ) s q ls e v e r 2 0 0 0 提供了订l 视图,用户通过写x d r 文档来定义 ) 口【和数据库之间的映射,极大的增加了工作量和专业化的强度; ( 3 ) 用户在自定义x m l 文档的过程中过于随意可能会破坏数据库数据原有的语 义结构和语法结构: ( 4 ) 如果采用预先准备模板的方式,则整个的x m l 文档会一次性地生成并不能 改变,缺少灵活性。 而对于现有的中问件研究成果来说,通过自定义的查询描述语言可以支持非 常复杂的查询,主要是多层嵌套查询及连接,并支持目标x m l 文件的任意的结构 模式,具有较好的通用性,但同时也存在如下缺点: ( 1 ) 输入多为x m l 查询语言,且不同的中间件支持不同的x m l 查询语言,专业 化程度较高,不适合进行直接的应用: ( 2 ) 用户视图为自定义语言所描述,即便是可视化的,也是不容易被用户理解 的: ( 3 ) 采用自定义语言要经历用户查询语言到自定义语言再到s q l 和x m l 文档模 板的一个多重转换的过程,这个过程一定程度上降低了工作的效率: ( 4 ) 在查询过程中存在着不匹配问题,即有些x m l 查询语一言不能准确的找到 与之相对应的s q l 查询。由此可见,无论是已经成型的商业数据库还是处在研究 阶段的中间件,直接进行应用都还存在着一些问题和不足。 山东大学硕士学位论文 第2 章x m l 及相关技术 本章介绍在后边的章节中将用到的) a l 的背景知识的及相关技术,包括x i l 标准、文档类型定义d t d ) 。l 的查询语言和基于关系的x m l 数据存储方法等。 本章的内容组织如下:2 1 节介绍x m l 和d t d 标准:2 2 节介绍3 种常用的x m l 查询语 言x m l q l 。l o r d 和x q u e r y ;2 3 节讨论几种目前最有代表性的基于关系的x m l 数据 存储方法 2 1x m l 币n d t d w 3 c 提出的标准超文本标记i 吾x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 是一种用于 i n t e r n e t 上交换和表示数据的格式。一个x m l 文档由嵌套的元素层次结构构成。每 个文档有一个唯一的根结点。一个元素有一个标记( t a g ) ,描述该元素的含义。一个 元素由从起始标记到终止标记的区域构成。该区域可以是嵌套的子元素,也可以 是属性或文本申值。图2 1 显示了一个描述一个研究项目信息的x m l 文档样例。 x m l j s m i t h s m i t h s h a n d o n g e d u c n j s m i t h q u e r y x m l 2 0 0 5 m g r e e n n a m e , , 图2 2 :一个d t d 样例 山东大学硕士学位论文 2 2x m l 查询语言 研究者们已提出了各种3 口v i l 的查询语言,如:u n q l 、l o r e l 、x q l 、 x m l - q l 、x m l - g l 、q u i l t 和x q u e r y 。所有的查询语言均使用路径表达式来遍历 x m l 文档中的元素嵌套结构,有的查询语言还使用元素构造语句来生成嵌套的结 果文档。在本节中,仅简要介绍3 种有代表性的查询语言:l o r e l 、x m l - q l 和 x q u e y 。 让我们首先考虑一个查询“检索参与x m l 项目的成员发表的文章”。该查询 的l o r e l 语句描述如图2 3 ( a ) 所示。可以看出,一个l o r e l 查询包含“s e l e c t ”,和 “f r o m 和“w h e r e ”三个部分。其中, f i - o m ”语句绑定实验室的所有m e m b e r 成员, 变量x 表示这些成员,“w h e r e ”设置在这些m e m b e r 上的条件 ”x p r o j e c t p r o j n a m e = x m l ”,而“s e l e c t ”描述输出项为成员的p u b l i c a t i o n 图2 3 ( b ) 显 示了该查询的x q u e r y 吾句。一个x q u e 瞻句是一个f l w r ( f o r - l e t - w h e r e r e m m ) 表达式。“f o r ”语句用于描述目标元素( 用变量表示) ,”l e t ”语句用于描述对整个 路径表达式的变量绑定,”w h e r e ”语句设置在目标元素上的条件,”r c t u m ”语句构 造返回的结果。在图2 - 3 ( c ) 中,”f o r ”语句中的变量s p 首先绑定m e m e b r ,然后, ”w h e r e 语句在变量$ p 上设置条件”s p p r o j e c t p r o j n a m e = x m l ”,最后,”r e t u r n ” 语句构造返回的结果” $ p ”。”fo r ”和”l e t ”语句都 是可缺省的,如:图2 1 3 ( b ) 中的x q u e r y 查询就没有“l e t ”语句。 s e t e c tx p u b l i c a t i o n f r o ml a b o r a t o r y m e m b e rx w h e r ex p r o j e c t p r o j n a m e = x m l 图2 3 ( a ) l o r e l 查询 f o r $ pi n l a b o r a t o r y m e m b e r w h e r e $ p p r o j e c v p r o j n a i i l e , 2 x m l r e t u r n $ p p u b l i c a t i o n 图2 3 0 ) x q u c r y 查询 w h e r e 山东大学硕士学位论文 $ p c o n s t r u c t $ p 图2 3 ( c ) xm l - q l 查询 , 图2 3 ( c ) 给出了同一查询的x m l - q l 语句。可以看到,一个x m l - q l 语句由一个 “w h e r e ”语句和一个“c o n s t r u c t ”语句构成。”w h e r e ”语句绑定待检索项所处的 文档片段,而”c o n s t r u c t ”语句描述输出项及其输出方式。图2 3 ( b ) 中的“w h e r e 语句中的变量助绑定l a b o r a t o r y q b 参与x m l 项目的m e m b e r 成员,”c o n s t r u c t 语句输 出这些成员发表的文章,并用标记 显示输出项注意”c o n s t r u c t ”语 句通过t a g 标记语句可以构造任意层次嵌套的元素结构,而l o r e l 不具有重构文档 的功能。x m l 查询语言的基本成分是路径表达式。而在这三种查询语言中的路 径表达式具有不同的形式,在l o r e l 中,路径表达式是由点号“”连接的结点标 记系列,x q u e r y 使用x p a t h 表达式,一条路径是由“”连接的结点标记系列,而 x m l - q l 贝i j 隐式地用标记的嵌套结构表示路径,例如, ” ”实际上相当于l o i 逻l 中的路径表达式 “m e m b e r p r o j e c t p r o j n a m e 和x q u e r y 中的路径表达”m c m b e r p r o j e c t p r o j n a m e ”。 2 3 关系数据库的x m l 视图的描述及表示 )
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位教师招聘信息技术学科专业知识试卷(软件测试流程)试题
- 2025年社区工作者招聘考试试卷:社区社会工作发展
- 桂林电子科技大学《建筑与景观设计》2024-2025学年第一学期期末试卷
- 湖南外贸职业学院《Python程序设计》2024-2025学年第一学期期末试卷
- 2025年物联网中级工程师考试指南与模拟试题
- 苏州工艺美术职业技术学院《数学分析选讲》2024-2025学年第一学期期末试卷
- 西安医学高等专科学校《毕业创作》2024-2025学年第一学期期末试卷
- 郑州理工职业学院《并行与分布式计算》2024-2025学年第一学期期末试卷
- 哈尔滨电力职业技术学院《图案与装饰》2024-2025学年第一学期期末试卷
- 深圳大学《医疗器械生物相容性评价》2024-2025学年第一学期期末试卷
- 小学科学新教材培训心得分享
- 2025秋人教版(2024)八年级上册地理 【教学课件】1.2《人口》
- 2025年广西中考物理真题含答案
- 服装工艺培训课件
- 脑梗死合并高血压护理查房
- 2025届上海市中考语文真题作文题目解析+范文
- 暖通运维面试题库及答案
- 中西医结合治疗过敏性疾病的实践与思考
- 路面注浆打孔合同范本
- 新疆维吾尔自治区巴音郭楞蒙古自治州2024-2025学年八年级下学期期末模拟数学试题(无答案)
- 资产收购方案(3篇)
评论
0/150
提交评论