(计算机软件与理论专业论文)基于er图的xml模式设计方法研究.pdf_第1页
(计算机软件与理论专业论文)基于er图的xml模式设计方法研究.pdf_第2页
(计算机软件与理论专业论文)基于er图的xml模式设计方法研究.pdf_第3页
(计算机软件与理论专业论文)基于er图的xml模式设计方法研究.pdf_第4页
(计算机软件与理论专业论文)基于er图的xml模式设计方法研究.pdf_第5页
已阅读5页,还剩73页未读 继续免费阅读

(计算机软件与理论专业论文)基于er图的xml模式设计方法研究.pdf.pdf 免费下载

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

文档简介

摘要 x m “e x t e n s i b l em a r k u pl a n g u a g e ) 是用于表示w 曲上数据和文档的通用标 记语言,在很短的时间内就获得了广泛的认同,已经成为网络环境下主要数据交 换的标准之一。目前大量计算机应用使用x m l 模式描述数据结构;针对现实世 界进行抽象设计x m l 模式,逐渐成为w 曲环境下软件工稃中系统分析与设计阶 段不可或缺的环节。e 瓜图作为系统分析时普遍采用的经典图形化数据建模方 法,将副r 倒转换为x m l 模式具有重要的现实意义。 本文采用树结构描述x m l 模式,给出一种将e r 图转换为x m l 模式的方 法。允许用户选择e ,r 图的一个子图进行转换:对于同一张e 瓜蚓,可以转换成 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 文档的规范化问题。给出了基于x m l 模式树 的讧l 函数依赖的概念,并在此基础上提出了x m l 文档的部分函数依赖和传 递函数依赖:同时还对如何消除这两种函数依赖进行了研究。 关键词e 瓜图;x m l 模式;函数依赖;规范化 a b s t r a c t x m “e x 协鹪酗em a 檬叩g 岫g c ) saf 0 黼融u s e d 妇d e s c 曲i n gd a t a 鞠dd o c 哪! e 嗽 nt h e w o r l dw i d ew 曲1 ti se m e 鸦纽ga st h ed o m i n a n ts 掘n 由r df 盯e x c b 矗n 奢n g 如姐雌t kw 曲i na 如nj ) c r 妇l1 1 1 e 糟h a 曲e e n8 g r e a td e 猷o f 唧1 i c a l l o n su s i n gx m l s c h 哪a st od e s c r l b em ed a b s h u d u 陀 重o d e l i n gm e 婶a lw o r l dw i 睡x m l s c h e m a sh a sb e c o 艄e do n e0 fi b em o s li m o o r t 甜佳 l a c l l e s 抽5 y s l e m s 鞠“y 稿sg 熊d e s i g no fs o 脚a r ee n 昏n ee r i 鸭o n ( b ew e b 嚣瓜m 即 sac 1 8 s s i c a l m e f h o d 醴d 缸ai n o d e l m ga n dg e 腿r a i i yu e d 洫s y s k i 璐a n a i y s l s s 。“i ss i g n l f 把a b tl oc f a n s i a e e e 瓜m a p i n l 0 x m l s c b c m a s 霜1 i sp 8 p c rd e s c f 洳e sx m ls c h e m a su s i n gt s 既l c t u r e ,鞠dp r o p o s c sam e 出o dt o 拓a n s l a t e 捌r m a p n 把x m l s c h e m a s u s c f sa 糟a i l o 眦d t os e l e c tas u 瓠e t o f l y r m 译f o r 订缸s l a l i 叩f 0 r 8s p e c i f i e de 服m 8 p ti tc n nb e 细n s l 8 把dbo n et hf n o 艟x m ln e ee x p 犯骊e dx m ls 曲e m 8 s f ,玎a l l 砖啦em i e sb a s e do nt h e a t i v ep o s 谢挑so fe 珏t h ys c ta n dr e l a t i o ns c | nt h cx m 王jn e e a 陀p m s c n f e d a w e l ld 嘶g n e d x m l s c h e m a s i s w r y i m p o n a a t f o r x m l a p p l i c a t i 锄s x m ls c h 钾糯s m a y c o n t a i nr e d u n d a n ti n f o 舯8 t i o n 舯do p e 强t 0 na n 。h m l i e sd h et 0ab a dd e s 嘧矧x m ls c h e 珏日s w h 劬油瓣i e sl h ea 肿m a l yd a t ad e p e n 如n c i e s n 担p a p c fs m d i e s 如en o 珊a 珏魏l i 锄p b k mo f x l ld t 坼u n 船n 喀w x m l l l r e ea s 协出s c h e m 拣a c o a 弹o f f u n c t i 。n a ld 印e n d c n c y f o r x m l 幽c u m e n 协b a s c d0 n x m l n e e i s 即p o s e d ,卸d t i l e c o n 曲p 蚀o f p a n j 鲥m f 姒 0 n a i 出p e n d e l 托ya 刚 t r a n s i t i v e f n n 甜o n a ld 。p e n d e n c y f o r x 砒如e u m e n 担a r d 商眦d 1 s e do n 也i 3 n c c p ta l h o w t oe l 油i n a 忙也e s ef w of u n c t 讪m id 印曲d e n d e si sr e s c a 瞄1 e d 抽嘲i si ) a p c l k e y w o r d s ,rm a 搿x m l s c b e m a s ;铀l c t ,o n & id e p e n 出n c y ;肿f m a i z a d o n - h i - 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果。也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 签名:堕差垒盔日期:卫迦l : 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 铭:姐趾翱馘:孕肆隰必 1 1 研究背景 第l 章绪论 当前,i n t e r n e t 已经发展成为遍布全球的信息服务系统,渗透到人们的e 活、 工作和学习中,越来越多的数据开始以网络在线的方式进行发布、交换和集成。 作为i n t e m e t 最重要应用的w 曲正成为整个世界的窗口,它实现了全球用户和机 构信息的共享。 随着网络应用的日益广泛,急需一种作为i n t m c t 上信息交换和表示的工具。 此时,作为s g m l 子集且兼具有h f 儿简单性的可扩展标记语言) ( m l ( e x t e n s i b i cm a r k u pl 丑n g i i a g e ) 应运而生;啦j 1 翘是w 3 c ( w b t l dw i d ew e b c o n n i u m ,互联网联盟) 1 9 9 8 年制定的一套用于表示w 曲上数据和文档的通 用标记语言。它继承了s 0 m l 的灵活性和强大功能,并更为简便易用;) 姒l 着 重描述的是文档的内容,它的优势是描述任意层次结构的数据,使数据在溺络上 进行交流和处理更加方便快捷。x m l 真正实现了内容和显示的分离,加大了数 据存取的灵活性和可重用性。 良好的数据格式、可扩展性、高度结构化、便于网络传输是x m l 的主要四 大特点,它们使得x m l 在以下五个方面得到了广泛的应用【0 4 1 : ( 1 ) 设计与特定领域有关的标记语言 x m l 允许不同专业开发与自己特定领域相关的标记语言,有了这些语言, 这个领域的实践者可以相互交换短文、数据和信息,而不必担心接收方是否有特 殊的、专用的软件来创建数据。 ( 2 ) 丌发灵活的w 曲应用软件 x m l 的可扩展性和灵活性允许它描述不同种类应用软件中的数据,且能集 成不同来源的数据,这给数据的建直提供了极大的方便:同时由于基于x m l 的 数据是自我描述的,数据不需要内部描述就能被交换和处理,这一刨都为开发灵 活、高效的w e b 应用软件奠定了基础。 ( 3 ) 异构系统问的通信 ( 3 ) 异构系统问的通信 1 , 北京_ 【业大学工学碗上学位论文 在异构系统之问进行通信或交换数据,通常需要使用专门的软件。但是自从 x m l 出现以后,由于x m l 的格式简单易读,只要各系统之问安装了x m l 解析 器,便可解读另外系统中传来的信息,进而加以利用,从而完成不同系统、不同 机型之间的通信。 ( 4 ) 在w c b 上发布数据 x m l 是一种开放的基于文本的格式,使用 册进行传递,不需要对现存 的网络作任何改变。x m l 的压缩性也很好,不会给网络传输增加太大的负担。 ( 5 ) 更有意义和更准确的搜索 x m l 的标记含义丰富,与其内容紧密相连明确的标志所标记的内容,因 而使得检索行为更加简单,检索结果也更有意义。 虽然订l 是作为数据表示的规范提出的,但是由于其强大而灵活的表达能 力,且x m l 数据交换与平台无关,同时又具有狠强的互操作能力,以x m l 为 主导的一系列规范已成为新一代的w 曲标准,墩界各大厂商也纷纷推出围绕 x m l 发展的产品与解决方案。总之,对毗。的深入研究具有巨大应用前景e 1 2 问题的提出 正是随着x m l 规范的推广和普及大量的w 曲信息以x m l 的形式存在和 交流,如何对x m l 信息进行有效的管理和使用,越来越具有重要的研究意义。 x m l 作为一种半结构化数据的表示模型,与x m l 相关的研究工作有很多, 如x m l 的数据查询模型阁,基于x m l 的数据库管理系统【q 等等。但是使用讧l 模型为现实世界建模的研究却很少,另外研究中很少有从数据管理的整体流程出 发,即在考虑完整性约束的前提下,对x m l 模式设计进行探讨。 在w e b 环境下,为了适应异地数据共享的需求,目前大量计算机应用使用 x m l 模式描述数据结构;针对现实世界进行抽象设计x m l 模式逐渐成为w e b 环境下软件工程中系统分析与设计阶段不可或缺的环节。e 瓜图作为系统分析时 普遍采用的经舆图形化数据建模方法,将e 瓜图转换为x m l 模式具有强烈的现 实意义。 另一方面,| f 如规范化理论是关系数掘库模式设计的重要组成部分x m l 笫l 币绪论 模式的规范化问题也是x m l 模式设计中非常重要的研究领域,州时还是设计t 结构化数据库的主要核心组成部分和理论基础n 众所周知,如果关系数据库的 模式设计不好可能造成数据库中数据冗余,数据库形成后,某些异常修改可能 导致数据库数据不致,某些异常删除可能导致数据库丢失信息;犀样,只有设 计合理、结构良好的x m l 模式才能保证数据交换与集成任务的顺利完成,如果 x m l 模式设计小台理,将直接影响到x m l 作为一种数据表示和交换标准的应 用。 1 3 相关研究内容及现状 1 3 1e ,r 图到垤l 模式的转换 目前把e r 图转换为x m l 模式的通常做法是将整个e 瓜图转换为由聊巾 或者x m l s c h e m a 表示的一个固定x m l 模式。 文献f 8 从数据库设计的角度出发,在c a s e 工具中添加了创建x m l 模式的 功能,即使用。牾e 对实体及其相互联系建模后,在创建数据库对象的d d l 语 句的同时创建此数据库的x m l 模型,具体的方法是将e ,r 图转换为d t d 来完 成该数据库的x m l 模式的创建。文献【9 】提出:在定义基本x m l 模式时要把握 e 瓜图的语义特点和x m l 的结构特点,充分考虑e 瓜图所表述的丰富语义;它 还给出了根据数据库的肌图自动定义出相应x m l 文档的肼巾的自动转换算 法并且尽可能地保持了e r 图的语义信息。 1 3 2x m l 规范化研究 对于关系数据库中的任意一个关系,需要满足一定的数据依赖约束。满足不 同程度数据依赖约束的关系模式,称为不同范式的关系模式。同样为了避免数据 冗余和操作异常问题的出现,x m l 文档也应该满足一定的数据依赖约束。在 x m l 模式的设计中,根据实际应用需求,x m l 模式应该满足不同程度数据依赖 约束,此r 十的x m l 模式称为满足不同范式的x m l 模式。关系数据库的规范化 问题已经形成比较成熟和完善的理论体系1 1 0 】,研究x m l 文档的规范化问题,可 以从中得到有益的启示。但是x m l 作为一种半结构化的数据表示模型,和关系 1 北京工业大学工学碗士学位论文 数据库在结构上存在显著的差异。所以不能把关系数据库中相应的理论直接应用 到x m l 中,x m l 文档规范化问题要更加复杂。 由于x m l 自身的特殊性,使得传统的键码约束理论无法适应x m l 需求。 如果令x m l 数据扮演数据库的角色,那么在x m l 文档中声明关键字是必不可 少的一项关键技术。因为关键字具有无可替代的作用,各个关于x m l 模式的设 计都对关键字或者与之相类的同一性约束进行了定义。例如: ( 1 ) d 巾中定义了i d ( i d e n t i y ) 属性,以便在个x m l 文档中唯一标识一个 元素: ( 2 ) ) ( 1 l s c i l e m a 提出了基于x p a i h 的k e y 约束,x p a t l l 提供了一套完整的路 径规范,使得k e y 约束的完整性得到一定程度的提高; ( 3 ) x m ld 咐a 定义关键字( y ) 与外部关键字伊k e y ) 的初衷是为了体现元素 类型之间的固定关系,实现元素之间的互相引用。 然而,现有x m l 模式中的关键字概念不能很好的刻画具有层次结构的x m l 数据,目前,学术界对x m l 关键字的也进行了一定的研究,健是并不是很活跃, 这与关键字在x m l 数据的运用中可能发挥的重要作用是很不相称的。文献f 1 1 】: 给出了一个独立于任何模式规范的关于x m l 关键字的抽象定义。对于关键字中 结点的定位,该文使用了自定义的路径表达式,语法则借用了x s l 中模式的语 义与,a m 。这种路径表示方法只允许在树中向下移动,并且能够进行由结点组 成的路径之间的连接操作,因而在表达方式上较x p a m 规定的路径表达式更为简 明。文献1 1 2 】和【1 3 】也提出了) 洲l 键的概念,同时讨论了x m l 键的蕴涵问题, 并且给出了关于) 【 l l 键的完备的推理规则集。文献【1 4 】中给出这样一个结论: 若x m l 文档是根据预先定义的脚m 发布的,则在满足d 1 d 的前提下层次式的 绝对键、相对键约束检测是可判定的,且后者的检测包含了前者的检测a 文献【1 5 】 给出在d 1 d 中如何保持x m l 模式的完整性约束。对于半结构化数据和x m l 文 档关键字的相关研究还有文献 1 6 1 8 】。 订l 键和函数依赖有密切的关系,对于x m l 文档的函数依赖,文献【1 5 】提 出了一种定义,但是该定义对于x m l 文档中的相对函数依赖和绝对函数依赖的 不同没有进行探讨。对于x m l 文档的函数依赖,文献【1 9 】给出了另一种定义, 该定义是根据x p a t h 和属性的混合表达式提出的;但是这种定义只考虑了元素属 4 第l 章绪论 性和元素的值,没有考虑元素的节点。 对于半结构化数据和x m l 文档的规范化相关的研究工作包括;文献【1 5 1 提 m 半结构化数掘的+ 种范式n f s s :n f s s 是应用于半结构化数据的种模式, 它在语义层上减少了现实世界中实体之唰的数据冗余。文献【2 0 】提出x m l 的一 种范式x n f :当采取一种合适的编码方法把x m l 文档表示成关系数据库的形式 时这种范式是对关系数据库中b c n f 和嵌套关系中n n f 的一种泛化,但是这 种范式并不能解决x m l 数据的多值依赖。文献【2 1 】为半结构化数据定义了1 种 叫s 3 g r a p h 的模式,但是这种模式也只能部分地消除数据的传递依赖。 1 4 主要研究内容 本文以x m l 作为半结构化数据模型的代表,以扩充的e 限图描述现实世界, 对扩充e 瓜图基础上x m l 模式的设计进行研究,主要研究内容包括: 扩充剧r 图中各种成分到x m l 模式树的转换规则 研究基于扩充e ,r 图进行x m l 模式设计时需要遵守的转换规则及其理论基 础,主要转换规则包括; e 瓜图中实体集到) 口订l 模式树的转换规则( 包括弱实体集,子娄实 体集,父亲实体集等) ; e 爪图中联系集到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 模式树中不必要的函数依赖的规则进行探讨。 1 5 本文结构 本文的组织结构如下所示: 第一章,简要介绍x m l 模式设计的研究目的、研究意义、研究现状和发展 趋势以及主要研究内容。 北京工业大学工学碘士学位论文 第二章,阐述基于e 瓜图的删l 模式设计系统的设计思想,系统架构以及 系统的工作过程。 第三章,给出了x m l 模式树的定义,并且提出x m l 树关键字的概念以及 x m l 模式树上关键字的结构特征。 第四章,给出扩充e 瓜图中各种成分到x m l 模式树的转换规则,包括实体 集和联系集的转换规则。 第五章,基于x m l 模式树,对x m l 模式的规范化问题进行了研究,给出 了基于x m l 模式树的x m l 函数依赖的定义。 第六章,讲述基于扩充e 瓜图的x m l 模式设计系统的实现方法。 最后,对工作做出了总结。 筇2 币堆十e ,r 幽的x m l 横a 啦| 十系统的破。n 7 榘 第2 章基于e r 图的x m l 模式设计系统的设计方案 2 1 系统的功能目标 经过几年的发展和应用,由于x m l 使得数据交换可以不必考虑双方存储数 据的不同平台,以及表示数据的不同数据模型,因此x m l 正在成为w e b 上企业 应用程序进行数据交换的标准格式。但是由于x m l 是一种可以自定义标记的语 言,如果每个部门或企业都按照自己的爱好编写x m l 文档,就会出现大量不同 规则的标记和文法结构,这意味着x m l 文档只能局限于自己使用的应用程序, 不能在部门或企业之间交换和共享,以x m l 格式表示文档就没有多大的意义。 因此,当需要在更广的环境里交换、处理及显示x m l 文档时,需要通过模式制 定规则来描述x m l 文档结构和被允许的数据内容。 在这种背景下,越来越多的研究人员和研究机构加入了x m l 模式设计研究 的行列,使得在w 曲上发布的x m l 数据能够减少冗余,同时避免用户对它进行 操作时所产生的各种操作异常现象。 本文设计的基于e 瓜图的x m l 模式设计系统最终的设计目标是在广泛的 x m l 应用中使用的x m l 模式在一定程度上达到最优,并且能够较好的刻划客 观现实世界。 基于e ,r 图的x m l 模式设计系统的具体功能目标有: ( 1 ) 在定义基本x m l 模式时,把握副r 图的语义特点和x m l 的结构特点 充分考虑到e 爪圈所表达的丰富语义,使得基本的x m l 模式能更加体现 要发布数据的内在联系,并且为用户在基本的x m l 模式上更方便的定义 更高级的x m l 模式打下基础; ( 2 ) 对即将发布到w e b 上的x m l 模式进行规范化处理,减小x m l 模式中因 不必要的函数依赖带来的数据冗余克服对x m l 文档进行删除、修改等 操作带来的异常。 i ! 奎三兰盔:三兰堡圭:兰兰吝_ 2 2 系统的设计 2 2 1 体系结构 本系统以x m l 作为半结构化数据模型的代表以扩充的e ,r 图描述现实世 界,对扩充e 瓜图基础上x m l 模式的设计进行研究,这种研究是对半结构化数 据管理中从现实世界到机器世界抽象建模阶段的一种探讨。 系统将给定的一个e ,r 图或部分e 瓜图转换成x m l 模式,并根据x m l 规 范化规则对x m l 模式进行优化处理,将x m l 模式发布到i l l t e m e t 上;另外,系 统还可根据x m l 模式和存储在磁盘介质上的数据形成) ( 1 l 数据发布到h l c e m e t 上。系统壤终的设计目标是使在w 曲上使用的x m l 模式能够很好的刻划现实世 界,保证以x m l 格式表示的文档能够在不同的应用中正常的进行交换、处理以 及显示。基于e ,r 图的) ( 1 u l 模式设计系统结构图如图2 1 所示。 ) 呲模式设计幕境 回卧 i口转换高 l b ,倒 2 2 2 系统介绍 图2 - 1 基于e 瓜圈的x m l 模式设计系统结构图 f 培u 他2 - ls y s 把ms 帅c 恤托d i a g n m 本系统采用x m l 模式树作为描述) 洲l 模式的数学模型,x m l 模式树设计 目标是描述x m l 文档类型数据结构,即x m l 模式的抽象模型。x m l 模式树更 详细的介绍参见第3 章。 文献2 2 1 对x m l 的规范化问题也进行了研究,并且提出基于d t d 的x m l 树x m l 树定义为血元组( 、l a b ,e l e ,a t t ,m o t ) ,每一棵x m l 树都应该与一个d t d 严格对应的;对于x m l d t d 规范化问题都是基于x m l 树进行研究的。与x m l 笫2 牵毕十剧r 幽的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 模式可以清晰 地反映客观现实t f = 界,并且依据基于x m l 模式树关键字的定义和x m l 模式树 规范化理论。判定关键字的有效性以及x m l 模式的优劣;但是在实际应用中, 由于x m l 模式树太过抽象,还是d t d 、x h l l s c h e m a 这些较为成熟的x m l 模 式通用性更强。因此将设计完善的x m l 模式树转换为x m l s c h e m a ( 或肼巾) 也是具有很强的现实意义,本系统最终在h l t m c t 上发布的x m l 模式是证l s c h e m a ( 或d t d ) 。 2 2 3 可视化工具方案 由于本系统基于e 爪图,因此考虑采用一种更为直观的方式将其展现在用户 面前,即给出一种可视化的图形表示。 c a s e 是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软 件开发。c a s e 把软件开发技术、软件工具和软件开发方法集成到一个统一而一 致的框架中,并且吸收了c a d ( 计算机辅助设计) 、软件工程、操作系统、数据库、 网络和许多其他计算机领域的原理和技术。因而,c a s e 领域是一个应用、集成 和综合的领域。 随着数据库理论研究的深入和实践的发展,出现了很多的数据库设计的辅助 工具,它们是具有图形化用户界面( g u i ) 用来帮助设计数据库的应用软件,它 的主要功能包括:1 ) 确定业务和用户需求;2 ) 对业务处理建模:3 ) 对数据流 建模,比如:数据流图等:4 ) 对实体及其相互联系建模,比如:e ,r 图等;5 ) 生成创建数据库埘象的d d l 语句,比如:创建表、视图等;6 ) 对数据库设计周 期的支持;7 ) 业务处理二次工程:8 ) 数据库应用软件的版本控制;9 ) 文档和 用户反馈信息报告的牛成等。 2 2 3 1几种e r 图建模的可视化工具 以下l 种c a s e 工具支持i d e n x 即信息建模,就是我们常说的剧r 图、实体 北京丁业大学t 学硕士学位论文 关系图,也就是数据库结构图。 1 e _ r w l n :c a e r w i n 是功能强大、易于使用的数据库设计工具。它为设计、 生成、维护高水平的数据库应用程序提供了非凡的工作效率。从描述信息需求和 商务规则的逻辑模型,到针对特定目标数据库优化的物理模型,e r w i n 帮助用户 可视化地确定合理的结构、关键元素,并优化数据库。e r w i n 不仅是数据库设计 工具同时还是一个功能强大的数据库开发工具能为所有主流的数据库自动生 成数据库表和成千上万条存储过程和触发器代码。 2 m s s i o :v i s - o 是微软出品的流程图制作软件,它的出发点是使用科技 处理每天所面对的问题,就像我们用试算表整理分析复杂的数值一样;这也像桌 面出版软件的功能一样,它能让数千人制作出具有专业品质的文件,而不必雇用 专业的设计师。s i 0 让p c 使用者以前所未有的便利性绘制图表,图表能把复杂 的想法轻易地以容易理解的方式呈现出来,使人们的沟通及企业的运作更加顺畅 无障碍。 3 p o w e r d e s i g n c f :p d w e r d e s i 朗“是美国s y b e 公司的一种优秀的软件建 模c a s e 工具,早期是从数据库建模设计工具发展起来的。现在的p 0 m r d i 窘e r 版本已经是集企业流程建模( b i s sn o c e m o d e h g ) 、数据建模( d g t a m o d c l i n g ) 和面向对象建模( o q e c to d c n tm o d c n l l g ) 于一身的优秀企业建模工 具。 4 r 甜i a lr d :r a 曲n a lr c 是一个完全的,具有能满足所有建模环境 ( 、c b 开发、数据建模、v i s u a ls t u d i o 和c + + ) 需求能力和灵活性的一套解决 方案。r o 允许开发人员、项目经理、系统工程师和分析人员在软件开发周期 内在将需求和系统的体系架构转换成代码,消除浪费的消耗,对需求和系统的体 系架构进行可视化、理解和精练。通过在软件开发周期内使用同一种建模工具可 以确保更快更好地创建满足客户需求的可扩展的、灵活的并且可靠的应用系统。 2 2 _ 3 2 p o w e r d e s i g m r 建模工具及其扩展性分析 对上述几种c a s e 工县进行分析和比较,最终选择p o w e r d e s i g i i e r 作为w r 图的建模工具。 一p o w e r d e s i g n e r 的优势【冽 1 p t 0 n l e 扩展机制和v b s c r i p i 脚本语言 第2 审幕十e 瓜翻的x m l 模止址f r 系统的啦i l 卉巢 p r o l ! i l e 是p o w e r d c s i g n c r 提供的一种扩展机制。终合附加的语义,p r o n l e 可 自定义元模型,同时可以创建对象,定义对象图形,新增对象的扩展腻牲、方法 以及转换等。在此扩胜机制下,我们可以对现有的元模型或元类进行扩展和修改。 同时,在p d w e r d e s i g n e r 中提供了对m i c r o s nv b s 口i p i 的支持。因此用户可以编 写脚本对轴w e 由e s i g n e r 元模型中对象的属性和方法进行鐾改,以满足需求:也 可以通过脚本语言直接创建对象。 2 p o w e r d e s i g n e r 提供了对横型的检查 p o w e r d e s i 印c r 提供了对模型的检查,包捶模型中的图,图中的对象,对象 的属性、联系等,通过检查产生错误信息和警告信息,指导用户进一步完善模型 的设计。 3 捌l 格式存储 p o w d e s i 髓e r 设计得到的模式,虽然表现形式上是图形,但是最终是用 x m l 格式来存储。由于x m l 的可移植、跨平台等特性,可以实现最终模式与 外界的交按,模型之闷豹转换也将变得容易。 二p o w d e s i 帮e r 的工作模式 蚓2 - 2p d w e f d 嚣i 酗e r 韵,l 一作模式 f j g u 陀2 - 20 p e 咖i n gm 0 d eo f p 0 w e r d e s j g n e r 在p o w e r d e s j g n e r 中,有p d x s m ( x m l m 0 d e l ) 、p d c d m ( c o n c e p t u a ld a t a m o d e l ) 、p d o o m ( o b i e c to r i e n l 醚m o d e l ) 、列f 襄m ( n e em 0 d d ) 等8 孛 i 元模型。 每一种元模型中都有相应的元类,元类中的对象都具有各自的属性和方法,其中 有些方法和属性是共享的。元模型通过模型图形( m o d e lg r a 曲i c s ) 实现模型的 i ! 塞三些奎耋三耋堡圭兰兰兰三 :一 图形化显示。在模型图形中可以通过各种显示参数对不同的对象视图和格式进行 设置,最终以符号的集合显示在用户面前。 2 3 系统的工作过程 图2 _ 3 系统主要工作过程 f 婚玳2 d m t i np f o o e 鼹o f s y 岫 如图2 1 和图2 - 3 ,基于e ,r 圈的咀。模式设计系统的主要工作过程为z ( 1 )用户利用p o 骶删g r 创建e l t 圈; ( 2 ) 系统将用户指定的日咀图或者是用户选择的e 瓜子圈,根据转换规则转 换为x m l 模式树; ( 3 ) 用户可以在转换得到的x m l 模式树上,声明关键字; ( 4 ) 根据x m l 模式树上关键字的结构特征系统判定x m l 模式树上关键字 的有效性; ( 5 ) 根据x m l 模式规范化的研究理论,对) 【l 诅l 模式树进行规范化处理; ( 6 ) 系统将优化后的x m l 模式树,转换为d t d 或者是x m l s c h e m a ; ( 7 )系统将转换得到的d t d 或者是x m ls c h e m a 发布到i n l e m c t 上,或者连 同存储在磁盘介质上的数据形成x m l 文档一同发碲到b l t e m e t 上。 鎏:耋董:呈! 型塑蚤兰! 堡垒些生垂錾塑璧甚至耋 2 4 小结 本章主要介绍了基于e ,r 图的x m l 模式设计系统的歧计方案,包括:系统 的功能口标、系统的设计和系统的工作过程等,其中系统的设汁中对系统进行了 简要的介绍,并且给出了系统的体系结构,另外还介绍了可视化工具的选择方案。 蚺3 帝x m l 模t 树段je 关键, 第3 章x m l 模式树及其关键字 3 1 讧l 模式树简介3 1 1 l 模式3 1 1 1 讧l 模式简介 模式【”】(schema)的含义是格式或者形式,这个单词已经从原始定义演变为更 通用的含义。当涉及数据类型的时候,模式用来描述其他文档允许的内容。对于 不同的技术领域,在应用中会遇到不同种类的模式,例如词汇表模式、lu)f模式、组织的模式,其中也包括x m l 模式。 xml模式是指用来描述诅l文档结构、约束等因素的语言。w3c提出的 描述x m l 模式的语言有多种1 2 5 硎,其中包括x m ld 1 d 、x m ls c l l e m a 、s o x 等等。 x m l d l d :d 1 d 是d o 锄m e n l l _ y p c d e 矗i l i t j o n ,即文档类型定义的缩写。 文档类型定义描述在同一类型的xml文档中允许出现的元素、属性、实体和符号表示法,以及这些内容之间可能的相互关系。 x m l s c h e m a :w 3 c 推出的x m l s c h e m a 规范提供了除d 1 d 之外的又 一种描述文档结构的方法。与dtd相比它的功能较为全面,使用也更为灵活。 在保证xml文档良构性的前提下,它提供了一定范围的文档完整性约束机制。 x m l s c h e m a 引入了数据类型的概念。使得用户更容易地处理各种不同的数据类型。s o x ( s c h e m ef o r o b l c c t 0 r i e n t e d xml,面向对象xml的模式)规范首先在1 9 9 8 年9 月列为w 3 c n o 陋。它的设计考虑了同期出现的x m l d 朋a 和dcd建议、国际标准表示语言,同时也受到了java语言的影响。它的模式中 使用了x m l 语法,支持x m l 命名空问、扩展的数据类型、元素类型继承以及嵌入文档。 3 1 1 2 垤l 模式的作用x m l 模式的作用【2 目可以分为以下几点: x m l 模式的作用【2 8 1 可 北京工韭大学工学硕士学位论文 1 数据确认 x m l 模式最常见的用法之一,就是依照预定义好的规则来验迁x m l 文档 的有效性。x m l 模式可以确认:元素和属性的结构和元素的顺序等缚。 2 。交易双方的舍约 通常情况下,x m l 文档实例会在组织之间传递。模式就如同交易双方都必 须遵循的合约。它清楚地说明了文档结构的规则及要求,如果一个实例被模式验 证并且通遗,那么“合约”就可以使用瘟蹋工具来实施。坚持使用公认的合约会 给交易双方的工作带来报多便利; n 1 台约的制订者对实际中遇到的困难做了充分的考虑,这一点是文档编写 者无法比拟的: 犯1 使用同一舍约可1 2 点使人彳f 】在协调时避免一些不必要的争论; 0 ) 根据模式编写x m l 文档时,编写人员不用考虑其体的元素和属性用什么 标记表示。 3 系统文档和数据扩充 ) 蹦l 模式可以为x m l 文档实例中的数据提供文档,任何需要了解这些数 据的入,都可以从模式中获得关于项目的名称、结构和数据类篷等。x m l 模式 处理过程也可以添加刭实例中。 3 1 2 ) 礤亿模式搏提出扮意义 本文采用x m l 模式树 嚣 作为描述) 【 仉模式的数学模型,) ( i 旺l 模式树设计 晷标是描述) 洲l 文栏类型数据结构,即x 地模式的抽象模型。 在w 3 c 提出的几个x m l 相关规范中x p a i h p 仉3 1 l 豹数据模型也是树结构的, x p a t h 中节点类型很多。共有七种节点:根节点、元素节点、属性节点、文本节 点、注释蒂点、处理指令节轰和名称空闻节点。另外,d o m i ” 在解折文件后, 不管这个文档有多简单或者多复杂在内存中也会创建节点树来表示x m l 文档; 节点树生成之后,开发者可以通过d o m 接口访问、修改、添加、删除、创建节 点树中的节点和内容:d o m 树中节点豹类型也徽多:属性节点、元素节点、文 本数据节点、实体节点、注释节点、包含文本中来解析豹块节点和包含文档的结 构信息节点等等。 鞯3 争x m l 梗成树技j i 燕键一 x m l 语亩的语义集中体现在兀素的标签上,与x p a l h 和d o m 的树模型相比, x m l 模式树的构成成分单一,完全山代表元素类型的结点组成;那些与x m l 文档处理信息相关的而与x m l 模式的语义信息无关的结点则在x m l 模式树中 不予体现;由于x m l 模式树的组分只涉及元素结点,町咀更好的体现x m l 模 式的语义。而与d t d 、x m ls c h e m a 这几个通用的x m l 模式相比,x m l 模式 树提供了一种能够充分表达x m l 史档类犁的语义的抽象方法,特别适用于x m l 文档类型的逻辑设计阶段,既不必为使用某种x m l 语言规范所带来的交流问题 而担忧,也不必过早地涉及x m l 文档的处理细节。 3 2 讧l 模式树 3 2 1 l 模式树定义 定义3 1 :x m l 模式树 x m l 模式树是一棵具有结点标签的根树,树的根结点没有前驱结点,除了根 结点之外的所有结点都有且只有一个前驱结点;模式树结点类型唯一,完全由代 表元素类型的结点维成;它用来描述相同类型一系列l 文档的数据结构。 “l 模式树记作;t = ( v ,f r c q ,e ,k ,r ) ,其中: v 是x m l 模式树全体元素类型结点组成的有限集,并且结点扩充了结点 出现频度的标识: f r c q ( v ) 是从v 到结点出现频度标识的映射,对于每一个v v ,f i m ( v ) : = 1 | + _ f r 。q ( v ) = 1 ,v 出现且只出现一次: f r e q ( v ) = ? ,v 不出现或只出现一次; f r c q ( v ) = + ,v 不出现或出现多次; h q ( v ) = + ,v 至少出现一次; e 是从v 到v 的映射,对于每一个v v ,e ( v o := 口i v 。,( v i ,v 。v ,且 v i v 。】即e 表示v 中结点元素之问的偏序关系; k 是从v 到v 的幂集p ( v ) 的映像,设v v ,如果k ( v ) = , 是v 的子 集,则 是v 的关键宁结点集合; 第3 章x m l 模树段j e 关键, 3 2 2x m l 模式树的实例化 x m l 模式树本身1 i 包含任何数据。x m l 数据可以_ f 1 ;jx m l 模式树实例化得 到的x m l 树表示,也可以用x m l 文档的形式表示。如果x m l 数据以x m l 文 档形式保存,那么x m l 模式树可以看作对x m l 文档数据结构的描述,而后者 是前者的实例化。x m l 文档也町以表示为一棵树。 定义3 2 :x m l 树 x m l 树是由元素结点和数据结点组成的一棵根树,其中的数据结点都是叶 结点。一个x m l 文档可以解析为一棵x m l 树。 定义3 3 :订l 模式树的实例化 x m l 模式树的实例化指的是将x m l 模式树扩展为保留了出现频度标识符的 x m l 树,具体方法如下: r 1 ) 为x m l 模式树中有关的叶结点添加数据子结点: ( 2 ) 根据添加的数据结点,固化所有子树中包含数据子结点的可选或者多选 分枝点; o ) 消去子树中不包含任何数据子结点的可选或者多选分枝点及其子树。 i 竺竖j i 一蛐- 一j2 唑恻! 一竖j 点鲤! 叫:! 鬯j l 璺i3 3 学生模式树实例化之后得到的一样x m l 树 f i g 眦3 3 a x m l t 坤e a n 盯i 呲a n c i n g 跏胁 x m l s c h e m a 讯e 图3 3 品示图3 2 中的“学生模式树”实例化咀后得到的一棵x m l 树。先( 根) 序遍历一棵模式树实例化后得到的x m l 树,依次输出结点的内容,即得到一个 x m l 文档。这样的x m l 文档是确保良构的,并且满足x m l 模式树所确定的模 式。图3 1 中左边的文档即为先序遍历图3 - 3 中x m l 树所输出的x m l 文档。 x m l 模式树中的结点包含了出现在同一类型x m l 文档中的所有可能元素类型。 鹕3 常x m l 模a 树发i 关键一 x m l 模式树的相关定义和函数。 已知一棵x m l 模式树t :t = ( v ,f r e q ,e ,k ,r ) 。 定义3 4 :x m l 模式树结点类型定义 虽然x m l 模式树结点类型唯一,完全由代表元素类型的结点组成,但是根 据结点出现频度及是否是叶结点,仍可将模式树的结点划分为如下几种类型: r :r 被称为x m l 模式树的根结点; - e 【v ) = 口:v 被称为x m l 模式树的值结点; - e ( v 1 口:v 被称为x m l 模式树的内结点; f r c q ( v ) = l :v 被称为x m l 模式树的固定结点; f r e q ( v ) 1 :v 被称为x m l 模式树的非固定结点,其中,f r 。q ( v ) = ? :v 被称 为x m l 模式树的? 结点;f r e q ( v ) _ ,:v 被称为) 蹦l 模式树的唾占点:h 吲v ) = + : v 被称为x m l 模式树的+ 结点; e “) 口且岫( v ) 1 :v 被称为x m l 模式树的非固定内结点; e ( v ) 口且白c q ( v ) = 1 :v 被称为x m

温馨提示

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

评论

0/150

提交评论