面向对象的语义数据模型及其在空间数据库中的应用.doc_第1页
面向对象的语义数据模型及其在空间数据库中的应用.doc_第2页
面向对象的语义数据模型及其在空间数据库中的应用.doc_第3页
面向对象的语义数据模型及其在空间数据库中的应用.doc_第4页
面向对象的语义数据模型及其在空间数据库中的应用.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

面向对象的语义数据模型及其在空间数据库中的应用弟18卷弟期武汉测绘科技大学1.18No.41993年12月3ournaJofwullanTechnicalUniversityofSurveyLngandMappingDec.1993一面向对象的语义数据模型及其在空间数据库中的应用朱欣焰许云涛银州李锦祥/乡侈朱欣焰许云涛张银州李锦祥(武祝涓培科技太学,计算机科学与工程系,武祝珞璃路39号,40070)摘要传统的数据库模型适合于表示数字字母数据难以处理复杂的空间数据.面向对象的语义数据模型克服了传统数据模型的许多不足,越来越多地应用于计算机科学各十瓤域本文先描述了面向对象巨义数据模型,然后舟绍了建立于过种模型基础上的空间数据库实验系统sp0b船e翼类亘叵蓥,建墨墼量熊型唣匦墼塑宴分类号1”P311l30引言许多工程应用问题,如CAD/CAM,GIS等,所涉及的数据类型繁多,数据量庞大,关系复杂,环境共享.要求DBMS具有定义和操纵复杂对象支持抽象数据类型以及知识嵌入的能力,并要求具有较好的可扩充性.传统的数据库系统对这些空间数据应用问题的支持是很不够的.面向对象的方法由于具有语义丰富,易于扩充,提供模块化结构以及软件可重用等特点,受到了人们的广泛重视,并且越来越多地应用于空问数据库领域.面向对象的语义数据模型对空问地理数据有较强的表示能力.本文试图用这种模型来表示基于GIS的矢量形式的空间数据在此模型基础上建立的空间数据库实验系统sDobase已初步显示了面向类象的语义数据模型的应用前景.1面向对象的语义数据模型面向对象的语义数据模型是由结点和弧线组成的网络(称语义图).结点表示各对象类,弧线表示各对象类之间的联系.1.1对象,对象类对象泛指工程应用领域中的实体概念以及所处理的数据等.为了便于对象识别,当每建立一个新的对象时都由系统赋予一个唯一的对象标识,记为Oid根据若干个对象所具有的共同语义性质,可以将它们组成为一个对象类.即同一对象类中的各个对象具有相同的静态结构,操作特性以及遵守相同的语义约束.对象是对象类中的一个实例.1.2对象类的构成收稿日期;19fi3-04729.束欣焰.男30岁,讲师,现从事面向对象数据库,地图捧艟系统的研究.第4期朱欣焰等t面向对象的语义数据模型及其在空间数据库中的应用77对象类由说明部分和实现部分构成.对象类的说明包括三个部分:.说明与其它对象类的联系.对象类与其它某些对象类的联系有聚合联系,概括联系和组合联系等.这些联系描述了类的静态结构.6.说明操作特性.对象类可作选择,投影,连接,更新,删除,插入等基本操作,也可以自定义其它操作.对象类的操作特性描述了类的动态特性.c.说明对象类的规则和约束.对象类的实现部分包括实现对象类的全部语义所要进行的各种过程和方法.1.3实体对象类和域对象类1.3.1实体对象羹实体对象类(记为E类)表示现实实体的对象类,它在实际应用中能独立地存在.因此,E类除了说明部分和实现部分外,还具有实例的集合.在语义图中,用矩形代表E类,并在矩形内标出E类名.如图1所示,pointline,polygon均属于E类.E类往往用一个或多个属性来描述其性质,在创建E类时,用户要给描述性质的属性赋值,以区别不同的实例.1.3.2域对象类域对象类(记为D类)用来描述实体对象类的数据类型,结构以及取值范围.在实际应用中,D类不可能独立存在,也不可能象实体对象类那样存在具体实例集合.在语义图中,用小圆代表D类,并在小圆的旁边标出D类名.如图l中的x,y等.D类可进一步分为原子D类和集成D类,原子D类可由系统预先定义,如integer,charaeter,real,boolean等;集成D类由其它对象类根据需要通过数据构造器构造出来.图1语义联系1.4语义联系1.d.1分类(classification)在面向对象的模型中,把具有相同性质的对象有抽象成类,每个对象为类的实例,实例与类之间的联系为成员关系(amemberof>I.4.2概括联系(generaliztion)在对象类的层次结构中,超类结点为子类结点的一般化,子类结点为超类结点的特殊化(specialization).每个子类同其超类之间为”isa”联系.如piont,line,polygon,它们可以概括为graphicalelement这一实体对象类,即点,线,多边形均是一种图形要素.在语义图上,概括联系用弧和标注G来表示,如图1所示.在”isa”联系中,上层的E类为父类,下层E类为子类,子类继承了其父类的属性,操作,规则,而且继承性可以传递到子类的子类.78武汉测绘科技大学l993单1.4.3聚合联系(Aggregation)实体对象类可以分解为若干个成分类的集合.这些成分类与该实体对象类之闻的联系为聚合联系.它们可以看作是该实体对象类的属性,属性可以是E类,也可以是原子D类或集成D类.在语义图上,聚合联系用A表示.1.4.4组合联亲(composition)组合联系表示事物的整体和部分之问的关系,所有事件组合起来,定义一个新的概念.它表达了is-apartof这种语义.组合联系从总体上描述定义类的特性,强调整体概念,个体是整体的一个构成部分.图2描述了一幅地图的底图,底图包括水系,道路,行政区划以及居民地等,即它们是底图的一部分.在语义图上,组合联系用C表示.组合联系同聚合联系不同.聚合联系的各成分对象描述的是E类所具有的属性,性质特点;而组合联系强调个体是整体中的一个部分,它不仅仅反映复杂对象由什么组成,而且反映如何构成复杂对象.概括联系的子类具有继承性,而组合联系则无继承性.也就是说,组合田2组合联系联系中的成分类不可能继承定义类的属性,更不可以往其子类传递其总体属性.2用面向对象的语义数据模型来表示空间数据面向对象的语义数据模型提供了抽象化能力,并且具有分类,概括,聚合,组合等多种语义联系.通过对象类和它们之闻的语义联系,可以构造出任何复杂的空间对象.下面以GIS中的空问数据为铡,说明如何用面向对象的语义数据模墅来表示矢量形式的空间地理数据.在矢量表示形式中,任何空间目标均由点,线,多边形组成.点,线,多边形作为图形要素,具有许多公共的操作,如display(),moveto()等.因此,它们可以进一步抽象成grapldcalclement类.在对象类的层次结构中,子类公共的结构和操作都定义在超类中.地图上,点可以用来表示居民地,车站等;线可以表示河流,道路等;多边形可以表示行政区,湖泊等.居民地,河流,行政区是地图底图的组成部分,因此可以定义Basemap类,如图3所示.Basemap类的river,road,具有linesegment属性成分,这里记录了Une类中实例对象的标识Old,即linesegment的值是由构造器构造line中的对象而得到的同样,行政区类admdivision中polygonboundary的值来自于polygon类中的对象.通过Basemap类,graphicalelement类以及再定义一些类如Jegend,frame,others,我们就可以定义任何一幅地图map.由于空间位置关系,图3中的部分类没有绘出.3空间数据库实验系统(Spobase)Spobase是一个空间数据库实验系统,它基于面向对象的语义数据模型,通过扩展smalltalk/v系统来实现.smaUtalk/v系统实质上就是一个对象管理系统.给其引入对象一致性I第d期朱欣焰等:面向对象的语义数据模型及其在空间数据库中的应用79图3用面向对象的语义数据模型来表示空间数据机制,提供对空间对象及对象类的定义和操作功能,并提供对图形软件的接口,从而构成一个以空间对象为基础的数据库系统.Spobase中实现了一些基本的空间数据类,如graphicalelement,point,line,polygon,river,road,行政区,居民地等,根据这些基本的空间对象类,就可以构成更复杂的空间对象.3.1Spobase的结构Spobase由对象管理器,对象存贮管理器,用户接口及图形处理软件等几部分组成,如图4所示.图|Spobe结构(1)对象存贮管理器对象存贮管理器将Spobase中的对象及其相互关系建立在计算机中,并对它们进行维护和管理它主要由对象存贮器(OM),编译器和解释器三部分组成.其中OM是用来存贮对象的,通过它建立整个系统的对象和相互关系.在对象存贮器中,每个对象80武汉测绘科技大学都有唯一的一个指针与之对应.对象存贮器主要提供创建对象,存贮对象,删除对象,处理对象中各个域的四种功能.编译器将用smalltalk/v编写的源方法翻译成由解释器执行的指令序列,一条消息指令序列的内容包括:消息的接受者,参数及消息执行的结果;解释器是系统的执行机构(2)对象管理器Spobase对象管理器的主要功能是提供对数据的定义,数据操纵,查询处理的支持.实现面向对象语义数据模型.提供完整性检查及系统维护等方面的功能.(3)图形部分用来实现对空间图形的管理其中GB为图形库,存放了经过编码的图形信息,通过编码及有关o_d同OM内的对象建立联系图形处理可由smalltalk/v中的图形功能来完成,也可以通过图形接口使用其它图形软件的处理功能(如AuCAD).图形可以由屏幕,绘图机,激光记录仪等输出.3.2实现3.2.1语义数据摸型的实现对象类数据模型中实体对象类必须是某一对象类的子类(语义图中若无概念联系的父类,则是OBJECT类的子类).smalltalk/v中提供了对实体对象类的定义的支持.在对象类定义中,包括:)与其它类的联系;)操作:定义对象类可以接受的消息;c)规则.原子D类,包含在系统对象类Collection中;集成D类由抽象对象类Constructing根据用户指定的形式生成.作为OBJECT的一个新的子类.语义联系分类联系隐含于对象类和类的实例之中,当一个对象实例化后,它就成为此类中的一个成员.聚类联系中各成分类是上一层实体类的属性,属性在Sbase中被描述为对象类中的实例变量;概括联系在Spobasc中用子类和父类的关系来实现,子类自动继承父类的属性,操作,规则,子类定义中需说明其特有的属性,操作和规则;组合联系在smalltalk/v中难以直接实现,Spobasc中通过定义Composition类,由数据构造器来实现在Spobasc中,提供了isMemberof;isKindof;isVariable,igPartof等谓词支持语义查询.对象类所有的公共操作,如查询,修改等基本操作,由OBJECT类和Behaviour中的消息实现.数据库中所有对象类都是OBJECT的子类.对象类是Behaviour类的实例.因此所有对象自动继承OBJECT中的方法.所有对象类都能接受Behaviour类中的方法.3.2.2完整性系统完整性的实现体现在两个方面:其一,系统中的对象和类必须符合语义图中的语义.不符合语义的对象不会被接受.其二,系统提供了多种基本谓词来判断域对象是否满足约束条件基本谓诃又可以通过与,或,非组合成复合谓诃3.2.3用户接口用户有两种途经来使用系统:一是通过应用程序二是通过交互式接口.交互式接口是利用smalltalk/v中的窗口技术来实现的.用户通过键盘或鼠标,面对屏幕显示的语义图,配合提示和菜单选择,就可以实现对数据库中对象类的定义,查询等数据操作.其结果可在Result窗口中显示,如图5所示.Sp.base中的查询通过发送消息来实现.如为了查询距河流l在3公里以内的居民地,则可在Qufion窗口中发送消息:Res4ceh:3:l系统返回一个居民地的集合.Spobasc支持定位检索,定性检索及拓扑检索.第期朱欣焰等:面向对象的语义数据模型及其在空间数据库中的应用81D0SshellAddEntj竹classBr0wdiskAddDomaincRedrawSCTrtCreatobjeAcossobjectQueryExitsj)o/2asDelete曲IectSaveimageDeIeclasse4结束语图5用户接口Spobase是一个实验系统,其目的是为了研究用面向对象的数据模型来组织空间地理数据.初步研究结果表明,面向对象的数据模型对模型化空间地理数据方面具有较强的能力,并且可协同知识表示方法处理空间知识.由于smalltalk是一个纯面向对象的语言,在它上面开发数据功能受到了许多限制.也许改用其它语言如c+十,obctc会更为合适,这还有待于今后进一步研究和开发.参考文献1ManolaFrank.OrensteinJackA.TowaaGeneralSlmfiDataModelforartObjtorientedDBMS.ThetwelftherttarnationalnL0nVLDB.1986.2StanleYW.ModelingIntegratelManufacturingDatawithSAM.Computer.1986(1)34493朱耿焰.i年云涛.Spoba:一十面向对系的

温馨提示

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

评论

0/150

提交评论