




已阅读5页,还剩67页未读, 继续免费阅读
(计算机应用技术专业论文)oracle+xml+db的剖析及应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学硕士学位论文 摘要 随着互联网的发展,x m l 由于自身的众多优点,也得到了迅速的发展, 使其成为全球信息传递和共享的一种重要的载体。电子商务、电子图书、电 子病历等全新领域的需求和发展,使数据变得更加复杂和多样化,利用传统 数据库技术很难存储和管理所有不同的数据。目前,x m l 正在成为上述数据 描述和交换的标准,并且将来会代替而成为以上数据保存的主要格式。其一 系列相关的标准已广为接受和使用,包括文档的存储、查询、集成、索引等, 为其成为数据库奠定了基础。因此存储x m l 数据的x m l 数据库必然会是计 算机科学技术和业界瞩目的焦点。 目前各主流数据库公司都在自己的产品中增加了对x m l 的支持,另外 一些公司也推出了自己的原生x m l 数据库系统。o r a c l e 公司在其最新的数 据库产品中提供了o r a c l e x m l d b 。o r a c l e x m l d b 是o r a c l e 公司提供的高 性能x m l 存储和检索技术,它内置于o r a c l e 数据库中,扩展了普通的o r a c l e 关系数据库,不仅提供目前最复杂和完整的关系数据库所提供的所有功能, 还提供与原生x m l 数据库所相关的所有功能。 本论文的目标是对o r a c l ex m ld b 的主要技术进行分析,探讨其如何在 数据库内对x m l 内容进行管理,并在分析x m ld b 的过程中探讨如何进行 x m l 数据库的设计。最后,在x m l d b 的基础上实现了基于x m l 的电子病 历系统。 本论文首先介绍了该课题的研究现状及意义,对x m l 的概念和相关技 术也做了介绍;然后介绍了x m l 数据库的概念和优势以及几类重要的x m l 数据库;在此基础上对o r a c l ex m ld b 的技术特点进行了分析,并讨论了 x m ld b 的优缺点;最后基于o r a c l ex m ld b 实现了电子病历,并对x m l 数据库的设计进行了深入的探讨。 关键词:o r a c l e ,x m l d b ,x m l ,数据库,电子病历 墓堡里三奎堂堡主兰垡迨茎 a b s t r a c t w i t ht h ed e v e l o p m e n to fi n t e r n e t ,x m l ,d u et oi t sa d v a n t a g e s ,h a so b t a i n e d r a p i dd e v e l o p m e n ta n db e c o m ea ni m p o r t a n tm e d i ao fi n f o r m a t i o nt r a n s f e r r i n g a n ds h a r i n gi nt h ew o r l d n e wn e e d si ne l e c t r o nb u s i n e s s ,e l e c t r o n i cb o o ka n d e l e c t r o n i cm e d i c a lh i s t o r y , h a v em a d ed a t am o r ec o m p l i c a t e da n dd i v e r s e ,a n di t b e c o m em o r ed i f n c u l tt h a tt r a d i t i o n a ld a t a b a s es y s t e ms t o r e sa n dm a n a g e sa l l t h o s ed i f f e :r e n td a t a n o w a d a y s x m lh a sb e e nb e c o m i n gt h es t a n d a r do fa b o v e d a t ad e s c r i p t i o na n de x c h a n g e 。a n di nt h ef u t u r e ,w i l lb et h em a i nf o r m a to fd a t a s t o r a g e a st h es u c c e s s o r s e r i a l so fs t a n d a r d sr e l a t e d t ox m lh a v e b e e n u n d e r s t o o da n du s e d ,i n w h i c h ,s t o r a g e ,q u e r y ,i n t e g r a t i o n a n di n d e xo f d o c u m e n tw i l lb et h eb a s eo fx m la sad a t a b a s e t h e r e f o r ei ti se e r t a i nt h a t c o m p u t e rf i e l d sa n d i n d u s t r i e sw i l lh a v ef o c u s e dx m ld a t a b a s es y s t e mt h a ti s s t o r i n ga n dm a n a g i n gx m l d a t a a tp r e s e n t ,t h em a i nd a t a b a s e c o m p a n i e sh a v es u p p o s e dx m l i nt h e i r d a t a b a s ep r o d u c t ,a n do t h e rc o m p a n i e sh a v ep r o v i d e dn a t i v ex m ld a t a b a s e s y s t e m o r a c l ec o m p a n yr e l e a s e st h eo r a c l ex m l d bi nt h el a t e s td a t a b a s e s y s t e m 0 r a c l ex m l d bi st h et e r mu s e dt od e s c r i b et e c h n o l o g yi nt h eo r a e l e d a t a b a s et h a td e l i v e r sh i g h p e r f o r m a n c es t o r a g ea n dr e t r i e v a lo fx m lo r a c l e x m ld bi sap a r to fo r a c l ed a t a b a s e t h i st e c h n o l o g ye x t e n d st h ep o p u l a r o r a c l er e l a t i o n a ld a t a b a s e d e l i v e r i n ga l lo ft h ef u n c t i o n a l i t ya s s o c i a t e dw i t ha n a t i v ex m ld a t a b a s e i na d d i t i o nt oa l lo ft h ef u n c t i o n a l i t yp r o v i d e db yt h em o s t s o p h i s t i c a t e da n dc o m p l e t e r e l a t i o n a ld a t a b a s ec u r r e n t l ya v a i l a b l e t h i sp a p e ra n a l y z et h em a i nt e c h n o l o g yo fo r a c l ex m l d b ,d i s c u s sh o w o r a c l ex m ld b m a n a g e st h ec o n t e n t so f x m l a n da n a l y z eh o wt od e s i g nx m l d a t a b a s e f i n a l l y , as y s t e mo fc o m p u t e r b a s e dp a t i e n tr e c o r db a s e do nx m l h a sb e e n d e v e l o p e d t h i sp a l e e ri n t r o d u c e st h es t a t u sa n dt h es i g n i f i c a n c eo ft h i sr e s e a r c h a n d i n t r o d u c e s c o n c e p t sa n dt e c h n o l o g i e s r e l e v a n tt ox m l :t h e ni n t r o d u c e st h e c o n e e d t sa n da d v a n t a g e so fx m ld a t a b a s ea n di n t r o d u c e sm a i nx m ld a t a b a s e s y s t e m ;b a s e do na b o v e t h ep a r e ra n a l y z e st h ec h a r a c t e r i s t i co f o r a c l ex m ld b a n dd i s c u s s e sa d v a n t a g ea n dd i s a d v a n t a g eo fx m ld b :i nt h ee n dw e i m p l e m e n t t h es y s t e mo fc o m p u t e r - b a s e dp a t i e n tr e c o r db a s e do nx m ld ba n dd i s c u s s e s t h ed e s i g no fx m ld b k e y w o r d s :o r a c l e ,x m ld b ,x m l ,d a t a b a s e ,c p r i i 武汉理工大学硕士学位论文 第1 章引言 1 1国内外研究现况 随着互联网的发展,更多的数据将采用x m l 来表示,而对x m l 的使 用将催生更多对x m l 数据库的需求。这些都不断地促进x m l 数据库的发展。 目前各主流数据库公司都在自己的产品中增加了对x m l 的支持,另外 一些公司也推出了自己的原生x m l 数据库系统。 o r a c l e 在o r a c l e8 i 就开始提供对x m l 的支持,主要是通过提供一整套 用于处理x m l 的工具包来实现对x m l 的支持。该工具包包含了一组j a v a 类,可以向数据库发送查询语句,然后从返回的结果中输出x m l 文档( 文 本或d o m 节点树) ,同样也可以将x m l 数据存储在数据库中。为了能够对 x m l 提供更多的本地支持,o r a c l e 9 i 数据库第一版已引入了x m l t y p e 数据 类型和相关的x m l 特有操作。另外,内置的x m l 生成和汇集操作极大地提 高了处理x m l 的吞吐量。在o r a c l e 9 i 第二版中,在数据库服务器中增加了 对x m l 的支持。这不仅把w 3 cx m l 数据模型充分地吸收到o r a c l e 数据库 中,而且还为浏览和查询x m l 提供了新的标准访问方法一一在o r a c l e r d b m s 中创建本地集成的x m l 数据库。在其最新的o r a e l e l o g 中,更对 x m l 处理相关技术进行了优化,大幅提高了处理x m l 的性能【l l 。 m i c r o s o f t 在2 0 0 0 年1 月宣布其s q ls e r v e r 将提供对x m l 的支持,并 且发布了一个预览版本。此后s q ls e r v e r 扩展了t r a n s a c t i o ns q l ( t - s q l ) 功能,其中包括了诸如x p a t h 、x m l 、x s l 、x s l t 这样的标准。利用h t t p 协议以u r l 的方式访问s q ls e r v e r 数据库是最基本的访问方式,通过指定 样式模版参数,还可以返回具有一定样式信息的数据。在其最新的s q l s e r v e r 2 0 0 5 引入了一种称为x m l 的本机数据类型。它允许在关系列之外还有一 个或多个x m l 类型的列。为了更好地支持x m l 模型特征( 例如文档顺序 和递归结构) ,x m l 值以内部格式存储为大型二进制对象( b l o b ) 。s q l s e r v e r2 0 0 5 还提供了x m l 架构集合,可以将其作为一种方法来以元数据的 形式管理w 3 cx m l 架构【z 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 b m 的在d b 2 中提供d b 2x m l e x t e n d e r ,d b 2x m le x t e n d e r 能够在 x m l 文档和d b 2 之间进行数据转换,它把x m l 信息以两种方式存储在数 据库中:x m lc o l u m n 和x m l c o l l e c t i o n s 3 1 。 1 2 本课题的目的及意义 i n t e r n e t 的发展将人们带入了一个信息爆炸的时代。但网上信息的海 量和无组织性使得它只是一个杂乱无章的信息仓库,在进行信息检索时常常 发生“信息迷向”,因而人们希望能够得到更加智能化的信息服务。h t m l 文 档着重描述w e b 页面的显示格式,它不容易被解析、检索以及智能化的处理, 与之相关的基于关键词的检索技术虽然已经相对成熟,但却很难满足智能化 信息服务的需要。在新需求的推动下,人们提出了一种着重描述w e b 内容的可 扩展标记语言x m l 。x m l 是一套定义语义标记的规则1 4 】,这些标记将文档分 成许多部件并对该部件加以标识。它也是元标记语言,能够用来定义与特定 领域有关的、具有语义信息的、结构化的标记语言的句法,从而有利于信息 的表达和结构化组织,使数据检索和处理更加有效。由于x m l 是一种元标记 语言,在制定了x m l 规范后,面临的一个问题是怎样处理x m l 的标记数据。 目前i b m ,o r a c l e 等许多组织都致力于这方面的研究工作。它们的基本思想 是将x m l 标记数据放入一定的结构中,这样对数据的检索、分析、更新和 输出就能够在更加容易管理的系统和较为熟悉的环境下进行。一种比较自然 的想法是采用数据库对x m l 数据进行存取和操作,将半结构化数据转化为 结构化数据,通过查询数据库来提取、综合和分析x m l 文档的数据。 传统关系型数据库管理系统在处理结构化数据和数值信息等方面是很 成功的,如今在金融、电信、证券以及各种企业的数值计算统计、实时事物 处理领域发挥着巨大的作用。但对于x m l 、h t m l 等为代表的非结构化数据、 由于其数据种类繁多和结构复杂,擅长处理结构化数据的传统关系数据库在 处理大量存在于各种媒体的非结构化数据时,其信息系统无法适用这样的要 求。 这些要求促使了x m l 数据库的发展,x m l 数据库擅长于处理半结构化 的信息,特别适合表达层次型的数据,具有良好的灵活性,能够满足当前企 业发展各种i n t e r n e t 应用的需要。随着i n t e r n e t 技术和数据库技术的发展, 2 武汉理工大学硕士学位论文 大量采用x m l 标签的i n t e r n e t 搜索引擎、必须快速输出结果的电子商务系 统、带x m l 标签的电子数据交换、数据重复使用和内容个性化等等新的应 用层出不穷。作为处理上述应用的关键一环,对x m l 数据库的需求j _ l 三在不 断的快速增长。 o r a c l e 是目前最大的数据库厂商,其数据库产品一直处于世界领先的地 位。由于x m l 技术的各种优点,o r a c l e 公司在x m l 技术上投入了很大的精 力,不仅把它当作开发应用程序的核心技术,同时也参与了其标准和相关技 术标准的制定。o r a c l e 在8 i 就提供了一整套工具包,用于对x m l 的支持。 在9 i 时又加强了对x m l 的支持,引入了x m l t y p e 类型。在其最新的数据 库产品中提供了o r a c l e x m l d b 。o r a c l e x m l d b 是o r a c l e 公司提供的高性 能x m l 存储和检索技术,它内置于o r a c l e 数据库中,扩展了普通的o r a c l e 关系数据库,不仅提供目前最复杂和完整的关系数据库所提供的所有功能, 还提供与原生x m l 数据库所相关的所有功能1 1 i 。 由于o r a c l ex m l d b 是o r a c l e 公司提出的一种新技术,它把x m l 数据 库的发展带入了一个新的阶段,因此对其的理解和应用都具有很大的实用价 值和研究价值。本论文将对o r a c l ex m ld b 的主要技术进行分析,探讨其是 如何对x m l 的内容在数据库内进行管理的,并在分析x m ld b 的过程中探 讨如何进行x m l 数据库的设计。最后,在x m l d b 的基础上实现了基于x m l 的电子病历系统。 3 武汉理工大学硕士学位论文 2 1x m l 简介 第2 章 x 卜1l 的概述 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 ) 是由万维网协会( w 3 c ) 设计的,用来 描述数据信息的一种新的标准语言。x m l 推荐标准1 0 版于1 9 9 8 年2 月由 w 3 c 发布,在短短的几年里,x m l 以惊人速度传播开来。x m l 可以说是最 新的网络语言,x m l 具有h t m l 所欠缺的伸缩性和灵活性,使用者可以根 据需要自行标记来描述各种数据,从而使数据表示的内容更丰富。随着 i n t e r n e t 的飞速发展,h t m l 开始对更多的网络设计要求力不从心,特别是在 电子商务方面的应用。x m l 也就是在这种大环境下孕育而生的。简要地讲, x m l 是一种描述型的标记语言,与h t m l 同为s g m l ( 标准通用标记语言, 一种功能十分强大但也非常复杂的标记语言,是i s o 一8 8 7 9 国际标准) 的一 种应用。设计之初,x m l 的目标之一是取代h t m l 为新出现的复杂的w e b 应用提供标准的i n t e r n e t 语言。然而,由于x m l 在可扩展性、可移植性和结 构性等方面的突出优点而且它也有非常强大的数据支持功能,它的应用范围 早己突破了h t m l 所达到的范围1 4 1 。 x m l 的发展有力地推动了i n t e r n e t 尤其是电子商务的发展,x m l 有利 于数据交换的特性为电子商务带来了革命性的冲击。x m l 在电子商务的内容 定义和信息交换这两个重要方面起重要作用。例如,网上商务协会 c o m m e r c e n e t 定义通用于多种商业事务的数据元素,而开放的、基于文本的 x m l 非常适合于服务器之间交换事务信息。 x m l 所采用的标准技术最适合w e b 开发,应用于i n t e r n e te d i ( e l e c t r o n i cd a t ai n t e r c h a n g e ,电子数据交换) ,则可以得到真正w e b 风格的 e d i 一一x m l e d i 。x m l 支持结构化的数据,可以更详细地定义某个数据对 象的数据结构。而且x m l e d i 引进了模板概念,解决了e d i 存在的主要问 题一映射问题。模板描述的不是消息的数据,而是消息的结构以及如何解释 消息,能做到无须编程就可实现消息的映射。x m l 的另一个好处是大大降低 了数据管理和交换的成本。传统的e d i 是通过使用s m t p 和f t p 来进行数据 格式转换的,而x m l 具有一套统一的数据格式,它使数据管理和交换的成 4 茎坚堡三奎堂堡圭兰鱼整壅 本更低。x m l 为w e b 数据带来了结构化、智能化和互操作性,将会引发w 曲 查询技术、w e b 数据库技术以及w e b 数据交换技术的全面革新,b 2 c 和b 2 b 模式的电子商务的数据将更加容易交换。总之,x m l 所具有的新特性将推动 电子商务的发展,改变数据的交换方式。 今天,x m l 在很多领域中崭露头角,这其中包括传统的数据库技术的范 畴。例如,人们开始考虑用x m l 文档来存储、组织和管理i n t e r n e t 上的庞大 信息资源,这一需求大大促进了对x m l 数据库管理方式的发展。以下我们 先对x m l 作个简要的介绍。 2 2m l 的特点 x m l 以其良好的数据存储格式、可扩展性、高度结构化、便于网络传输 等优势在许多领域一显身手,便于软件开发人员和内容创作者在网页上组织 信息。不仅能满足不断增长的网络应用需求,而且还能够确保在通过网络进 行交互合作时,具有良好的可靠性与互操作性。它具有以下特点: 4 【9 】1 3 9 】 1 、易于扩展。x m l 是摒弃了s g m l 中一些复杂性并考虑到适合w e b 特性的一个子集,可以定义其他语言,同时x m l 的标记是用户定义的,所 以从理论上讲,其类型的数量可以是无限的; 2 、结构性强。x m l 的文件结构嵌套可以复杂到任意程度,能表示面向 对象的等级层次; 3 、交互性好。用户与应用进行交互时,使用x m l 可以非常方便地在本 地排序、过滤和进行其他的数据操作。不需要与服务器进行交互。减轻了服 务器的负担; 4 、语义性强。x m l 可以自行设计有意义的标记便于异构系统之间的数 据交换和信息检索,实现机器与机器之间的信息交换; 5 、纯文本。儿乎任何工具都可创建和编辑x m l ,使得程序可以更简单, 从而提供了从小配霉文件到企业级数据仓库的可扩展性; 6 、基于内容的数据标识。因而可以被不同程序用于不同目的; 7 、可格式化。可扩展样式语言x s l ( e x t e n s i b l es t y l el a n g u a g e ) 可以指定 如何显示数据。数据和显示是分离的,可以为同一数据指定不同的样式表用 一于不同输出; 8 、很强的链接能力。可以定义双向链接、多目标链接、扩展链接和两 个文档间的链接; - 5 武汉理工大学硕士学位论文 关 9 、易于处理。x m l 对格式的定义严格,具有层次结构,而且与厂商无 1 0 、与平台无关。x m l 文档可无须任何更改直接移植到其他平台上。 2 3x m l 文档的构成 一篇x m l 文档由标记和内容组成。x m l 中共有六种标记:元素 ( e l e m e n t s ) ,属性( a t t r i b u t e s ) ,实体引用( e n t i t yr e f e r e n c e s ) ,注释( c o n u n e n t s ) , 处理指令( p r o c e s s i n gi n s t r u c t i o n s ) 和c d a t a 段( c d a t as e c t i o n s ) 。其中,元素 用成对出现的标记来标识与界定,由尖括号分隔。元素是x m l 文档逻辑结 构的基础,一个x m l 文档实例就是一个元素,称之为根元素或者是文档实 体。而且一个x m l 文档由且只有一个根元素,其余的元素作为其子元素而 存在。元素还可以拥有若干个无序的属性。 x m l 文档的基本思想很简单:利用数据标识表示数据的含义,利用简单 的嵌套和引用来实现数据元素之间的关系。根据应用领域和用户使用角度的 不同,x m l 文档可分为以数据为中心和以文档为中心。数据为中心的x m l 文档一般有着规则的结构,小粒度数据( 最小独立数据单元是包含字符串的 元素或属性) ,很少或没有混合内容,兄弟元素出现顺序无要求等特点,它们 经常出现在b 2 b 的应用中;以文档为中心的x m l 文档的特性与以数据为中 心的x m l 文档具有相反的特点,这类文档内容通常包括用户手册、市场宣 传等无规则的数据。实际应用中这种区分不是很明显,如用户手册中可能包 含一些规则的结构数据( 如作者姓名、编著日期等) 。一个具体的x m l 文档往 往有两重性。 一个简单的x m l 文档如下: 6 武汉理工大学硕士学位论文 2 4x m l 的相关技术 x m l 并不是一个单一的技术,它需要与多种相关的技术相互作用。这些 技术包括h t m l 、c s s ( 级联样式表) 和x s l ( 可扩展样式语言) 、u r l 和 u r i 、x l l ( 可扩展的链接语言) 和u n i c o d e 字符集等。在x m l l 0 规范发布 之后,x m l 的有关技术规范不断涌现。w 3 c 在1 9 9 9 年先后推出了n a m e s p a c e s ( x m l 中的命名空间) 、c s s 2 等推荐标准。与x m l 有关的重要技术规范还 包括d o m 、d t d 、x m ls c h e m a 和x q u e r y 等。下面对主要的x m l 相关技 术做一个介绍。 2 4 1 s l ( e x t e n s i b i es t y l el a n g u a g e ) 可扩展的样式语言( e x t e n s i b l es t y l el a n g u a g e ,简写为x s l ) 是更为先进的 专门用于x m l 文档的样式单语言。 x s l 文档包括一系列的适用于特定的x m l 元素样式的规则。x s l 处理 程序读取x m l 文档并将其读入的内容与样式单中的模式相比较。当在x m l 文档中识别出x s l 样式单中的模式时,对应的规则输出某些文本的组合。与 级联样式单不同,输出的文本比较任意,也不局限于输入文本加上格式化信 息。 c s s 只能改变特定元素的格式,也只能以元素为基础。但x s l 样式单可 以重新排列元素。这种样式单可以隐藏一些元素而显示另外一些元素。更进 一步说,还可以选择应用样式的标记,而不仅是基于标记的,而且还基于标 记的内容和特性,还基于标记在文档中相对于其他元素的位置,以及基于各 种其他的准则。 x s l 包括变换语言( t r a n s f o r m a t i o n l a n g u a s e ) 和格式化语言( f o r m a t t i n g 7 武汉理工人学硕士学位论文 l a n g u a g e ) 。每种语言都是一个x m l 应用程序。变换语言提供定义规则的元 素如何将x m l 文档变换成另一个x m l 文档。被变换的x m l 文档可能使用 原文档的标记和d t d 。或者使用一组完全不同的标记。特别是,可能会使用 x s l f o r m a t t i n gl a n g u a g e 定义的标记。 变换和格式两部分可相互独立地起作用。例如,变换语言可将x m l 文 档变换成结构整洁的h t m l 文件,并且完全忽略x s l 格式化对象。i n t e r n e t e x p l o r e r5 0 以上支持这种x s l 样式。 此外,以x s l 格式化对象编写的文档,并非绝对要求在另一个x m l 文 档上使用x s l 变换部分才能产生。例如,很容易想象到这样的一个转换器: 它是用j a v a 语言写成的,可读取t e x t 或p d f 文件,并把这些文件翻译成x s l 格式化对象。 变换语言是一种很有用的语言,它与格式化语言无关。它能够把数据从 一种x m l 表示移到另一种表示,这种功能,使它成为基于x m l 的电子商务、 电子数据交换、元数据交换以及应用于需要在相同数据的不同x m l 表示之 间进行转换的重要组成部分。由于缺乏对人们要浏览的显示器上显示数据的 了解,这些用途还要结合起来使用。它们纯粹是用来将数据从一种计算机系 统或程序移到另一种计算机系统或程序中。 因此,许多早期的x s l 实现都毫无例外地将焦点集中在变换部分,而忽 略了格式化对象。这些是不完善的实施方案,但仍然是很有用的。并非所有 的数据最终都必须显示在计算机显示器上或打印到纸上。 2 4 2u r l 和u r i x m l 文档可用于w e b ,正如h t m l 和其他文档一样。使用时,也如h t m l 文档一样,被统一资源定位符( u n i f o r mr e s o u r c el o c a t o r ,简写为u r l ) 所 引用。例如,在u r l h t t p :w w w h y p e r m e d i e c o m s t y l e x m l t e m p e s t x m l 处,可 以找到以x m l 标记的莎十比亚的歌剧t e m p e s t 的全文。虽然u r l 己被人们 广泛理解并被广泛支持,但x m l 规范使用的是更为通用的统资源标识符 ( u n i f o n t lr e s o u r c ei d e n t i f i e r ,简写为u r i ) 。u r i 对于定位i n t e r n e t 上的资 源是更为通用的架构,更为注重资源而不太注重位置。理论上说,u r i 可找 出镜像文档的最为近似的副本或是找出己经从一个站点移动到另一站点的文 档。实际上,u r i 仍然处于进一步的研究之中,被当前的软件所唯一支持的 一种u r i 正是u r l 。 8 武汉理工大学硕士学位论文 2 4 3x l i n k 和x p o i n t e r 只要将x m l 张贴到i n t e r n e t 上,用户当然希望能够对此文档寻址并且可 以将这些文档链接起来。 标准的h t m l 链接标记可用在x m l 文档中,而且h t m l 文档也可与 x m l 文档加以链接。例如,下面的h t m l 代码将链接指向了前文提到的以 x m l 形式出现的t e m p e s t 的副本: t h et e m p e s tb ys h a k e s p e a r e 如果用户跟随着链接,浏览器能否显示这个文档,依赖于该浏览器处理 x m l 文件的能力。目前大多数浏览器还不能很好地处理x m l 文档。 然而,x m l 利用x l i n k 来与文档链接,用x p o i n t e r 来确定文档个别部 分的位置,就可以有更多的功能。 x l i n k 使任意元素成为链接,而不只是a 元素。进一步说,链接可以是 双向的、多向的或是指向多个镜像的站点,并选择这些站点中最近的一个。 x l i n k 利用普通的u r l 来标识它链接的站点。 x p o i n t e r 能使链接不仅指向特定位置处的特定文档,而且还可指向特定 文档的特定部分。x p o i n t e r 可以引用文档中的特定的元素,如第一个、第二 个或是第十七个特定的元素。x p o i n t e r 提供了文档间连接的非常强大的功能, 而这些文档不必有包括附加标记的目的文档,正因为如此,其中的个别部分 才可以被链接。 进一步说,与h t m l 的锚( a n c h o r ) 不同,x p o i n t e r 不只是引用文档中的 一点。x p o i n t e r 可以指向一个范围或是一个区域。因而x p o i n t e r 可以用来选 择文档的特定部分,或许这样一来,就可以将这部分复制或是将其装入其他 程序。 2 4 4d o m d o m ( d o c u m e n to b j e c t m o d e l ,文档对象模型) 是一套为合法的 w e l l - f o r m e d 文件设计的a p i ( a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ,应用程序 接口) ,它同时定义了这些文件的逻辑结构、访问及操作方法。在d o m 的规 范里,文件的定义很广泛,其中包括h t m l 和x m l 。所以d o m 也可以用 来操作x m l 及h t m l 文件。可以用d o m 建立文件、浏览文件结构以及增 9 武汉理工大学硕士学位论文 加或删除文件的某些内容。 d o m 由w 3 c 制定,目标是提供一个可以通用于各种程序语言、操作系 统和应用程序的a p i 。所以d o m 具有极高的兼容性。不论是c o r b a 、c o m 、 j a v a 、c + + 等都可以使用同样的o o m 接口。也因为这种跨平台的需求,d o m 在定义时就采用了c o r b a 标准,所以它可以为各种语言提供完全的接口。 d o ml e v e l l 于1 9 9 8 年1 0 月推出,它是w 3 c 为x m l 文档和h t m l 文 档制定的一个独立于平台和语言的编程接口标准,使得程序和脚本能以标准 的方式存取与更新文档的内容、结构和样式。其中,d o ml e v e l l 的核一t j , ( c o r e ) 部分提供了能表示结构化文档的一组低层的基本接口集,并定义了用来表示 x m l 文档的扩展接口,d o ml e v e l l 的h t m l 部分在上述基本接口集的基础 上定义适用于h t m l 文档的额外的高层接口。d o ml e v e l 2 于2 0 0 0 年1 1 月 推出,它建立在d o ml e v e l l 之上,给出了用来创建和操纵文档结构和内客 的一组核心接口,并提供一组可选模块,这些模块包含了为x m l 、h t m l 、 抽象视图、类属样式表、层叠样式表、文档结构的遍历、r a n g e 对象等特制 的专用接口。d o ml e v e l 3 已于2 0 0 2 年1 月推出,虽终它将用于定义描绘一 份x m l 文件各部分的基本d o m 类别的d o m 3 不同版本。 d o m 所强调的特点就是以相同方式处理的x m l 文件,如果在逻辑上它 们是相等的,那么在d o m 中所呈现的结构也是完全一样的。这种确定x m l 文件问逻辑性的相同,不但可以降低使用d o m 对象的应用程序的复杂度( 不 用再去做额外的判断) ,更可以达到逻辑性认证的功能。所以在d o m 里,只 要提供了文件的d t d ,就可以产生相同的d o m 文件,这不但简化了工作, 更能增加数据的一致性。 2 4 5x m ls c h e m a x m l s c h e m a 是2 0 0 1 年5 月正式发布的w 3 c 的推荐标准,经过数年的 大规模讨论和开发如今终于确定下来,成为全球公认的x m l 环境下首选的 数据建模工具【5 l 。 从总体上讲,s c h e m a 具有以下优点: l 、一致性:s c h e m a 使得对x m l 的定义不必再利用一种特定的形式化的 语言,而是直接借助x m l 自身的特性,利用x m l 的基本语法规则来定义 x m l 文档的结构,使得x m l 达到了从内到外的完美统一,也为x m l 的进 一步发展奠定了坚实的基础。 2 、扩展性:s c h e m a 对d t d 进行了扩充,引入了数据类型、命名空间, 1 0 武汉理工大学硕士学位论文 从而使其具备较强的可扩展性。 3 、互换性:利用s c h e m a ,我们能够书写x m l 文档以及验证文档的合 法性。另外,通过特定的映射机制,还可以将不同的s c h e m a 进行转换,以 实现更高层次的数据交换。 4 、规范性:同d t d 一样,s c h e m a 也提供了一套完整的机制以约束x m l 文档中置标的使用,但相比之下,后者基于x m l ,更具有规范性。s c h e m a 利用元素的内容和属性来定义x m l 文档的整体结构,如哪些元素可以出现 在文档中、元素间的关系是什么、每个元素有哪些内容和属性、以及元素 出现的顺序和次数等等,都可一目了然。 x m ls c h e m a 的主要目的是用来定义一类x m l 文档( 一个x m l a p p l i c a t i o n ) 。因此,模式的“实例文档”形式常常被用于描述一个与特定 x m l s c h e m a 相一致的x m l 文档。事实上,文档实例和s c h e m a 文档都不是 必须要以文档的形式存在,它们可以以在应用之间传递的字节流的形式存在, 或者作为一个数据库记录及x m l 的“信息项”的集合存在。 由丁x m ls c h e m a 的种种优点,现在s c h e m a 已经基本上取代了d t d 。 在这种情况下,国际上一些知名企业和组织审时度势纷纷在战略上向x m l s c h e m a 倾斜,提供对x m ls c h e m a 的支持。 2 4 6 x q u e r y x m l 模糊了数据库、文档和消息之间的界线,但是要充分发挥x m l 的所有特性,还必须要有一个强大的查询语言。目前,x q u e r y 已经成为x m l 所需的查询语言【l 。 x m lq u e r y 工作组在1 9 9 9 年9 月正式成立,任务是创建一种灵活的查 询语言来从x m l 文档中抽取数据。x q u e r y 构建在x p a t h 规范之上。事实上, x q u e r y 的一些特性己公认为是非常基本的,以致于它们己被合并入x p a t h 2 0 规范中,而且这个规范目前为w 3 c 的x m lq u e r y 和x s l 工作组共同拥有。 这意味着样式表作者们将很快就能利用像序列、量化和更强有力的类型控制 这样的特性。同样,己将条件表达式和迭代器添加到了x p a t h 语言中,而在 以前它们是x s l 语言的一部分。这样就可以在样式表中编写更清晰的代码, 并且为样式表创建者带来较少的麻烦。 x q u e r y 为x m l 文档中的数据操作提供了一种强大的语法。它最适合于 那些同时包含叙述性文本和量化数据的文档。在对这些类型的文档上使用 x q u e r y 时,为达到最佳性能,可以将这些文档装入一些己建立索引的x m l 武汉理工大学硕士学位论文 资源厍中。 过去儿年里,在以文档为中心和以数据为中心的环境里,作为信息的一 种格式化语言,x m l 迅速得到了广泛的欢迎。现在,许多应用程序使用x m l 来传送消息,如s o a p 或者x m l - - r p c 消息;或者作为数据的永久性存储, 如x m l 数据库、内容管理系统。使用一个以x m l 为基础的w e b ,来将替代 以h t m l 为基础的w e b 已经逐渐成为一个现实了。 随着存储在x m l 文档中的信息量的增长,能有效并且高效的存取x m l 的信息相应的也变得越来越重要。要做到这一点,必须要有一个让我们能够 准确的获得所需信息、更新x m l 数据源中数据的可表达的查询语言,x q u e r y 正是这样的语言。 1 2 第3 章x m l 数据库 3 1 数据库发展历史 数据库技术是计算机科学技术中发展最快,应用最广泛的重要分支之 一,它已成为计算机信息、系统和计算机应用系统的重要技术基础和支柱。 一个国家数据库产业的发展状况,在很大程度反映了该国信息技术和信息产 业的发展水平。在i m e m c t 出现以前,数据库产业可以说是发展最快的信息 产业,而i n t e r n e t 的发展又给数据库产业注入了新的活力,使传统的数据库 产业向着i n t e r n e t 服务的方向发展。 七十年代以前,数据库系统并没有一个完整和坚固的数学理论基础,数 据库产品直接按实际应用的要求来设计。这段时期的数据库产品以层次型数 据库系统为主。第一个通用的d b m s ( d a t a b a s em a n a g e m e n ts y s t e m ,数据库 管理系统) 是由c h a r e sb e c h m a n 于2 0 世纪6 0 年代早期在通用电器工作时设 计的,当时被称为集成数据存储( i n t e g r a t e d d a t a s t o r e ) ,这段时期的产品称为 “前关系型数据库系统( p r e - - r e l a t i o n a ld a t a b a s e ) ”时期。 在这段时期,为了适应美国和全世界科技信息的迅猛增长和与此相对应 的信息需求的不断增长,美国政府的信息部门开始带头组织数据库的生产和 利用。这其中包括美国国家航空航天局( n a s a ) 和美国原子能委员会( 即现在 的美国能源部) 等重要的政府部门,而美国国家技术情报服务处( n t i s ) 至今仍 然是美国最大的文献性数据库生产者之一。这一时期的数据库集中在科学技 术和工程领域。随着政府数据库产量的不断提高,数据库产业的发展开始向 商业化过渡。 此时的数据是按扁平文件( n a t f i l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社区组织考试题库及答案
- 森林防火安全知识培训
- 梭状芽胞杆菌课件
- 焊工(技师)理论考试试题及答案
- 2025年文化旅游讲解员高级题库大全
- 2025年高频考点机关安保招聘面试中的法律法规知识应用
- 2025年电商公司运营中心主管面试备考要点及预测题
- 2025年旅游景点导游资格考试备考宝典
- 2025年电子商务运营师能力评估模拟题
- 2025年篮球裁判员比赛水平测试试题及答案
- 公共基础知识试题(附答案)
- 2025年湖北省中考语文真题(含答案)
- 2025年四川三支一扶考试公共基础知识试卷
- 战术基础动作低姿匍匐
- 2025年公文核改竞赛试题及答案
- 2025年秋季学期开学第一次中层班子会上校长精彩讲话:向小处看往实里干朝远处谋
- 下肢开放性损伤课件
- 有机硅行业面试攻略:高级岗位面试题库
- 专利分级管理办法
- TCCEAS001-2022建设项目工程总承包计价规范
- 漆黑的魅影-精灵分布图鉴
评论
0/150
提交评论