




已阅读5页,还剩50页未读, 继续免费阅读
(计算机软件与理论专业论文)xml应用中的模式设计研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
x m l 应用中的模式设计研究 摘要 x m l 正以其自描述性、可扩展性以及计算机易处理性迅速取得了学术界和企业 界的广泛认同,成为数据表示和数据交换的标准。随着) ( m l 应用的广泛,如何针对 一个应用环境设计个优良的x m l 模式就成为至关重要的问题。如果x m l 模式设 计得不妥当,将会给以后使用、维护这些x m l 文档带来诸多的困难。 本文借鉴了关系数据库中关系模式设计的一些优秀思想,提出了在x m l 应用中 进行模式设计的一套解决思路。把x m l 模式设计的工作分成概念设计和逻辑设计两 个阶段进行,在概念设计阶段,使用x e r 模型对现实世界进行建模;在逻辑设计阶 段,将概念设计阶段的结果x e r 图转化成x m l 模式的图形表示x t r e e 模式图,并 使用启发式的算法对该图进行重构,以消除可能的数据冗余和操作异常。 本文对x m l 应用中的模式设计进行了较深入的研究,做出了以下贡献:提出了 x m l 模式设计的总体框架;对传统e r 图做了适当改进,提出了用于对x m l 应用 建模的x e r 模型,定义了x m l 模式的图形表示x 一_ _ r e e 模式图,并给出了由x e r 图向x t r e e 模式图的转换算法;借鉴了前人的研究成果,提出了在x 1 r e e 模式图 中消除常见的不良x m l 数据依赖的启发式算法。 关键字 x m l d t d x m l 模式,模式设计 x m l 琏堪孛翁模式敬秘掰究 a b s t r a c t x m li se m e r g i n ga st h es t a n d a r df o r m a to fd a t ar e p r e s e n t a t i o na n d e x c h a n g e f o ri n t e r n e t - b a s e db u s i n e s s a p p l i c a t i o n s t h ep r e v a l e n c e o fx m lm a k e si t i n c r e a s i n g l yi m p o r t a n t t od e s i g n “g o o d ”x m ls c h e m at op r e v e n td a t ar e d u n d a n c y a n do p e m t i o na n o m a l i e s i ft h ex m ls c h e m ai sn o t d e s i g n e dp r o p e d y ,i tw i l lc a u s e m a n yp r o b l e m s l nt h e c o n s e q u e n t u s ea n dm a i n t e n a n c eo ft h e s ex m ld o c u m e n t s b a s e do nt h eg o o di d e a so fs c h e m a d e s i g ni nr e l a t i o n a ld a t a b a s e s ,t h i sp a p e r p r e s e n t sar e s o l u t i o no fs c h e m ad e s i g ni nx m la p p l i c a t i o n 。t h et a s ki sd i v i d e d i n t ot w o s t e p s :c o n c e p t u a ls t e p a n d l o g i c a ls t e p ,i n t h e c o n c e p t u a ls t e p , c o n c e p t u a l m o d e li sc r e a t e d u s i n g x e rm o d e l ,w h i c h r e p r e s e n t s r e a l i s t i c s e m a n t i c sn a t u r a l l y i nt h el o g i c a l s t e p t h er e s u l to ft h ec o n c e p t u a ls t e p ,x e r d i a g r a m i sc o n v e r t e di n t ox - t r e es c h e m ad i a g r a m 。t h e nt h ex - t r e es c h e m a d i a g r a mi so p t i m i z e du s i n gh e u r i s t i ca l g o r i t h m st or e m o v ed a t ar e d u n d a n c ya n d o p e r a t i o na n o m a l i e s t h i sp a p e rh a st h e f o i l o w i n gc o n t r i b u t i o n s :i tp r e s e n t sag e n e r a l f r e m e w o r ko f s c h e m a d e s i g nl nx m la p p l i c a t i o n 。b a s e do ne rm o d e l 。x e rm o d e l i sd e f i n e dt o r e p r e s e n tt h es e m a n t i c s o fx m la p p l i c a t i o n ag r a p h r e p r e s e n t a t i o n o fx m l s c h e m a ,x - t r e em o d e l ,i sd e f i n e da n d a na l g o r i t h mo f c o n v e r i n gx e rd i a g r a m t o x - t r e es c h e m ad i a g r a mi sa l s op m p o s e d t h i sp a p e rg i v e sh e u r i s t i ca l g o r i t h m s 如rx - t r e es c h e m a d i a g r a mt or e m o v e b a dx m ld a t ad e 站e n d e n c i e s , x m l d t d 。x m ls c h e m a ,s c h e m ad e s i g n x m l 应用中的模式设计研究 1 1x m l 简介 第一章引言 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 ( w o r l dw i d e w e bc o n s o r t i u m 互联网联盟) 提出的一套用于w e b 网络上的数据和文档结构的通 用标记语言。w 3 c 原意是用来解决h t m l 信息的不确定性和网站之间的数据交流 问题,但随着它的应用深入,特别是与j a v a 语言配合,在软件开发、网站运营、移 动互联等方面逐渐呈现出它的优秀性能。很多技术专家和商业人士都预言它的出现 将引发互联网技术发展的又一次浪潮。x m l 可以解决网络中跨平台的数据交流问 题,使不同的网络信息可以以精确的、可供人和机器分析再加工的结构化、半结构 化数据的形式向外界提供。 万维网联盟( w 3 c ) 开发的x m l 是标准通用标记语言( s g m l ) 的一种变体, 它采用了优化浏览器显示文档视图的严格的规则集合。从s g m l 中经过精心修剪而 来的x m l 既保持了s g m l 的功能,同时又减少了s g m l 的复杂性。 与h t m l 不同,x m l 允许文档开发人员创建描述数据的标记,并使开发人员 可以创建被称为文档类型定义( d t d ) 的规则集合。任何标准的x m l 语法分析器都 可以读取、解码和检验这种基于文本的自描述文档,并以独立于平台的方式提取数 据元素,因此使应用程序可以通过另一种名为文档对象模型( d o m ) 的标准访问数 据对象。 对于电子商务软件厂商和行业集团来说,x m l 的通用数据交换格式提供了可以 与其它基于标准的协议( 如h t t p 、t c p i p ) 以及i n t e r n e t 一起使用的基于标准 的构件。各公司已经开始支持x m l :数据库厂商o r a c l e 公司和i b m 从一开始就支 持x m l :m i c r o s o f t 的i e 5 0 以及n e t s c a p ew e b 浏览器支持x m l ;s u n 公司考虑 将此标准作为用于j a v a 的可移植数据语言。此外,像o b j e c t d e s i g n 公司的e x c e l o n 这类应用服务器提供了x m l 来支持应用集成、数据交换和电子商务。 w 3 c 开发了x m l 标准作为下一代w e b 发布语言,但是,i t 开发人员认识到 这种自描述格式的简单性和功能,并开始在涉及不同平台和应用程序的应用集成项 目中使用了x m l 。开发商和垂直应用厂商也正在开发自己风格的d t d 和模式。当 然,这一切都离不开标准,如o b i ( i n t e r n e t 上开放购买) 联盟、c o m m e r c e x m l ( c x m l ) 、m i c r o s o f t 的b i z t a i k 框架以及r o s e t a a n e t 的e - - c o n c er t 规范集。 这些标准现在仍在发展,并且还很不完善。但是,作为一种可移植数据机制, x m l 应用中的模式设计i f 究 x m l 显然具有强劲的发展势头。基于x m l 的电子商务的直接好处是它使新兴企业 和小企业可以加入到电子商务中。由于具有应用方便、广泛的可用性以及较低的成 本,使用传统e d i 的企业也开始考虑x m l 数据交换以接纳更多的合作伙伴并从它 带来的效率中获得更多的利润。 1 2x 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 格式存储的x m l 数据 库,叫做“x m l e n a b l e d 数据库”:如果内部以x m l 格式存储数据,就称为 “n a t i v e x m l 数据库”,在“n a t i v e - x m l 数据库”内部仍然采用原有的关系数据库 引擎,以表单格式存储存储经过拆分的x m l 数据,当用户进行x m l 查询或其他处 理时,数据库需要重新组合这些数据。两者各有其特点。“n a t i v e x m l 数据库”能 够很好地保持原x m l 数据的语义和结构,它在存储一个x m l 文件的时候,会创建 一个基于x m l 的模型,其中包括多层嵌套,完整地保存x m l 的分层结构。在进行 数据处理时无需进行格式转换,从而可以拥有更高的数据处理效率。但是所有数据 都需要重新建立,对现存的大量以关系模式存储的数据不能很好地加以利用,投入 成本较高:“x m l e n a b l e d 数据库”可以方便地利用现有的大量以关系模式存储的 数据,同时又保持原有x m l 数据的结构信息,支持结构化的查询,缺点是会降低数 据的处理速度。 更详细地说,使用现有的数据库类型和产品而不是以原始格式来存储x m l ,是 出自以下几种考虑:首先,普通的关系数据库和面向对象数据库已尽人皆知,而 n a t i v e x m l 数据库是新的;其次,人们熟知现有的关系数据库和面向对象数据库, 也了解它们的行为和性能,因此,他们不愿意转向n a t i v e - x m l 数据库,因为其性能, 特别是可伸缩性尚未经过检验。 现在已经有一些能够很好地处理x m l 的x m l - e n a b l e d 数据库,并且是由久经 考验的关系数据库和面向对象数据库担此重任。这些数据库在收到x m l 后,将其分 x m l 应用中的横戏设计研究 解隽字段劳狻逶零秘方式存继它截,当检索x 酗l 嚼,这些字段霉被疆接藏乐状。 设在麻销r e a d i n g 的x y v i s i o n 企业解决方案公筒研制的c o n t e n t x m l 是一 套内容管理系统,它可以在任何种流行的关系数据库中存储x m l 文件。其好处是 可以开展基于内容的协同工作,进行多通道内容输出。一家技术出版商选用了 c o n t e n t x m l ,他们说x m l 将他们2 周的工作鹰缩到几分钟,“该系统接受的是 x m l 耪麓,绘窭夔爨是露想娶豹经餐掺式熬缝累。” l o t u s 公镯的d o m i n o 数据席也可以处理x m l ,黼且其x m lt o o l k i t 甚至可以 让您像在n a t i v e - x m l 数据库中样创建和处理内容。 在关系数搌库中处理x m l 数据时,可用第三方中间件进行转换,其中有一种产 品称为x m l ,d b m s ,这是一种潦于j a v ad a t a b a s ee o n n e c t i v i t y “d 8 c ) 的工具, 霹疆在x 酝l 文搂霉鼗摇疼之瓣鼗麓数援。 不过,利用关系数据库和西恕对象数据库存储x m l 也遭裂一些手 毫评。镄如,有 人认为,x m l 最具吸引力的特性之一是其分层结构,而关系数据库却将x m l 映射 成关系表,从而将x m l 结构变成了平面的行和列。另外,遇到大型戡复杂文档时, 在x m l 与数据库之间进行来回转换要耗费相当多的处理时间,从而降低了w e b 页 瑟的生成速度。 曩蘸,n a t i v e 。x m l 数据瘁融经拜始舞现,尽管人稻还不髓完全售彳壬它,僵匏确 有一些n a t i v e - ) ( m l 数据库开始猩实际应用中受到得街睐。另外,主流的数据库厂商 也在努力争取在适当的时机推出自己的n a t i v e x m l 数据库产品。 第一个可能也是最有名的商用n a 目v e x m l 数攒库是位于美国加州的s o f t w a r e a g 公司开发豹t a m i n o 。除了掰以存储窝访阉x m l 外,t a m i n o 还其镛多顼功能, 篷菇o p e n d a t a b a s ec o n n e c t i v i t y 、聿毒合u n i c o d e 燹麓乏、h t t p 逶售及鲶瑾粪x m l 数据的能力。据介绍,t a m i n o 拥肖直接x m l 检索和特殊检索的能力。 其他n a t i v e 。x m l 数据库包括d b x m l 、e x c e l o n 和xh i v e d b ,分别由美国的 d b x m l g r o u pl l c 公司、 e x c e l o n 公司和荷兰的t h ec o n n e o r i o nf a c t o r y 公司研 铡。 霹n a t i v e x m l 数据库夔妻黉聚谨之一是注骚翊麓。当嚣搜寻兹蘩患袋予大文援 的未尾时,出于缺乏其他机制,n a t i v e - x m l 数据库必能艰苦跋涉至l 最聪,而关系数 据库和面向对象数据库则可以将文档分成小块同时进行搜索,速度当然要快得多。 当然,上述困难并非无法克服,只要在存储时绦各文档分别加上索引就行了。 t a m i n o 就具有这种索引能力,从箍弥补了大型文档搜索的不足,另外,n a t i v e - x m l 存德瀵除了不强要懿转换攥薅。强蔻,t a m i n a 褒w i n d o w sn t 、w i n d o w s2 0 0 0 、 s o l a r i s 和s c ou n i x 等版本,将来还要出l i n u x 和一些大型枧版本。 目前,许多主流的数据库厂简都在把x m l 支持结合到其产品中,或者提供可在 x m l 应用中的模式设计_ 【j j f 究 其数据库中使用x m l 的工具。i b m 提供了x m le x t e n d e rf o rd b 2 ,以允许用户在 d b 2 中存储x m l 文档,并提供一些新功能协助用户处理x m l 文档;m i c r o s o f t 的 s q ls e r v e r6 5 和7o 也进行了x m l 扩充,据悉s q l 将来要加入x m l 输出选项, 用以向其他系统传送信息。o r a c l e 也拥有功能强大的x m l 索引引擎。 有专家预计,这些数据库厂商不久将推出自己的n a t i v e x m l 数据库,以满足基 于w e b 的电子商务对x m l 数据处理的需求。 1 3x m l 数据处理应用领域 ( 1 ) 数据发布与信息交换 x m l 作为统一的数据交换标准,已经得到广泛地应用。但如今多数数据却并不 符合x m l 标准,因此有必要建立一种与x m l 数据相互转换的映射机制,将x m l 作为一种视图映射的定义语言。 ( 2 ) 网络搜索引擎 目前越来越流行的观点是将w e b 看成一个巨大的x m l 文件库,因此就需要一 种能支持在w e b 范围内查询相关x m l 数据的工具。目前的搜索引擎只提供基于关 键字的文本查询方式,而对x m l 数据而言极为重要的结构信息,却被无情地忽略, 这就对传统的搜索方式提出了新的要求。 ( 3 ) 数据综合 企业对异构数据源统一访问能力的日益关注和网络半结构化数据的迅速增加使 数据综合成为研究的热点之一。数据综合系统简而言之就是提供多个( 异构) 数据 源的统一访问模式。利用异构数据源间数据交换的x m l 规范,数据综合的任务重点 研究将多个相关的d t d 结构综合匹配,从而为用户提供一个统一的访问界面。 1 4 本文的研究对象和基本思路 对于x m l 应用来说,我们需要对它进行模式设计。也就是对于一个客观的应用 环境来说,我们需要设计出符合应用要求的优良的x m l 模式( 可以表现为x m ld 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 ld t d ,也可以是x m l s c h e m a 。 1 5 蘸入的王传教尚未鼹决的溺怒 随着x m l 应用的同益广泛,x m l 模式设计问题融经得到了足够的敷视,国外 已经有一些大学开始从事这方面的研究,本文的研究就是建立在前人已肖的研究工 作之上兹。遮感磷究主要有: s 3 一n f 1 7 :这是s 3 一g r a p h ( 拳结构亿模式嚣) 瓣麓莲豫形式。它饕次提窭了 半结梅化数据依赖的概念,辩定义了如果s 3 - g r a p h 中不包含半缩构化传递依 赖,那么该s 3 一g r a p h 就是符合s 3 一n f 的。但怒它忽视了除半结构化传递依赖 之外,还存在着其他的半结构化依赖关系,比如半结构化部分依赖,因此是不 全面的。本文中的x m l 数撂依赖酌定义就是从其中演化丙来,并考虑了除x m l 簧递蔹羧之终豹萁毽露觅x m l 数据痿赣关系。 o r a s s h 8 :这是一个x m l 数据模型,它锌对x m l 数据的特点绘出了各种语 义的表永方法,这也是它优于其他半结构化数据模型的地方,因此可以用于x m l 数据库的逻辑设计。该数据模型从本质上来说,属于逻辑设计的蒲畴,因为 o r a s s 髑中已经指定了备对象之间的层次结构,而这个层次结构谯缮到之前 还嚣要一个壤念设计兹遘程。 x n f 【2 霹】:这是一个x m l 文稻盼矮范纯格式,它撼闯题归结于设计簿合x n f 靛 x m l d t d 。在x n f 中,定义了概念模型超图,但是概念模型超图中没有属性的 概念,围此一个模式中会出现太多的对象。 6 零文奎瑟磷突成果 本文对x m l 应用中的模式设计问题提出了很好的解决思路,主要贡献有以下几 条: 提出了x m l 模式设计的总体糕絮,指出模式设计分两个黔段进行,鄹概念设计 验段麓逻辑设诗除莰,著臻绥了嚣拿酴段戆 壬务。 对传统e r 模型做了适当改进,提出了用于对x m l 应用建模的x e r 模型,以便 更准确的袭达应用的语义约荣信息,定义了x m l 模式的图形表示x t r e e 模式图, x m l 随焉孛静搂武设汁甜究 并给出了由x e r 图向辩1 i r e e 模式圈的转换算法。 借鉴了游入的礤究成聚,撵窝了在x - t r e e 模式黼中涪除常见豹不蠢x m l 数据依 赖的扇发式算法。 x m l 盹用中的模= i = 1 = 敬计研究 第二章x m l 概念建模x e r 实体联系模型( e r 模型) 是广泛被采用的概念模型设计方法。它是由p e t e r c h e n 于1 9 7 6 年在题为“实体联系模型;将来的数据视图”的论文中提出的。p e t e r c h e n 首次用e r 模型表示数据库模型,此后,随着数据库设计技术的发展,p e t e r c h e n 和其他许多人对它又进行了扩展和修改,出现了e r 模型的许多变种,且表达 的方法没有一定的标准。在x m l 应用的建模过程中,利用e r 模型进行概念建模的 思想仍然可以发挥着重要的作用,但是x m l 数据作为一种半结构化数据,与结构化 数据有着一定的差别,所以本文对之加以改进,提出了x e r 模型( e n t i t y r e l a t i o n s h i p m o d e lf o rx m ld a t a ) 。x e r 模型的基本元素依然是实体、联系和属性,但是在语义 表示上做了很多针对x m l 数据特点的扩充。x e r 模型用x e r 图表示。 2 1 实体 实体是应用中可以区别的客观存在的事物,如人、部门、物体、项目等。同一 类实体构成实体集( e n t i t ys e t ) 。实体的内涵用实体类型( e n t i t ym y p e ) 来表示。 实体类型是对实体集中实体的定义。在不引起混淆的情况下,我们一般将实体、实 体集、实体类型等概念统称为实体。x e r 模型中提到的实体往往是指实体集。 在x e r 图中,实体用方框表示,方框内注明实体的名称。图2 1 给出了实体“学 生”的表示,它有三个属性,分别为学号、姓名和性别,用圆圈表示,其中学号是 标识符,用实心圆圈表示。 2 2 属性 学号 姓名性别 图2 1 实体的表示 属性是实体的性质。如人有姓名、性别、年龄等属性。在x e r 图中,属性用圆 x m l 琏其l 中辫模式设计蜞究 圈袋示。 藩性竣是满往豹可熊取毽菠圈,也称梵藩後貉镶城。季蠡象遗滋,滋牲将实铬集 合中每个实体辱该腾性的德域的个值联系起来。在一个实体中,能够唯一标识实 体的属性藏属性集称为实体标识符。一个爽体只脊一个标识符。 2 。2 。 基本属性和复合属性 根据精性的类剐,属憔可分为鏊本属靛和复台属性。綦本属髓是不可褥分解的 属经。瞽始,穗澍黧年龄酃是蘩本糯瞧。复合属镌楚霹菇分麓戒葵憩属程翡糯性( 帮 属性可以漱套) 。躺如,地址属性可分解为邮政编码、省( 市) 名、区鬟、衡道四个 子属性,衡邋子属性又可分解为街邋名和门牌母鹚两个予属性。簸合麟往形成了一 令瓣毪熬瑟次缝秘。鎏2 2 衰承了这个复合属没戆层次缝梭强。 街遵褒门牌号鹑 鹫2 、2 复食蔗性熬褒幂 2 2 。2 革谯籁性和多值属穗 根据藤髓鹃取值特点,属褴又可分秀荦值释毪翻多篷耩萑。擎馕耩牲攒的莛麓 一个实钵的该斌性只能取一个德。譬如,同一个学生只能具有一个年龄,所以年龄 属性是一个单值属性。在x e r 图中,单值属性通过单线与其所属实体相连。多值属 馥是指潮一令实僖瓣该藩往蔼煞取多个蘩。饕懿,一令人豹爱妊楚一个多自墓| 嚣戆, 戮巍它搿戳懿含簦塔、弱球等诸多爱好中豹零个、一个或多个。森x e r 图中,多嬗 属性通邋双线与其所属实体相连。图2 3 给出了个多值满性的例子。 x m l 应用中的模式设计研究 学号姓名爱好 图2 3 多值属性的表示 2 2 3 键属性 实体标识符也称为键属性。一个实体只有一个键属性,键属性用实心圆圈表示。 对于复合键属性,通过划一条横线穿过由实体引向复合键属性的各条边来表示。假 设一个学生的姓和名是分开来表示的,共同作为学生实体的主键,则可以用图2 4 表示。 姓名性别 幽2 4 复合键属性的表示 2 2 4 属性的基数 假定实体e 有属性a ,对于e 中每个实体,属性a 可能出现数目的最小值m i n 和最大值m a x ,称为属性a 的基数,用( m i n ,m a x ) 形式表示。属性的基数标注在属 性与实体连线的一侧。对于单值属性来说,可能出现的属性基数有( 0 ,1 ) 和( 1 ,1 ) 两 种,( o 1 ) 表示该属性可能出现也可能不出现,可以用“? ”简化表示,( 1 ,1 ) 则表示 了该属性必须出现且仅出现一次,可以不标注。对于多值属性来说,( m i n ,m a x ) 有 两种特殊情况:( 0 ,n ) 和( 1 ,n ) ,( 0 ,n ) 表示可能出现零次或多次,可以用“”简化表 示,( 1 n ) 表示至少出现一次,可以用“+ ”简化表示。键属性的基数一定是( 1 1 ) 。 2 3 联系 现实世界中,实体不是孤立的,实体之间是有联系的。例如“职工在某部门工 作”是实体“职工”和“部门”之间的联系,“学生在某个教室听某位老师讲的课程” x m l 应用中的模式设计研究 说明“学生”、“教室”、“老师”和“课程”等四个实体之间柯联系:而“零件之间 有组含联系”袭示“零 牛”实体之间窍联系。 联系表示一个域多个安体之间的关联关系。同一类联系构成“联系集 ( r e l a t i o n s h i ps e t ) ”。联系的内涵用联系类型( r e l a t i o n s h i pt y p e ) 寒表示。联系 类型怒对联系集中联系的定义。同实体一样,一般将联系、鞭系集、联系类疆等统 称为联系。 由于一个实体可能涉及多个联系,在每个联系中所扮演的角色也会不同,如实 体“职工”,农管理联系中可能扮演经理的角色,在保健联系中扮演病人的焦包,在 储蓄联系中扮演客户的角色。实体的角色就怒实体在该联系中所超的作用。 联系也会有属性,用于描述联系的特征,如参加工作时间、入库数量等,但是 联系本身没有标识符。联系聪性的表示与实体属性的波示是类似的。 2 3 ,1 联系的元数 一个联系涉及到的实体集的个数,称为该联系的元数( d e g r e e ) 。通常,同一 个实镩集痰鄢实锋之瀚豹联系,豁为一元联系;两个不嗣实俸集实体之闯酌联系, 称为二元联系;n ( n 2 ) 个不同实体集实体之间的联系,称为n 元联系。 2 3 2 联系的连通词 联系涉及弱熬实俸集之淹实箨对瘦戆方式,豫为联系熬连透谲( c o n n e c t i v i t y ) 。 这里“对应的方式”是指实体集e 1 中一个实体与实体集e 2 中至多一个还是多个实 谆毒联系。二元联系懿连逶弱毒酉耱: : ,l :n ,m :n ,m :i ;由予m : 是 :n 翡 反面,因此通常就不褥提及。 鲣果实体集e 中每个实终至多秘实钵鬃e 2 中的一令实体育联系,反之夯然, 那么实体集e 1 和e 2 的联系称为“一对一联系”,记为“1 :1 ”。 螺果实体嶷邑中每个实体可以翱实体集e 2 中斡经意个 复杂结点类似于x e r 图中的实体结点。复杂结点用方框表示,方框内注明该结 点的名称。 引用结点是复杂结点的一种特殊形式,是指需要引用其他复杂结点的复杂结点。 3 1 2 边 x - t r e e 模式图中的边可以分为构成边、联系边和引用边。 构成边 如果结点v 2 是v 1 的一个组成部分,那么结点v 1 就通过一条构成边连接上结点 v 2 ,构成边用没有箭头的线段表示。 例如,如果结点v 2 是结点v 1 表示的实体的一个属性,那么可以通过构成边连 接v 1 和v 2 。 联系边 如果结点v 1 和v 2 不是构成关系,而是共同参与某个联系,那么结点v 1 就通过 x m l 痤瘸串抟摸式被计蝌兜 一条联系边连接上结点v 2 ,边上燃媾有表示该联系的标签t :( n a m e , n ,p ,国,其中 n a m e 表示参与的联系名,n 表示联系的元数,p 袭示在联系中父结点的熬数,c 袭 示予结点的基数。联系边髑实箭头线表示。 例如。如果络点v 1 和v 2 之间不存在维成关系,而是共同参与了一个联系,那 么可以通过联系边连接v 1 和v 2 。 引用边 如果缩点v ,引用由结点v 2 表示的实体,那么结点v 1 就通过一条引用边连接上 结点v 2 。孳l 用边隔虚箭头线表示。 3 2x t r e e 实例图 x t r e e 实例圈是一个x m l 文档的树形表示。简单的说,x - t r e e 实例图中的方 攥瓣塞稷疲x m l 文档孛弱元素,灏匿怼残震性。强一个x m l 文掇敬x - t r e e 模式疆 和x - t r e e 实例图麒有一系列的对应关系: 结点对应 1 x - t r e e 实例圈中的每个结点v 与一个且仅与一个x - t r e e 模式图中的结点v 对 疲,称结点v 是缕点v 的定义结点。 边对威 假定x t r e e 实例圈中结点v 1 通过边e 连接土结点v 2 ,那么继点v 和v 2 的定义 缡点v 1 和v 2 在x 。t r e e 模式图中也相似的通过边e ( 标签为t ) 相连,称边e 为边 e 的定义边。 数据炎型对应 假定x - t r e e 实例图中结点v 的定义结点是x - t r e e 模式图中的简单结点v ,v 的数据类型为t ”e ,那么v 的值必须与类鏊t y p e 稽匹配。 基数对应 後定x - t r e e 实例图中连接绣点v 1 和结点v 2 瀚透是e ,如采e 翡定义透e 静檬 签t 中父结点的撼数是( 0 1 ) 或( 1 ,1 ) ,那么v 1 就不能通过定义边也为e 的另外 一条透e 涟接上鬓辩一个绐熹w 。 此外,同一个x m l 文档的x t r e e 模式图和的x - t r e e 实例图还有其他的一些对 斑关系。磁如,辩予x - t r e e 实翻闺中酶嚣个结点v ,搴爨v 2 ,如采它褒买鸯褪走关鬣, 那么它们的定义结点在x - t r e e 模式图中也具有相应的祖先关系。 一个x m l 文档兹x - t r e e 实镶图霹淡稼为冀x - t r e e 模式图豹实铡。 x m l 应用中的模= j j = 设计研究 3 3 一个铡子 下面给出一个x m l 文档的x 。t r e e 实例图和x - t r e e 模式图。 x m l 文档如下所示: ( c o u r s ee 襻= c 0 1 n a m e = d b t e a c h e r t # = 1 t 0 1 n a m e = d b k f e e d b a c k = b c o u r s ee 撑= c 0 2 n a m e = d s l s t u d e n ts 群= s 1 n a m e = x j j lg r a d e = 9 5 ) - x - t r e e 实例图如图3 1 所示: 1 7 x m l 瘦弱孛瓣模式设计掰究 黧3 。x - t r e e 窭铡辫 糊应的x m ld t d 如下表示: i e l e m e n t d e p a r t m e n t ( c o u r s e + p ! a t t l i s t d e p a r t m e n td 嚣i d # r e q u i r e d n a m ee d 芦融雾l m p l i e ! e l e m e n t c o u r s e ( s t u d e n t + p a r r l l s tc o u r s ec 雾l d 襻r 蠢q u l & e d n a m ec 转愆f a 毒l 酗p u d 1 9 盯t l - l s ts t u d e n ts 群l d 襻r 蠢q u l 茂e d n a m ec d a t a 嚣l m p l i e d g r a d ec d p 汀a 撑i m p l i e 0 兰竺兰坐旦! 塑堡生丝生业塑 x - t r e e 模式图如图3 2 所示 3 - #n a m e f e e d b a c k 图3 2 x - t r e e 模式图 9 x m l 趣糟中豹模式设计骈究 第四章x m l 模式定义语言 w 3 c 制定的x m l 模式定义语言主爱有x m ld t d 和x m ls c h e m a 两种。 4 1x m l d t d x m l d t d ( d o c u m e n t t y p ed e s c r i p t i o n ) 规定了x m l 文档的结构,可以视为 x m l 文档的模式。d t d 可以蘑作是标记语言的语法文件,它怒一套定义x m l 标记 如何使瘸的藏翔。它告诉你可蔽在文稻中使用哪些标记,它们应该按什么次序出现, 哪些标记可以出现于其他标汜中,哪些标记有属性。具体的说,d t d 通过描述子元 素和藏健的名字及类黧来定义x 酗l 元索的结构。嵌套予元素的出现次数蕊类似正羽 表达式的如下符号规定:( 包含零个或多个元索的集) ,+ ( 至少包宙个元素的 集合) ,? ( 毽岔零个或一个元索) 帮没窍修饰( 包含嚣仅包含一个元素) 。司露d t d 也严格规定了x m l 文档中元素的子元索的出现顺序,即按照元索定义的正则袭达式 颓次袋汗。元素竞诤整合至多一个类受为l d 豹羼经,囊该属潦在文档域痞整一标识 该元素,同时其他元素也可以通过类型为i d r e f 的属性对其加以引用。i d r e f 属 性莠没有指明该毽经掰指自戆元素类蘩,在这意义上说,i d r e f 震靛是没鸯类垄 的。属性定义中可以用# r e q u i e d 和撑i m pl | e d 等修饰符类似描述其在出现次数上 熬终裘,固露媾性豹敬篷范围恣霹在d t d 中定义。一令莛构量符合d t d 熬寇义教 x m l 文档被称为是有效的( v a l i d ) 。 ! e l e m e n t ! e l e m e n t ! e l e m e n t l e l e m e n 下 ! e l e m e n t l a 1 t l s t t i t l e# p c d p 汀- a d a t e毒p c d 芦淞 a u t h o r ( n a m e ,e m a i l ? ) a u t h o rl dl d 撑r e q u i r e d n a m e 群p c d 扣j - a e m a i # p c d a i a c o r l t a c t a u t h o re m p t y c o n t a c t a u t h o rc i dl d r e f 撑r e q u l r e d c i t e a r t i c l e c i t e f o r m a t ( a c mli e e e ) 撑i m p l l e d x m l 应用中的模式设计研究 一个描述出版信息的d t d 如上所示。根据定义,。a r t i c l e 元素必须包含一个t i t l e 。 元素,而d a t e 元素则是可选的。同时,每个a r t i c l e 元素所包含的子元素必须按照 1 1 t i e 。、。d a t e ( 如果存在) 、一个或多个 a u t h o r 。等的顺序出现。由定义可见, a u t h o r 。元素可以同时成为b o o k 平! a r t i c l e 。元素的子元素,且在这两种情况下,父元 素都必须为至少包含一个a u t h o r 元素( 可以有多个) 。每个a u t h o r 元素都必须包含 一个类型为。j d 。的属性,而每个c o n t a c t a u t h o r 。元素的类型为i d r e f 的属性c i d 也是 强制出现的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年精神科精神疾病评估与干预知识模拟考试答案及解析
- 2025年度吉林大学马克思主义学院公开招聘教师(10人)笔试模拟试题及答案解析
- 2025年放射学乳腺X线摄影的操作技巧考试卷答案及解析
- 2025四川九州光电子技术有限公司招聘资产管理岗等岗位2人笔试备考题库及答案解析
- 2025年肾病诊疗科疾病治疗方案评估模拟测试卷答案及解析
- 2025年整形外科学科隆胸术后护理技能操作考试答案及解析
- 2025年临床药学知识与技能综合检测答案及解析
- 2025年口腔颌面外科手术技能操作测试题答案及解析
- 黄冈市中石油2025秋招面试半结构化模拟题及答案安全环保与HSE岗
- 内江市中石化2025秋招面试半结构化模拟题及答案机械与动力工程岗
- 清华大学实验室安全教育考试题库(全)
- 项目经理(总监)解锁申请表
- 物业管理存在的问题与对策
- 前列腺等离子电切术护理查房
- 儿童神经心理行为发育
- GB/T 4074.8-2009绕组线试验方法第8部分:测定漆包绕组线温度指数的试验方法快速法
- GB/T 19812.3-2017塑料节水灌溉器材第3部分:内镶式滴灌管及滴灌带
- GB/T 1682-1994硫化橡胶低温脆性的测定单试样法
- 企业消防安全基础知识培训讲义课件
- 商务英语翻译实务完整版教学ppt课件全套教程
- 第五章-中药指纹图谱课件
评论
0/150
提交评论