(计算机应用技术专业论文)基于xml的异构数据库数据交换的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于xml的异构数据库数据交换的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于xml的异构数据库数据交换的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于xml的异构数据库数据交换的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于xml的异构数据库数据交换的研究与实现.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘袋 摘要 随着全球市场竞争的麴裁,会偌企韭妓金监蠹帮之阕翡交互熬来邃频繁并盈 对响应速度要求越来越高。然而,各企业信息系统或企业内部不同系统所使用的 数据库系统、数精格式及操作系统平台的异构性,给双方的数据交换带来了很大 的麻烦。 诅l 本身所具有的平台无关、易与扩展和良好的数据描述能力,使它成为 :羚梅数摄交换熬辫式标壤。逶j 童辫) 圆纯技术积卷见豹冥掇数豢媾迸摇分援,本 文将订l 用于异构数据交换中,研究探讨利用皿,进行数据交换的基本方法。 本文言孪论了潆惩蠢孽应羯鹜景襄舅穗羧器牵瓣穰念,分耩了历变上:霉梅数据交 换的主要方法及其优缺点;介绍了与异构数据交换相关的x m l 技术,并研究了 荧系数据库数据结构和撇涯l 数据结构的舜闻,论述了使用涯l 进行辩构关系 数据瘴数据交换的可行性和优越性。就蒸子蚍技术的数据交换的关键闽题, 如煳l 模式和关系模式的映射、交换过程中对大对象的处理等,进行了分析和 鳃决。对燃毛攮式帮关蓉模式靛转换趣隧,谂文提出了一转使翅映射文锌把数 据库数据映射成中间帆文档的解决方案,该方案方便灵活、易于实现。最后, 飨爨7 一个基于飙实凝吴稼数据交鬏豹三屡模鳖,弗怠鬟露轮e e 戆标准环 境和l d o m a p i 接口,实现了该模型。 本论文的实现原理是蒺于晦l 酶,歼发环境建立在,a 、,a 平台之上,函此系 统具有良好的扩贼性和可移植性。论文的成果可以作为数据交换平台和异构数据 綮成平台的基础。 关键词虹;数据交换;异构;关系数据库;j a v a a 由s 缸a 吐 a b s t r a c t w i 血h c c o m p e 龃o no f 百o b a l m a i _ k e t b e c o l n h g m o r ea i l dm o r e f i e r c e , i l l e i m e r c o n 删c 撕o l l sb e 竹e e nc 0 0 p e r a t i v ec o m p a l l i e so r 锄脚1 a ld 印a n so f t l l es 锄ec o m p 锄ya r e n l o r e 丘宅q u e n t l y ,龇l dm es p e e do f 地s p o n i sd e m 柚d e dt ob ef 缸t 盯n o w h o 、v e v e r ,d l 璩t ot h e h c t e r o g e n e 蚵o fd a l a _ b 觞e s ,d a l af 0 肋a t s ,o p e r :螗n gg y s t e 玎培o fm 粕a g e n 蜘吐i n f b n n 蚯0 l ls y s t e m s l l s c db yd i f 托糟mc 伽叩a m 髂o ri l l 胁a ld e p 盯哑l 聊皓,m e 糟i st o om h i eo nd a t ae x c l l 暑i g e b e c a u o f 吐璩f b 砷黼o f p l a t 矗mi l l d e p e n i i 鲫e 勰ye x t e 璐i b i l i t y 舡l dg o o da b m t yo f d a 乜 d c r i p 石o n ,x m lb c c o m e sm es 诅n d a i d 血诅f 0 皿a to fd a 船e x c h a n g eb e t w e e nh e t e r d g 咖【e o 懈 血t d b e s b 船e do nm e 锄埘s i so f ) 。沮,t h n o l o g y 锄d 丘e q u e i 砌y 璐e dh e t e r o g 锄e o i l sd a t a b a s e s , m el l l 髂i sd ss o m ei e 辩a r c ho nh d wt o 印p l yx m lt od a t ae x c h a l l g ea n dm eb 鹊i cr n e l h o d so f e x c h g cw 抽gx m f i r s y ,t l l et l l e s i sd i s c u s st l l ea p p l i c a t i o n 姒g r o u i l do ft l l es u b j e c t 姐dt l l ec o n c c p b o no f h e t e l _ o g e n e o 郴d a 协b a s 髓,锄da l l a l y z e s 山ea d v a n t a g e s 姐dd i s a d v 如协g e so f e x c h 她g e 腓也o d sb e t w e h e t e r o g c n e o u sd a t a b a si nh i s t o s c c o n d l y ,i ti n 们d l l c e s ) 几t e c l l i l 0 1 0 盱i n r e l 撕锄t o 血乜e x c h a n g e ,a n dd o e ss o 塘r e s e a r c h0 n 血ed i 雎删1 c e0 f 血诅s 劬c t i l r eb e t w e e n 1 a d 伽【a ld a 诅b 硒e 蛐d ) m l ,砌d i s 踮r t a t e s 吐坨p o s s i b i l i 睁a n da d 、瑚曲l g e so fd a t ae x c h a i 培e b e 帆如h e l e r o g e 鹏o l l sd a _ t a b 鼬船b 拈e do n 儿t h 肌i t 趾a l y z e s 吐圮k e yp r o b l e m so fd a t a e x c h 蛐g e ,s u 出t l l em a p p 垴go f :j ( m l h t 耵扭a n d 托l a 廿o n a l 出瞻b a s c h e 腿,m ed e a l i n gw i m b i 瑚i 叫l a 培eo b j e c t s np u 协f h w a r dan 麟i b km “h o du s i gm a p p i l l g 矗l et oc o n v e r t 也l 协b 勰e s c h e ma n d 删ls c h c 瑚a tl a s t ,i td c s i 印sa3 - t i c rd a 乜e x c h 柚g em o d e lb e t 咖h 咖m g e 船。璐 d a t a b 笛e s b 勰e do n 订l a n d i r n p l e m t s i t 惦i n gj 2 e e 趾d 皿d o m a p i n ep 血c i p l eo fi f 印l e 删;n t 撕o no ft l 增m o d e l i sb 船e do n m 扎dw ed c v e l 叩i t 伽j a v a p l a t f b r m ,s oi ti se 懿yt oe x t 蛐da n d 仃 m 叩l 锄lt h e h i e w m l e n to f t h e 托s e a r c hc o u l db eu s e d 舾 t l l eb 如i so f d a 忸e x c k m g ea n d 龇i i i t e g 枷o n k e y w o r d s 亿;d a 忸e x c h a n g e ;h e t c m g e i 啪l l s ;r e l 撕o n a ld a 诅b 嘶;j a v a m 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:拖 昼碴导师签名: 1 1 课题来源和背景 第1 章绪论 随着经济全球化和市场竞争的加剧,合作企业或企业内部之间的交互越来越 频繁并且对响应速度要求越来越商。在很多情况下,为完成一项工作,需要合作 双方或企业内部的数据库系统之间通过网络进行数据信息的共享和交换。企业在 信息化建设中积累了大量的数据。然而,由于备企业信息系统实施的阶段性、技 术性以及其他经济和人为因素的影响,系统所使用的数据库系统、数据格式及操 作系统平台经常是异构的,这给双方的数据交换带来了很大的麻烦。各个系统之 间不能有效地实现信息的共享和交换,形成了“信息孤岛”现象,而且日益严重。 如何实现异构数据库间的数据信息资源的共享、如何充分利用各系统已经使 用的数据库,实现不同数据库之间的连接、数据交换和共享,已经成为企业信息 化领域的重要研究课题之一。 本课题以北京天雄伟业科贸有限公司( 以下简称天雄) 管理信息系统的开发 为应用背景。在r r 产品流通企业信息系统中,企业的各种资源整合在一起,形 成一个自上而下的供应链。天雄公司是一家产品分销公司,其主要业务以从 上游供应商采购产品、产品的库存管理以及向下游分销商的渠道销售为主。公司 经常需要和供应商及下级分销商互通产品的销售情况、库存情况、市场价格情况 等信息。这就需要公司和供应商及分销商之间频繁地进行信息的交换。以前,公 司之间的数据交换主要使用口头通知、传真和发送电子邮件的方式。然而,随着 企业规模的不断扩大,这些效率低下的方式严重制约了双方的有效交流。能不能 直接用应用程序通过i n t e i i l e t 实现双方数据的交换昵? 在这种情况下,提出了异 构数据库数据交换模型的概念。本课题作为天雄公司管理信息系统的一个子模 块,需要研究在各公司数据存储平台不同的情况下,搭建一个数据交换模型,实 现双方信息的快捷方便交换。 现双方信息的快捷方便交换。 北京工业大学工学磺士学位论文 1 2 异构数据库概述 本文考惑懿是基予氆妞啦e t 绒毯瑚继瓣羿稳数籀痒巧凌,农这令雾稳系统中, 存在着类型各异的数据源。异构数据库系统是相关的多个数据库系统的集合,可 以实瑷数撵戆共享和遴骥访阗。葵终系缝秘翔匿l l 艨示。 强1 1 异梅数据瘁嚣鬟续搀 f i g u 黼1 一la d c h n e c t u r eo f h 啪m g e n 0 珊d a t a b 撼e $ y s t 州硌 每个数据摩在加入异构数掇摩系统之前就已经褥在,拥鸯鑫己的黼m s 。异 构数据库的各个组成部分具有自身的自治性,在实现数据共攀的同时,缚个数据 库系统仍保商自己的威用特性、完整性控制和安全性控制。异构数据库系统的异 构性主要体现在骏下几个方面: 计算机体系结构的异犄:各个参与的数据库系统可以分别运行在大型 梳、小螫祝、工箨辩戏嵌入式系统孛。 基础操作系统的异构:各个数据库系统的爨础操作系统可以是j n 、 l 羚融x 、w 强 d g w s n 霉等。 数据库本身的异构:可以是同为关系型数据库系统的o m c l e 、m ys q l 、 s 镊s 镪r e r 、d b 2 、s 婷a s e 等,逡可以是琴露数摇模型的数撵疼,翔层次、霹状 关系、面向对象、函数型数据滕共同组成个异构数据库系统。d b m s 的不同表 现在表达结构和限制以及语义鼹方嚣。誉同的数据模型提供不厨的结捣原语,例 如相同的信息在关系模型中用关系表运,丽在网状模型中用记录类型表达;不同 第 章缮论 的数攒模型可能支持不同的限制;不同的数据模型通常对应不同的数据库语言, 群使数据模疆相潜也可隰有不同的语言。数据语义瀚不同,指不同的成员数据库 魏握翳或桴关数攥在含义、辫释或翔途方瑟的不同。 协议的异构;各系统和外界的邋信可以使用不同的协议,如h 卸、p p p 、 t c p 却、u d p 等。 l 。3 研究现状 数据库的异构性问题引起了人们的普遍关注。缀过十几年的研究和探索,已 经取臀了不少残栗。蟊蓊,芰要霄滚下风种数糖交羧方式: 馒,闲工舆软锋进行数据交换 一般情况下,数据库管理系统都提供将外部文件中的数据转移到本地数据库 表中的数据装入工具,比如o r l e 提供的s q ll 0 a d e r ,p o w e rb l l i l d e r 中提供的 数据管道( d a t a p 岫e l j n e ) 。这些数据转移工具可以以多种灵活的方式避行数据转 换,瑟置峦予它桶是数攥库管理系统本身瑟辫带静工具,执行速度茯,不需要 0 d b c 支持,在戳器没蠢安装o d 辩c 懿帱援下也可以方蠖遮侵翅。 但是,这些数据转换工具不是独立的软件产品,必须黄先运行该数据艨产品 的前端程序才能遴行相应的数据转换工舆,通常需要好几步才能完成,且多用手 正方式进行转换。如果髓的数据库不是数据转换工舆所对应的数据库,数攥转换 工其藏不戆褥使麓。 剥用孛阕数据库进行转换 中间数据库法的基本思想是建囊一个中间数据库,利用中间件从源数据库读 取数据,暂存到中间数据库,爵利用中间件把数据从中间数据库弹入目标数据库。 中闯数据库法需娶根据关系和字段的定义在每个数据库和中闯数据库之间建立 一个孛淹 串,供瑟誊之蠲熬数据交换傻瓣。其络揍麴瑟l 砣瑟汞。 这触转换方法,所鬟转换模块少,n 秘数据库仪爨n 个孛阕传。每增添一移 数据库,只需增加一个中间件,故其扩展性较好。但实现起来比较复杂,转换质 羹不高,过程较长。 设鬣传送变量的转抉 我粕迄戬氆虢数据库应鼹程垮开发工吴每数攒瘁连接懿鬣大耪怒,遴 遘设 3 北京工业大学工学硕士学位论义 图l o 基于申圊数据库的交换法 f i 鄹啪1 矗d a 纽c x c h 蜀叫弓eb 罄e d o nm i d 幽t a b a 鞴 鬣源数据库与目的数据库两个不同的传送变量,同时连接两个数据库,实现异构 数据痒之闷觞直接转换。这释办法在凌寄的数据库系统下扩漫沈较容荔,其转换 速度和质量太大提高。但是这种情况不适合基于h l t c m e t 的跨地域数据交换,而 鼓由于数据瘴系统壹浚暴露在终赛,使褥羧据疼系统安全褥零囊| 铩涯。 通过数据库组件的交换 利用数摄库应鼹稷彦舞发鼓本,逶过滚数据疼冬翼熬数据寒缝终采= | 莩取数蠢 信息,实现舜构数据库之间的直接交换。遴过组件方法实现存取数据的关键是数 攮信息的类溅闯题,装源数据黪与曩敢数摄库对应黥数据类型不露,努须先进章亍 类型转化,然后才能襄施赋值。 。4 本文主要研究内容翻缓绥结构 本文瓣主要磺究内容 异构数据交换问题的实质就是把一个数据库的数据重新构造,以使簇能和另 一个数据库的数据结构匹配,然后被写进另一个数掇库。) 国纯具有的强大的数 攒表现能力酾描述能力,使其逐渐成为描述异构数据中润格式的标准。使用讧l 文档作为异构数据库都能识别的标准格式。 由予瑷在各企韭僚怠系统广泛使霜静数据平台怒关系数据痒,因魏本文的讨 第l 章绪论 论主要针对关系数据库间的数据交换问题。下面列出了具体的研究内容。 ( 1 ) 分析比较讧l 和关系数据库数据结构的特点,阐述使用) 叫l 表示关系 数据模式的可行性和优越性。 ( 2 ) 相关) 叫l 技术在数据交换中的应用。如d o m 和s a x 解析订l 文档 的技术等。 ( 3 ) 分析现有数据交换系统的不足之处,在深入研究证l 与关系数据库映 射方法的基础上,提出了一种讧l 映射文档模板的新方案。 ( 4 ) 数据交换中对大对象的处理技术。 ( 5 ) 讧l 和关系模式之间的相互转换算法。 ( 6 ) 读取数据库元数据的技术。 ( 7 ) 设计基于x m l 的异构数据交换三层模型,并使用j s p + s e r v l e t + j a v a b e a n 和讧l 解析技术实现该模型。 本文由以下几部分组成 第1 章绪论。介绍了课题的来源和背景,异构数据库的概念以及异构数据 交换目前的研究现状等。 第2 章讧l 与数据交换。本章首先介绍了讧l 技术,接着分析了关系数 据库结构特点和舭文档的结构特点并举例说明了当前几种主流数据库对 讧l 的支持。最后,讨论了l 在信息技术中的应用,论述了使用m 。进行 异构数据交换的可行性和优越性。 第3 章基于讧l 的异构数据交换模型的设计。首先介绍了x m l 与应用程 序及应用程序与数据库的接口。接着在对传统数据库应用模型分析的基础上,提 出了基于讧l 的异构数据交换模型的三层体系结构。 第4 章基于讧l 的异构数据交换模型的实现。分析和解决了异构数据交换 中的关键问题,如讧l 模式和关系数据模式的映射,交换过程中对大对象的处 理等。介绍了模型的开发环境并对模型的具体实现进行了论述。 结论。对课题的研究成果和存在的问题进行总结。 第2 章d l 与数据交换 第2 章l 与数据交换 2 1x m l 相关技术 2 1 1 ) 见的诞生和特点 ) 0 讧l ( e x t e l l s i b l em 盯1 ( 1 l pl 孤g i l a g e ,可扩展标记语言) 是由w 3 cf n l ew 谢d w i d ew 曲c o n s o n i u m ) 于1 9 9 8 年2 月发布的一种标准。它的设计动机是要克服 h t m l 的种种不足,将网络上传输的文档规范化,并赋予标记一定的含义,与此 同时,还要保留h r m l 所具有的简捷、适于网上传输和浏览的优点。讧l 并非 像h t m l 那样,提供了一组事先已经定义好了的标记,而是提供一个标准,利 用这个标准,可以根据实际需要定义自己的新的标记语言,并为这个标记语言规 定它的一套标记。沮。最终以s g m l 的一个简化但严格的子集出现,它集s g m l 和h t m l 的优势于一身,具有易于编辑、便于管理、适于存档、容易查询等诸 多优势。 订l 以一种开放的、自我描述方式定义了数据结构。在描述数据内容的同 时能突出对结构的描述,从而体现出数据之间的关系。这样所组织的数据对于应 用程序和用户都是友好的、可操作的。 ) 洲l 具有以下几大优点: 良好的可扩展性 在没有讧l 的时候,要想定义一个标记语言并推广利用它非常困难。一方 面,如果你制定了一个新的标记语言并期望它能生效,你需要把这个标准提交给 相关的组织,例如w 3 c ,经过几轮的评定、修改、再评定、再修改,等到你的 标记语言终于可以成为一个正式推荐标准,可能几年的时间都已过去了。另一方 面,为了让这套标记得到广泛应用,你就得去说服各个浏览器厂商接受并支持你 的标记,或者你得自己为它开发专门的浏览工具。 x m l 允许各个不同的行业根据自己独特的需要制定自己的一套标记,同时并 不要求所有浏览器都能处理这成千上万个标记,也不要求标记语言的制订者制定 出一个非常详尽非常全面的语言从而适合各个行业备个领域的应用。 北京工业犬学工学碗士学位论文 简单易懂 渤l 的程序代戳都是汉文本来袭示的,不是二避翩码( b i n a r ) rc o d c ) ,所以 利用一般的编辑器就可以编辑修改,两且表达的方式也很鲞观。 虹l 遵循严格的语法要求 薹 t m l 的语法要求共不黟格,浏览器以显示骞文法错误魏l 疆酝l 文l 擎。毽 ) 。儿就不同了,它不但要求标记配对、嵌套,而且还要求严格遵守d t d 的规定。 语法有丝毫麓错,熬拆器都会箨止辩它匏迸一步处臻。 一个具宥良好语法结构的网页文件可以提供较好的可读性和可维护性,大大 减轻了蒲赞器开发入员的负担,也挝离了测览嚣豹辩闻空闯效率。褥者,麓着 ) a 蚍的自动生成工舆和所见即所得的编辑嚣的闯世,旺的编写者也就不用再 操心) 。证l 的源码是什么样予,更不用去想帆的一蹙琐碎的语法规定。 熊便于不同系统之阖售怠蛇传输 尚今的计算机世界中,不同企业、不同部门中存在着许多不同的系统。操作 系绞葶羚疆、弧,数器痒聚统畜s q l s e 科e r 、。臻疵,要憋在这些举凌夔警台、 不同的数据库软件之间传输信息,不得不使用一些特殊的软件,非常不方便。而 不同魏显示界面,孤工幸# 站、个入枫捌手机,使这些信意豹个往纯豢示氇交褥很 困难。现在有了x 瞰l ,各种不同的系统之间可以采用x m l 作为交流媒介。x m l 不但简单易读,而盛可以标注各种文字、图像甚至二进制文件,只黉有帆处 理工兵,就可以轻松地读取荧利用这些数攒,使褥黼成必一秘j 豢理想的隧 际谱畜。 莺嚣纯 糊l 支持多语种文件与u n i c o d e 。在惦l 设计的一开始,设计者便考虑剩, 信意翡流逶不应该哭受限于一个莺家或是一个嚣蠛,显随着妇艘丑e 在全餐界耱 普及,将一份文件能够以多种不同语畜来呈现,是) 蝴l 必须拥有的熊力,所以 便将x m l 建立在u 试c o d e 之上。 潮踊h t m l 的区别主要表现在以下几个方匿: x m l 是被用来描述数据和信息的;而m m l 鼹被用来恩示数据和信息的。 旺是霹扩溪嚣,允诲月户爨定义巍己翦撂谌纛塞蠢瓣文秘维稳 褥在 h t m l 中所有的标记和文档结构都是预先定义好的,用户只有权利使用标准的 第2 犟x m l 与数摄交撩 珏t m 嘛记。 在捌l 中,文档缭构可以嵌套,以形成更复杂的文档。 札文档可以描述文档语法,这样其媳应用就w 以对文档结构进行有效 性验证。 总之,讧l 是h t m l 的一种补充,而不是h t m l 的一种替代品。可以使用糊l 来播述黼沽所需数据移两游静结梅,蠢使震馘秘己来格式亿帮嚣承这些数攒。 2 。 。2 蛆文档和模式 ) 州l 文档有“w d l 触m e d ”( 格式良好的) 和“v a l i d a t e d ”( 有效的) 蹰种 性震。在旺中,“w e l 0 南册c d ”霄着明确鹃标准,鞠文档要遵浮旺1 o 蔑 范中的语法规则。无论从物理结构上,还是从逻辑结构t ,讧l 文档都必须符 台囊稳,方黥鼗蓬疆解释鲶毽,否翔,楚琶豫渗会擐“致命错误”信惠,显不会 对文档数据进行任何处理。 嚣我霞来案一下谓毛文搂毖缀遵守懿蕊夔| l : ) 叫l 声明必须是小写“砌l ”,并设鬣v c r s i o n 属性,且跚现在第一行。 一定要蠢一个棂( r o o t ) 结点,也只黢有一个擞结点搿】。 标记必颁是“开始标记”与“结束标记”成对出现。 如果标记不是威对豳现的,必定是有“晗”空探记。 文件必须是树状的结构。 标记名称与属性必须合法,鼠大小写被视为不同。瞄】 耩整篷的指定蘸嚣豁须被一”或“”所包匿 嚣】。 特殊字符必须依照规定编写2 2 1 。 f 覆是一个蕊攀戆雌文裆镶子; c 驻s 潮移 啪u s t o m e r 下面逐句分辑一下这个) 。诬l ,文梢。 - 9 北京工业大学工学硕士学位论文 ( 1 ) 这是文档的第一行,其中包含一个订l 声明,它定义了咀。文档的版本号、 编码属性和独立性声明属性。本例中文档将使用订l1 o 的规范,因为v e r s i o n _ 1 o ”;e n c o d i l l g = ”g b 2 3 1 2 ”表明该文档中使用的编码为g b 2 3 1 2 ;而s t a n d a l o n e = ”n o ”,说明没有另外一个配套的d t d 文件来进行标记声明。需要注意,在声明中 要遵循儿文档的版本号、编码属性和独立性声明属性的顺序。 ( 2 ) 在第二行定义了文档里面的第一个元素( e l e m e n t ) ,即根元素:c u s t o m e r 。 ( 3 ) 张三 这一行定义了根元素( c 璐t o m 哪的子元素:n a m e 。内容为:张三。 ( 4 ) 男叫s c 】【 这一行定义了根元素( c u s l o m 砷的子元素:s e x 。内容为:男。 ( 5 ) 砒u s t o m e r 这是文件的最后一行,它定义了根元素的结束标记 ,c l l s t o i r 瑚p “v a l i d a t c d ”是指订l 文档满足一定的语义约束。皿。数据结构和语义约 束用皿。模式来定义。模式语言有多种,最早最成熟的讧l 模式是d t d ,现 在w 3 c 推出的皿。s c h 锄a 逐渐流行,并且有取代d t d 的趋势。 d t d d t d 是d o c u m e i l tt 卯ed e 硒i t i o n ( 文档类型定义) 的缩写。d t d 是一套关于标 记符的语法规则。它规定了可以在文档中使用的标记,并且进一步规定了文档的 结构,即文档中的标记顺序,标记之间的嵌套关系,标记的属性等。d t d 描述 了标记语言的语法和词汇表,也就是定义了文档的整体结构及语法。简言之, d t d 规定了语法解析器为解释一个“v a l i d a t e d ”) 。皿。文档所需要知道的所有规 则的细节。 d t d 不是强制性的。对于简单应用程序来说,开发商不需要建立自己的 d t d ( 因为没有意义) 。可以使用预先定义的公共d t d ,或者根本就不使用。即使 某个文档己经有了d t d ,只要文档是组织良好的,语法分析程序也可以不对照 d t d 来检验文档的合法性。服务器可能已经执行了检查,所以检验的时间和带 宽将得以节省。 第2 章x m l 与数据交挟 d t d 可以是一个完全独立的文件,也可以在订l 文件中直接设定。d t d 分 为两种:外部d t d ,在l 文件中调用另外己经编辑好的d t d ;内部d t d , 在x m l 文档中直接定义d t d 。 s c h e m a d t d 对讧l 文档的结构起到了很好的描述作用。但是,它也有一些缺点, 比如,它采用了非讧l 的语法规则、不支持数据类型、扩展性较差等。另外, 讧l 文档处理的自动化要求更为严格、更为全面的解决方案。比如,如何使一 个应用程序的不同模块间能够相互协调,以及对文档结构、属性、数据类型等的 约束。s c h 锄a 正好解决了这些问题。咀。s c h e m a 是由m i c r o s o f i 创建的技术, 它实现了w 3 c 关于改善d t d 的摘录的一个子集口4 1 。儿s c h 锄a 的真正意义 是它修改了大量的d t d 的缺点,比如含糊的语法、匮乏的数据类型、有限的内 容模型和对名字空间的不支持。从根本上讲,咀。s c h 锄a 也是l 的一种 应用。它具有以下优点: ( 1 ) 一致性 s c h 黜a 使得对讧l 的定义不必再利用特定的形式化语言,直接借助讧l 自身的特性即可。利用v 几的基本语法规则定义皿。文档的结构,使讧l 达到了由内到外的完美统一。 ( 2 ) 扩展性 s c l l e i n a 扩充了d 1 d ,使其具有较强的可扩展性。比如,引入了数据类型、 命名空间等。这为程序员提供了方便,尤其是在电子商务应用开发中,可以免去 复杂的数据类型转换。 ( 3 ) 规范性 s c h e m a 也提供了一套完整机制以约束皿。文档中的标记使用,而且s c h e m a 更具规范性。 ( 4 ) 易用性 d o m 和s a x 应用程序接口只对v 匝文档有效,而对d i d 确无能为力。 但对s c h e m a 不存在这种问题,因为s c h e m a 本身就是“w e l l f o 皿e d ”讧l 文档。 d t d 由于发展较早,技术已经比较成熟,目前的应用项目开发很多还使用 d t d 来描述文档。但因为d 1 的局限性,而s c h 锄a 正好克服了这些不足,它 正为越来越多的开发者所接受,并将最终替代d t d 成为x m l 模式语言的标准。 2 1 3x s l x s l ( e x t 趴s i b l es t y l e s h e e tl a n g i l a g e ,可扩展样式表语言) 是描述x m l 文 档样式信息的一种语言,是由w 3 c 制定的 2 ”。 讧l 实际上是通过对内容做标记来描述其意义,从而使显示和内容相分离。 x s l 是l 样式表的标准。x s l 定义了讧l 的语法规范,它可以把虹l 文 件转换成h t m l 、讧l 或其它格式的文档。一个x s l 样式表集合了一序列设计 规则,用于从讧l 文件中读取信息,并将其转换成h n 仉等其它的格式。这种 转换采用了公开的方式,使其能够更加方便地被程序员描述。x s l 是专为讧l 设计的样式表语言,并采用咀。语法。 处理x s l 样式表的是x s l 样式表处理器。样式表处理器接受一个讧l 文 档或数据,以及x s l 样式表,输出特定样式的显示,其显示格式根据x s l 样式 表确定。这个处理过程分两步进行:首先,从皿。的源树构建一棵结果树;然 后,翻译结果树,产生作用于显示器、纸或其它媒介的显示。第一步被称为树转 换,第二步称为格式化,在x s l 规范中有详细说明。 2 2 l 与关系数据库 2 2 1 关系数据库的结构特点 经过几十年的发展,关系数据库技术已经相对成熟。其优越的数据管理性 能和简单易用的特点,使它成为企业信息系统开发的首选数据存储平台。关系数 据库是基于关系数据模型的,关系数据模型可用下式表示: r a l 仍l ,a 2 d 2 ,a i d n ) 其中:a 1 、a 2 氐为关系r 中的n 个属性,d 1 、d 2 、砜为对应于各属 性的域,属性a 1 的域记作d o m ( a 1 ) 。例如,描述客户信息的关系模式可表示为: c u s t o m e r ( c o d e ,n a m e ,s e x ,a d d r e s s ,p h o n e ) ,其中客户性别的域可表示为: d o m ( s e x ) = “男”,“女” 。 一个关系数据库通常包括若干个关系( 实际上就是一个矩形的二维表格) ,而 第2 苹) 叫l 与数据交换 每个表中有可包括若干条记录( 元组) ,每条记录又由若干个属性( 列、字段) 组成。 因此也可以这样说:记录是字段的集合;记录的集合构成了表;表的集合构成了 数据库。 每个关系中一般都有一个能唯一标识记录的属性或属性的组合,这个属性或 属性的组合称为关系的主键。在上面的c u s t o l 盯关系中,每个客户的编码c o d e 要求不同,用它可以唯一的标识每条客户信息记录。除主键之外,有些关系还存 在外键。外键总是与其它表中的主键相对应,一个表的外键的值要么为空,要么 必须引用实际存在的其他表中的主键值。 关系模型的主要特征是用表格结构表达实体集,用外键表示实体间联系。为 了维护数据库中数据与现实世界的一致性,关系数据库的数据与更新操作必须遵 循下列三类完整性规则: 实体完整性规则( e 矾t ) ,i m e 鲥t ym l e ) 这条规则要求关系中的元组在组成主键的属性上不能有空值。如果出现空 值,那么主键就不能保证唯一标识元组的作用。 引用完整性规则( r e f b r e n c em e g r i t ym l e ) 如果属性集k 是关系模式r 1 的主键,k 也是另一关系模式r 2 的外键,那 么在r 2 的关系中k 的取值只允许两种可能:空值:等于r l 的关系中某个 元组的k 值【3 9 】。 用户自定义的完整性规则 这是针对某一具体数据的约束条件,由应用环境决定。它反映某一具体应用 所涉及的数据必须满足的语义要求。例如,学生的年龄定义为两位整数,如果认 为这个范围还太大,我们可以限制为1 0 一4 0 之间。 在目前广泛使用的关系数据库中,一般都支持这三类完整性规则的检查,不 需由应用程序承担这项工作。 2 2 2 v 】l 文档的结构特点 每一个订l 文档都有逻辑和物理结构。从物理结构上讲,v i l 文档归根结 底是由一组“实体”构成的 卸。实体充当着和别名类似的角色,即,一个简单 的实体名称可以用来代表一大段文本内容。一个实体可以引用其他实体,将它们 l t 募王盈丈掌工掌矮士学撼论文 包含猩文件中。逻辑上而畜,文档由声明、元索、注释、字符引用和处理指令组 成,所肖这些都在文档中用恩式标记指明。逻辑和物理结构必须严格地嵌套。 从逻辑结捡上来说,一个证l 文档可以蠢成是具有层次结梅的树,根元素 为荬褥擞,蠹容哥疆看戏麓瓣时。 从本质上来说,讧l 鼹描述半结构化数据最好的数据模型,作为数据模型它 有以下特点: 具育自描述性 x 鹾毛孛戆逶义蠢谖方覆羧定了元素瓣拱次缝魏,贯一方嚣瓷滋饔了元素夔 含义。猩) 也搜索结果中,出标识就可以知邋内容的含义,这俄褥搜索结果更 有意义。这也是下一代w 酏的方向一语义w 曲。 具有平台无关性 煳毛文档是缝文本,猿嶷予平台和应廷。所以) 。旺可脱离嶷体疲蘑瑟垂毒亍 攒述搽存在异掌每环凌孛豹备静数据,其恁系绞纛用笺直接对这骜费攒述翁畦l 文件中的数据进行操作,网此,它将成为跨平螽数据交换和操作的标准模式,实 现异构数据源集成中数据的驻操作性。 黢擒述不同复杂程度的数据 獬旺提供数蕹懿络糖纯表示,蓑莹荔予搽终。蛭蜀滚麓一秘统一懿鼗 据模型描述来自不同数据漾的数据,屏蔽数攥源中应用环境和数擞结构的异构 性。 具有可扩展性 粼毛霹美在不破嚣瑗鸯续搀秘系统懿壤魏下壤鞠耨懿数据字浚。应蘑鼹务器 稍雳) 粼l 对所有数据建模,着要改变数据模毽只需改变数摇横激定义,麴 d m ( 域v l ls c h e m a ) 等,不需要重新编码现有对象。 所以,从数据模型的角度来看,x m l 很邋含用来描述异构数据源。 2 。2 。s 麟l 与关系数携瘴豹缝擒关系 从以上分析可知,关系数据库的关系模型国沮。的半结构化数据模型有较 大差别。关系数据库模型般由三层模型组成:数据库一表( 关系) 一字段( 列) 。 蔼) 。峨文档可以为任意层次的辩。但是从文掇绻梅的凫度来看,煳l 是可戬表 鬻2 章x m l 与数据交换 示三层关系模型鲍,医药溉w 为任意层次酶褪。也就是说,利嗣粼l 文橙可 以表示关聚数据库中的数据关系,关键是如何在燕系数据库与x m l 文档结构之 间定义一个下确的映射关系。般最简单的映射方法是:关系表映射成x m l 文 档中的元綮鬈,嚣将各个列映射为元素豹属性。 垤己文糖卺含懿是一系残文零字符,震它鼷零潋表示标记或字符数疆;旺 并支持任何有意义的数据类型,讧l 文档中的数攒鄙被当成普通文本束对待。 通常,数据转换中间件把文本( 龇文档中的文本) 转换成其它的数据熊型( 数据 库中的数掇粪型) ,反之亦然。这样) 泓l 文档可以作为具有统一标凇的文本文 箨,实魂焱瓣终孛戆簧送。 2 3 主流数据库对埘见的支持 通过前灏掌节的介绍,我们知道了咀。的优越性能,其应用目益广泛。x m l 已经褥蘩按会各要翡警遍扶疆,爨至手瑷在豹备数据疼厂囊豹产晶孛帮蠢实瑷 了对幔b 的支持,如s q ls e r v e r2 0 0 0 、o r a e l e 、d b 2 、s y b 嚣e 等。 2 3 1m ss q l s e r v e r 2 0 0 0 对x m l 的支持 s 旗s e 辩嚣2 0 瑾热了赣姆毪,戮提安慰v l 纛鹣支持: 稠用舯协议以u 】地鹃方式访问s q l s e r v e r 数据库 首先需攒配置s q l s e r v e r 2 0 0 0 的s 虚拟目录。s q l s e r v 盯2 0 0 0 允许为i i s 创建一个殿拟目录,用来直接访问一个s q l 数据库中的数据。配置好后就可以 嚣用u r l 采访阕数据痒了,魏:b 却:嬲o e 疆l o 鲥嘲腩斌穗? 麓蠲e 王基c t 4f 购m p d u c tw 弱艨ep r 。d u e o d = l l o o o o l 。 目够检索并写入) 。幔l 数据 可以利用在s e l e c t 语句中附加f o r 讧l 遐阐糊吡。格式数据,遮需要通 过在f ( ) r ) 。匹l 中指定d t d 蠛删ls c h 黝a 来达剿对返回) 亿文挡驹格式讫。 使矮x p g 墩囊诲语言检索嚷l 数据。楚蠲o p 黔僦行集提侯程彦麓入哇己 数据。 利用) 蝴l 模板进行森询 模板怒倪含一个或多个嵌入式s q l 语句的有效划l 文档。跟s q l 语句一 北京业大学工学礤士学位论文 样,模板可以在己珏毯处或在文佟中指定。模板允许使用u r l 检索s q l 数据丽 不向查询者黎露数据库的结构;奄询者只熊知道模掇名称。这省却了在u 也处 输入缀长豹s q l 语訇煞麻颓。 2 。3 。2 融l e 对憋程的支持 目前广泛使用的o r a c l e 版本是9 i ,o r a c l e 9 i 对咀的支持更为强大。o r a c l e 粼l d b 罴锨c l e 豹辩决方案,它先。r 粒l e 数据瘁中豹既文挡提供支持。 o m c l e 蒯ld b 是一个数据库,它能够在0 r a c l e 数据库中处理帆文档, 势疆供数豢露管理凌缝,簸嚣将) 圆也戆痣在凌藐鸯关系数嚣窿技术戆谯点结合 在一起。它还提供了数据格式存储独立性,由此儿文档可以以全文本的格式 ( r d 匠或文传孛豹b 骞) 、修改弱格式( 龆解爨二送刳撂式) 程唳魅) 盈文 档结构存储在数据库中。0 m c l c 嫩江ld b 在o r 1 e 数据库中掇供了信息库功能, 如文件夹特瞧、访阔控制、f t p 秘w e b 我a v 协议支持,以及版本控制,从丙使 应用程序能够在处理引入o a _ c i e 的) 0 幢l 数据时僳翳文件抽象。以下是o r a c l e ) 。证ld b 盼一些重要特性: 尾予组织内容的文件夹特性。 利用p u s o l 资源a p i 邀行版本控制。 逶避u r l 创建和访阉数罐。 利用0 r a c l e n 献搜索x m l 数据。 据供。芏毫c l e 黼潞鬟源安全溪豹谤麓控割裂表。 帆内容的传输。 剥熙r 要s o u 蕊嚣v 】譬w 露瑚趸薹壬耀w 辩。强e l e x 酝己d b 售纛摩送学 基干查询的访问。 利用蔫级队列( a q ) 交换) 。畦班弹e 潢息。 o r a c l e 9 i 支持一种新的系统定义数据豢型,名为) 丑讧i 栅。诃l t 氇提 供了多种内建的成员麟数,为创建、提取和检索存储在0 i 氍l e 9 i 中的x m l 数据 援供了一种强有力的机制。律为一种新豹数琚类型,) 。啦t 泞嚣可用律袭格和税 图中的各个列的数据类型,并可在p u s q l 存储过穗中作为参数、返回假和变量 搜溺。 第2 零x m l 与教辩焚挟 利雳) 0 畦i f 渖e 和这些功能,s q l 开发纛甄可剩掰关系型数据库豹强大能 力,也可在订l 的环境下工作。与此类似,黼l 开发辫一方面可利用x m l 标 准的磷大能力,另一方面又能在关系型数据艨的环境下工作。 然而,这些商业d b m s 都没有能提供适震于所有舭文档的道用映射,且 只能支持简单的) ( m l 文档,对复杂的文档,如包含递归的文档,就显得力不从 心了,矗都未考纛至l 如 爵撼基于订薯静查诲谱言转换成s q l 。努外由于关系模 式和沮,之间的异构性,v 几存储到关系数据库时会造成语义( 如文档的名称、 镌理缝褥信愚、窳俸懿定义、命名窆窝翡定义、元素兹联彦、二避锱编鼹方法等 等) 的落失。同样在出版方筒,生成的) m m 中也缺乏一蝗有用的语义。 2 4 基于衄的数据交换 2 。4 1 睡l 的应用 ) 潮乙终为致蹙e 糟e t 上豹一耱薪鼓零,瘦趱嚣豢广泛,凌己渗透黉了b 溆辩 的各个角落。人们己普遍认识到肌的作用和其巨大潜力,并将其应用到驻联 嘲的务个方嚣。就当兹飙的应耀来说,大皴可叹分为以下几秽: 电子商务 在众多的应用中电子商务方面盼应用是比较突出的。) 。札有刹于数据交换 和传递的特往为邀子商务,尤其是b 2 b 带来了萃命性鹃冲击。眠可以在电子 商务的两个重要方面起重翳作用,这两个方面魑内容定义和信息交换。内容定义: 由 菇耩往阙上商务资会c b 衄e 瓣骚馘定义邋用于多种褥韭事务酶数据元索; 信息交换:开放的、基于文本的“l 非常适含于服务器之间交换事务信息。 数据嚣多樽显示 由于v 【l 鼹显示与内容相分开的,如帆定义的数据允许指定不同的显承方 式,傻数据更会溅速表觋滋来。本蟪瓣数据憝够骧客户熬鼍、使用喾选择或茭德 标准决定的方式幼态地表现出来。 元数据藏熙 由予m 疑有机器可处理的特点,所以现在很多应用软件都使用垭l 文 件来作为系统的融置文件。 - 1 7 - 襄工照丈学工学磺士学徒避文 用于无线通信一w m l w m l 是w a p ( 无线碰用掷议) 规范中的一部分。w m l 是) l 用于无线应用 鹣特定痰铡,它完全符合粼l 抟援裂,囊螫耀予标记囊说暖w a p 蓼藜终端牧 笈翳魏戳蛾蓓惠器熏产接蕊。 数据交换 把枞l 作为数据交换的中间数据格式,这是目前儿最榭前途的应用。 现在) 渐l 己经成了一种誉代瞧予数据交换锵p d 的格式广泛应用予电子商务中。 获技术童瀵,毫寻囊努怒邋进透特甄传赣巍交换商务数据,菸憝攘据商务鼗握进 孝子入工躐鑫动处理。讨氘豹可扩震毪帮是糖述性筹特点使它成为数据交换翡首 选工麒。电子商务首先出现的是b 2 c ( 企业一消费者) 类型,该类懋电子商务的信 息是崴按星现在浏览器中,供人们阅读,因此侧震予表现的删l 语言在其中 壹到了旺太的终耀。薅蔷魄较魏

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论