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

(计算机应用技术专业论文)异构数据库间通用数据转换模型的研究与实现.pdf.pdf 免费下载

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

文档简介

中文摘要 中文摘要 随着社会信息化的发展,信息管理系统推陈出新,出现了各式各样不同结 构、功能更强大的数据库管理系统,而旧的数据源因为包含有重要的历史数据, 或者存在不可变更的因素,不能单纯地抛弃。因此,在结构不同的数据源间进 行数据转换就成为要解决的问题。 x m l 本身具有的与平台无关、易于扩展、交互性好、语义性强等特性,使 得基于x m l 的数据转换模型能够较容易地实现对各数据源的描述以及数据源之 间的数据转换。 本文仔细对比研究了x m l 在数据交互领域的各主要技术,分析其原理,包 括x m l 数据文件的结构,格式的定义,x m l 数据文件的解析,x m l 文件中的 数据与主流关系数据库间的操作。分析其优劣,并根据自己的研究,采用j a v a 技术,通过j d b c 数据源与数据库管理系统交互,设计了一个平台无关的数据转 换原型系统,实现x m l 文档数据与关系数据库数据的双向转换,并结合南开大 学“数字校园”项目的具体情况,解决了在此应用中的一些关键技术及难点。 关键词 x m l ,d t d ,异构数据库,数据转换,数据关系映射 a b s t r a c t a b s t r a c t w i t ht h ed e v e l o p m e n to fs o c i e t a li n f o r m a t i o n ,m a n a g e m e n ti n f o r m a t i o ns y s t e m s a p p e a r e dn e w e r ,t h e r ew e r e a l lk i n d so fd i f f e r e n tc o n f i g u r a t i o nd a t a b a s em a n a g e m e n t s y s t e m s ,a n dt h e i rf u n c d o n sw e r em o r ea n dm o r ep o w e r f u l f o ri n c l u d i n gi m p o r t a n t h i s t o r i c a ld a t ao rn o tb e i n gm o d i f i e d ,t h eo l dd a t as o u r c e sw e r e n ta b a n d o n e d s i m p l y s op r o b l e m sa b o u td a t at r a n s f o r m i n gf r o mh e t e r o g e n e o u sd a t as o u r c e s a p p e a r e dc e r t a i n l y t h ec h a r a c t e ro fx m lw h i c hi n c l u d e sp l a t f o r mi n d e p e n d e n c e ,e a s yf o r e x p a n s i o n ,b e r e ti n t e r a c t i o n , a b u n d a n c es e m a n t i c ,m a k e st h ed a t a 扛a n s f o r m i n g m o d e lid e s i g n e d e a s y f o rt h er e a l i z a t i o no fd e s c r i p t i o na n dt r a n s f o r mf o r h e t e r o g e n e o u sd a t as o u r c e si nt h ef i e l do fd a t ai n t e g r a t i o n ih a v er e s e a r c h e dm o s t l yd a t ae x c h a n g et e c h n o l o g yb a s e do ux m li nt h i s t h e s i s ,a n a l y z i n gt h ep r i n c i p l e ss u c ha st h es t r u c t u r eo f x m l d o c u m e n t s ,t h ep a r s i n g o fx m ld o c u m e n t s ,t h ei n t e r - o p e r a t i n gw i t hm a i nr e l a t i o n a ld a t ab a s e s 1w i l l i n d i c a t et h ea d v a n t a g e sa n dt h ed i s a d v a n t a g e so fe a c ht e c h n o l o g y t h e n1w i l lg i v ea l l e n t i r es o l u t i o no fd a t ae x c h a n g eu s i n gx m lt e c h n o l o g yc h o o s i n gj a v aa st h e p r o g r a m m i n gl a n g u a g e w ef o u n d e d t h es y s t e mt r a n s f o r m i n gd a t ab e t w e e nr e l a t i o n a l d a t a b a s e sa n dx m ld o c u m e n t sb yu s i n gt h ej d b cd a t as o u r c ei n t e r f a c e a n dt m s s y s t e mw a s u s e di nt h e “d i g i t a lc a m p u s ”p r o j e c t k e yw o r d s x m l ,d t d ,h e t e r o g e n e o u sd a t a b a s e ,d a t at r a n s f o r m ,d a t ar e l a t i o nm a p p i n g 内容目录 图目录 示例2 1x m l 文档示例 示例2 2 x m l 映射文件”的d t d 。 示例2 3 学生信息表记录的x m l 代码。1 4 图2 1 文档的d o m 树结构 1 4 图2 2s a x 解析器生成事件1 5 示例3 1 模板示例 示例3 2 模板驱动映射方法的执行结果 图3 1 基于模板驱动的映射策略 图3 2 基于模型驱动的映射策略 图3 3 基于表格模型的映射举例 图3 a 基于表的映射模型 2 0 2 0 2 l 2 2 图3 s 基于对象关系模型的映射举例2 4 图4 1 通用数据转换模型的设计架构2 6 程序4 1 表示数据库表结构及表数据的x m l 文档2 9 程序4 2 表示数据库表结构及表数据的x m l 文档的d t d 3 0 内容目录 程序4 3 表示表问关系的x m l 文档。3 1 程序4 4x m l 映射文件的描述 图4 2 将数据抽取到x m l 中的主要流程3 5 图4 3 处理子元素d a t a 的程序流程 图4 4 x m l 导入到数据库 3 6 3 7 图5 1 数据中心的系统架构图。4 0 图5 2 实现x m l 文档中的左向外连接操作的流程4 4 图5 3 “数字校园”项目中数据迁移过程 图5 4 对各个数据库两两之间建立类型映射关系 图5 5 各个数据库与中问数据类型建立类型映射关系 图5 6 更新数据库中各个表的顺序 图5 7 目的数据库的表结构 图5 8 源数据库的表结构 4 5 4 9 4 9 5 4 图5 9 目的数据库b db k s x x 表部分数据。5 6 v i 内容目录 表目录 表2 1s a x 和d o m 的优缺点对比1 6 表3 1x m l 与r d b 的比较1 8 表5 1 信息地图字段及说明4 2 表5 2 信息地图示例。 表5 3 数据净化基本表:( b _ j h _ z z m m ) 表5 4 值码转换基本表( b _ - z z m m m ) 4 8 表5 5 各数据库与j d b c 数据类型的映射关系5 0 表5 6 数据库系统支持的大对象数据类型 表5 7 系统测试环境 v l t 5 2 5 4 南开大学学位论文版权使用授权书 本人完全了解南开大学关于收集、保存、使用学位论文的规定, 同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版 本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、 扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供 本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有 关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前 提下,学校可以适当复制论文的部分或全部内容用于学术活动。 学位论文作者签名:嚆 名 4 l 如( 年s 目跏b 经指导教师同意,本学位论文属于保密,在年解密后适用 本授权书。 指导教师签名:学位论文作者签名: 解密时间:年月目 各密级的最长保密年限及书写格式规定如下: 南开大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行 研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文 的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集 体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任 由本人承担。 、 学位论文作者签名:再 名 冰年 【4 】| 0 2 的 、:_ _ 女静性别 鼻。一 曩 i 。 墨。 | i i 豫囊| 1 一 一i魅碧誊玉岩锶名,。 j 奠一:蔓墓强一。点1 二鼍蓦= ;_ _ i 。翊渤辛景焉峰茹峙毫i _ i ? j | 1j ii 曩jii :一鬈i j i 曩_j i 。囊:譬 叠毒。 。i : 嚣 嘉i :r j _ | _ 1 霉 _ ! _ _ j 。| j - ;。: 一 蠢爹薹誊 二_ i _i 叠誊誓07 : i - ;- - - 。 篓薹= _ := 霪二薯。| = 薯蔓: | ic :| _ _ _ i 。;- 。2 _ _ ;_ | 。j 。攀i _ 。! 誊。鬈誊奠? 誊j 臻童i j 。i j 。 篝| :j 。i ! _ ! j :。j 善_ _ :。薯ji i :j o i 蠢誊r i 萋i ji :_ | 薯i 麓7 誓。: 示例2 3 学生信息表记录的x m l 代码 用d o m 对象来表示这段文档,具有图2 1 所示的形式: t e x t 2 4 2s a x 接口 图2 1 文档的d o m 树结构 s a x ( s i m p l ea p i sf o rx m l 简单x m l 应用程序编程接口) 是基于事件驱 动的,解析器顺序读过x m l 文档并生成相应的事件,根据解析器生成的事件来 第1 4 页 第二章x m l 技术简介 处理任务。在解析过程中遇到一个元素,就会生成一个相应的事件,s a x 解析 器把这个事件传递给相应的类,这个类是在解析器中注册了的事件处理器类。 在类中定义有处理相应事件的方法,当它接收到这个事件时,就会调用相应事 件的方法来进行处理,从丙完成整个程序的运行。与一般基于事件的编程不同 的是,用户可以定制事件,然而利用s a xa p i 进行基于事件的编程时,事件只 能由解析器产生。 s a x 解析器在处理拥有上百万节点的大x m l 文档时非常有效,然而由于它 在解析过程中没有保存文档的上下文信息,当它碰到一个新标记时根本就不知 道有关上一个标记的任何信息,这就增加了处理所有这些相关信息细节的负担。 因此,s a x 编程接口是一种较底层的接口。事实上可以把s a x 解析器看作是一 种推类型的解析器,s a x 产生一系列的事件,用户可以选择感兴趣的事件,并 为之提供包含处理方法的事件处理器,对于没有提供事件处理器的方法,s a x 解析器只简单地忽略它。 图2 2s a x 解析器生成事件 第1 5 页 第二二章x m l 技术简介 2 4 3d o m 与s a x 比较 表2 1s a x 和d o m 的优缺点对比 - = 叠 s a x 一二? - - = = 叠- - 砸o m 有效处理大文档,且内存的消耗不会随能执行强大的x s e r 变换,用 文档增大而增多,能显著节约内存和提升处 不同类型样式单为同一个文档创 理效率建出多个视图 一 i i i 树型结构自动维护包含文档 i 鍪嚣。 能随时根据找到信息的情况终止文档 上下文信息的复杂数据结构,执行 i 援 解析,避免了无谓的文档遍历 复杂的过滤功能 渊i 篓1 i 能用高层对象从文档中非常简单快速在内存中建立文档树型结构, i : 地创建出新文档,采用d o m 则只能利用底能随机访问数据,并能随意修改文 层的元素、属性和处理指令来构造新文档 档内容并保存修改 s a x 是属于底层的a p i ,给程序员更多d o m 属于高层的a p i ,编程 的控制权方便,得到更广泛的支持 ! 罐 不能保存文档的上下文信息;不能随机不能适应大文档的处理:占用 访问文档结构:不能实现复杂查询:目前缺系统资源多;处理速度不如s a x 虑j 1 乏浏览器的支持快;不能终止解析过程 2 4 4 如何在d o m 和s a x 之间选择 选择d o m 还是选择s a x ,这取决于下面几个因素: 夺应用程序的目的:如果打算对数据做出更改并将它输出为x m l ,那么在大 多数情况下,d o m 是适当的选择。并不是说使用s a x 就不能更改数据,但 是该过程要复杂得多,因为必须对数据的一份拷贝而不是对数据本身做出更 改。 夺数据容量:对于大型文件,s a x 是更好的选择。 夺数据将如何使用:如果只有数据中的少量部分会被使用,那么使用s a x 来 将该部分数据提取到应用程序中可能更好。另一方面,如果以后会回头引用 己处理过的大量信息,那么s a x 也许不是恰当的选择。 夺对速度的需要:s a x 实现通常要比d o m 实现更快。 第1 6 页 第二章x m l 技术简介 s a x 和d o m 不是相互排斥的,可以使用d o m 来创建s a x 事件流,啦可 以使用s a x 来创建d o m 树。事实上,用于创建d o m 树的大多数解析器实际 上都使用s a x 来完成这个任务。 在“数字校园”项目中,实现将各个部门的数据抽取到“数据中心”的数 据转换工具在解析“x m l 映射文件”以将各个部门数据库中的数据导出到x m l 文档中时,用的是d o m ;而在解析已生成的x m l 文

温馨提示

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

评论

0/150

提交评论