当前位置:文档之家› 基于Open GIS简单要素规范的面向对象时空数据模型研究

基于Open GIS简单要素规范的面向对象时空数据模型研究

基于Open GIS简单要素规范的面向对象时空数据模型研究
基于Open GIS简单要素规范的面向对象时空数据模型研究

基于Open GIS简单要素规范的面向对象时空数据模型研究【摘要】:虽然地理信息系统与地理数据库已经存在近40多年的历史,但是仅仅在最近几年关于其时间维的研究才引起足够的重视。这一方面是由于人们需要了解大尺度的地理现象随时间的演化过程和规律,另一方面数据获取技术以及计算能力的提高为空间与时间的研究提供了支持。经过世界各地学者们的努力,目前时空数据模型与时态GIS的研究已经取得了比较丰硕的成果。然而,由于时空现象与生俱来的复杂性以及相关理论与技术的限制,该领域的研究仍然存在很多问题。本文首先对时空数据模型与时态GIS的研究历史、现状、问题、根源进行了系统的总结、归类、分析;然后介绍了地学信息的时空语义、时空演化过程以及GIS的网络化、分布式、互操作趋势;提出了一种能够部分解决这些问题的、基于OpenGIS简单要素规范的通用面向对象时空数据模型——GOO-STDM;最后重点讨论了GOO-STDM模型的设计、实现以及时空拓扑关系表达方法,并设计了原型系统对模型加以验证。GOO-STDM模型的设计与实现具有以下几个特点:(1).从地学时空对象的基本属性和行为出发,采用面向对象方法,将地学对象封装为空间、专题、时间的整体,满足地学对象的what/where/when语义。面向对象方法具有继承、封装、聚合等特性,便于模型的进一步扩展。(2).将时态信息直接标记在对象属性上,方便对象的检索和历史状态的查询。使用对象的标识作为索引,对时空对象的空间、专题、时态特征具有相同的查询效率。

(3).采用扩展OpenGIS简单要素规范的方式设计GOO-STDM模型的时空对象类型,增强了模型的通用性;并将WKBGeometry格式进行改进,提出了压缩的WKBGeometry格式,既减少了地理对象的几何特征的存储空间,又方便了数据的交换。(4).采用对象关系数据库、中间件技术、TSQL2语言设计了时空处理中间件。通过在服务器端定义时空抽象数据类型与时空拓扑运算规则,减少了客户端的压力,降低了系统的开发工作量。中间件技术的运用增强了模型的灵活性和扩展性。(5).分析了ArcSDE的版本管理机制,构建GOO-STDM 模型与ArcSDE的转换接口方案,体现了模型的实用性。【关键词】:时空数据模型时空数据库时态地理信息系统开放地理空间联盟简单要素中间件TSQL2ArcSDE

【学位授予单位】:华东师范大学

【学位级别】:博士

【学位授予年份】:2006

【分类号】:P208

【目录】:论文摘要6-7ABSTRACT7-9目录9-12图表索引(图)12-15图表索引(表)15-17第一章绪论17-511.1.引言17-201.2.GIS中的时空观与时空数据模型20-251.3.研究的意义25-291.4.国内外研究进展概述29-431.5.本文的研究目标与特色43-451.6.小结45-46参考文献

46-51第二章地学信息的时空语义及其模型化51-732.1.地学信息的多维结构51-532.2.地学信息的空间语义53-552.3.时态基本元素模型与时态数据库55-642.4.地学信息的时间语义64-652.5.地学对象的基本时空演化过程65-672.6.时空数据建模的评价标准67-692.7.小结69-70参考文献70-73第三章开放地理空间联盟与简单要素规范73-913.1.GIS标准简介73-753.2.OGC与OPENGIS简介75-813.3.现实世界的抽象81-853.4.OPENGIS规范85-873.5.OPENGIS简单要素规范87-883.6.小结88-89参考文献89-91第四章面向对象的通用时空数据模型91-1094.1.面向对象方法简介91-944.2.GOO-STDM模型94-994.3.空间对象及其操作函数99-1064.4.小结106-107参考文献107-109第五章时空拓扑关系109-1235.1.空间拓扑关系109-1155.2.时态关系115-1175.3.时空拓扑关系117-1215.4.小结121-122参考文献122-123第六章GOO-STDM的实现123-1776.1.空间数据的存储123-1316.2.对象关系数据库简介131-1356.3.GOO-STDM的中间件结构135-1386.4.GOO-STDM的数据库结构138-1466.5.基于TSQL2的数据操作146-1516.6.时空函数库设计151-1616.7.GOO-STDM与ARCGIS 的集成161-1706.8.原型试验170-1756.9.小结175-176参考文献176-177第七章结论与展望177-1817.1结论177-1787.2.展望178-180参考文献180-181致谢181-182附录182 本论文购买请联系页眉网站。

面向对象的数据库技术

面向对象的数据库技术 肖阳辉 摘要:面向对象的数据库极有可能是数据库发展的方向,关系型数据库已显得力不从心,面向对象技术已经渗透到了数据库领域,把面向对象的方法和数据库技术结合起来可以使数据库系统的分析、设计最大程度地与人们对客观世界的认识相一致。面向对象数据库的技术机理并不高深,但它的设计思想却极有价值。论文关键词:关,键,词,数据库,面向对象,技术 随着应用的日趋复杂和智能化,传统的关系数据库的缺点一点点的暴露出来,人们迫切希望产生一种新的数据库解决方案来适应这些复杂需求。一种新的解决方案呼之欲出。而这个解决方案极有可能就是面向对象数据库技术。面向对象数据库的技术机理并不高深,但它的设计思想却极有价值。在传统的面向对象应用开发中,由于传统的关系数据库开发风格完全不同于面向对象风格,使得许多程序员难以从复杂的SQL编程中解脱出来(尽管已经有一些成熟的ORM技术框架,如Hibernate,但程序员仍需要做大量的数据库代码工作),从而也无法从实质上提高工作效率。 1、面向对象数据库技术概述 面向对象是当前计算机界关心的重点,面向对象是一种新的方法学,也是一种认知方法学。它是一种支持模块化设计和软件重用的实际可行的编程方法,它把程序间的逻辑活动建立在对象间的消息传递之上,且设计上更加符合现实世界,更加自然,所以面向对象方法得到了更广泛的应用。 面向对象数据库系统是为了满足新的数据库应用需要而产生的新一代数据库系统。在数据库中提供面向对象的技术是为了满足特定应用的需要。随着许多基本设计应用(如MACD和ECAD)中的数据库向面向对象数据库的过渡,面向对象思想也逐渐延伸到其它涉及复杂数据的应用中,其中包括辅助软件工程(CASE)、计算机辅助印刷(CAP)和材料需求计划(MRP)。这些应用如同设计应用一样在程序设计方面和数据类型方面都是数据密集型的,它们需要识别于类型关系的存储技术,并能对相近数据备份进行调整。 还有许多应用要求多媒体数据库。它们要求以集成方式和文本或图形信息一起处理关系数据,这些应用包括高级办公室系统的其它文档管理系统。 面向对象数据库从面向程序设计语言的扩充着手使之成为基于面向对象程序设计语言的面向对象数据库。例如:ONTOS、ORION等,它们均是C++的扩充,熟悉C++的人均能很方便地掌握并使用这类系统。 面向对象数据库研究的另一个进展是在现有关系数据库中加入许多纯面向对象数据库的功能。在商业应用中对关系模型的面向对象扩展着重于性能优化,处理各种环境的对象的物理表示的优化和增加SQL模型以赋予面向对象特征。如UNISQL、O2等,它们均具有关系数据库的基本功能,采用类似于SQL的语言,用户很容易掌握。 2.面向对象数据库的优点 面向对象数据库是数据库技术与面向对象程序设计方法相结合的产物,由于同是面向对象方法学,所以其具有了所有面向对象的优点。同时,由于数据库主要操作的是集合(而不是单个数据),所以其又具有自身的特点和优点。 (1)提高数据库开发效率

基于过程的面向对象时空数据模型数据组织方法

基于过程的面向对象时空数据模型数据组织方法 李景文1a,1b, 邹文娟1a,1b, 田丽亚 2 ,农佳捷3,苏浩3 (1a.桂林理工大学土木与建筑工程学院,桂林541004;1b.广西空间信息与测绘重点实验室,桂林541004;2.湛江市规划勘测设计院,湛江524000;3.广西科技信息网络中心,南宁530012)摘要:在分析现有时空数据模型和面向对象方法的基础上,提出了基于过程的面向对象时空数据模型,该模型能反映时空对象的演变过程,以及在这个过程中产生的事件因果联系,并且通过过程语义和面向对象思想两者的结合较好地解决了时空动态数据的组织、存储和查询问题。 关键词:时空数据模型;过程;面向对象;数据组织 中图分类号:文献标识码:文章编号: 0 引言 随着时态GIS应用的不断推广,时空数据模型已成为国内外众多学者的研究热点。Peuquet和Duan提出了基于事件的时空数据模型[1],该模型能较好地反映地理现象状态改变的因果关系,有利于时空分析,但难以表达事件的历史回溯和动态反演;舒红等提出了基于对象的时空数据模型[2],该模型能隐式地表达对象的几何与拓扑关系的动态变化,但是也难以解决诸如引起对象变化的原因、发展程度、变化趋势等问题;张丰等提出了基于过程的时空数据模型[3],该模型重点表达了参与变化的时空对象和时空过程以及变化的因果联系、演变和约束关系,但在表达与分析突发事件或离散过程的地理实体或现象时具有一定的应用局限性。本文从时空语义建模的角度出发,以过程语义和面向对象为基础,构建了基于过程的面向对象时空数据模型,研究和探讨了基于该模型的时空数据组织和时空查询,表达了时空语义并实现了在语义层面上的数据共享[4],同时实现了时空对象在时间特征、空间特征和属性特征上的统一表达和管理以及在时间轴上的无缝描述。 1空间对象变化的过程语义描述 基于过程语义的时空数据模型[5],将过程对象作为完整的表达载体,该类模型采用分级的思想对“过程→状态”进行提取,然后回溯复原“状态→过程”,从而提供给对象变化更丰富的时空语义和更完整的动态表达。 1.1状态、事件、过程的相互关系 状态是在特定的时间里,空间实体客观存在的形式,表达对象相对恒定的过程。空间对象的存在是指在其生命周期内从出生时态到死亡时态之间的相对稳定的一个过程,空间对象的产生和死亡是一个瞬间状态,空间对象的存在是一个相对稳定的状态[6]。 事件是空间对象在时间维上从一个状态到另一个状态的质变过程,每个事件代表一个状态变化。一个事件的发生一定有唯一的开始时间和结束时间,而一个时间段或时间点可对应多个事件。因此事件在时间维上的顺序表达了空间对象变化的时空过程。 过程是基于分类或抽象所得到的逻辑上相连的事件序列。过程实质上是时间轴上相邻两个状态间的时空对象细化而成的多个具有特殊意义的操作,这些操作导致对象从量的变化到质的变化。 状态(S-State)、事件(E-Event)及过程(P-Process)之间的关系如图1和图2所示: 收稿日期:2010-9- 基金项目:广西自然科学基金重点项目(桂科自2011GXNSFD018003);广西科学研究与技术开发计划项目(桂科能0992030-1、10100018-2);. 作者简介:李景文(1971-),男,博士,教授,从事GIS理论和应用方面的研究。E-mail:lijw2008@https://www.doczj.com/doc/4d14754614.html,

面向对象数据库概述

面向对象数据库概述 姓名:Null_Lab 学号:13-3-2-21-1-1-8-5

目录 摘要 (3) Abstract (4) 1. 数据库的发展 (5) 1.1发展阶段 (5) 1.2新型数据库的产生 (5) 2.传统数据库局限性 (6) 2.1不能表示客观世界复杂对象。 (6) 2.2缺少对复杂数据类型支持。 (6) 2.3数据结构不能与行为相关联。 (6) 2.4阻抗失配和语义断层,不能与高级程序设计语言无缝集成。 (6) 2.5不能主动检查和处理事件。 (6) 2.6缺乏管理知识和对象的能力。 (7) 2.7缺乏对长事务和多重嵌套事务的响应和处理能力。 (7) 2.8不能满足巨型数据库应用需要。 (7) 3. 面向对象的概念及特性 (7) 4.面向对象数据库特征 (8) 5.面向对象数据模型的四种核心技术 (8) 5.1分类 (8) 5.2概括 (8) 5.3聚集 (9) 5.4联合 (9) 6.面向对象数据库发展前景 (9) 7.总结 (10) 参考文献 (11)

摘要 本文介绍了数据库的发展,关系数据库与传统数据库的区别,传统数据库的局限性和关系数据库的优势,以及面向对象数据库的核心技术,说明了OOBD数据库发展前景。 关键词:传统数据库局限性;面向对象数据库;

Abstract This paper introduces the development of database,the difference between relational database and traditional database,the limitation of traditional database and the advantage of relational database, andthe core technology of object oriented database, describe the development prospects of OOBD database . Keyword:Limitation of traditional database;Object oriented database;

面向对象数据模型

第三节面向对象数据模型 1、传统数据模型存在的主要问题 已于前述,目前非空间数据最主要的数据模型是层次模型、网状模型和关系模型。这里,我们分别介绍它们用于GIS地理数据库的局限性 (1)层次模型用于GIS地理数据库的局限性 层次模型反映了地理世界中实体之间的层次关系,在描述地理世界中自然的层次结构关系时简单、直观,易于理解,并在一定程度上支持数据的重构。它用于GIS地理数据库存在的主要问题是: 1)、很难描述复杂的地理实体之间的联系,描述多对多的关系时导致物理存储上的冗余; 2)、对任何对象的查询都必须从层次结构的根结点开始,低层次对象的查询效率很低,很难进行反向查询; 3)、数据独立性较差,数据更新涉及许多指针,插入和删除操作比较复杂,父结点的删除意味着其下层所有子结点均被删除; 4)、层次命令具有过程式性质,要求用户了解数据的物理结构,并在数据操纵命令中显式地给出数据的存取路径; 5)、基本不具备演绎功能和操作代数基础。 (2)网状模型用于GIS地理数据库的局限性 网状模型是层次模型的一般形式,反映了地理世界中常见的多对多关系,在一定程度上支持数据的重构,具有一定的数据独立和数据共享特性,且运行效率较高。用于GIS地理数据库的主要问题如下: 1)、由于网状结构的复杂性,增加了用户查询的定位困难,要求用户熟悉数据的逻辑结构,知道自己所处的位置; 2)、网状数据操作命令具有过程式性质,存在与层次模型相同的问题; 3)、不直接支持对于层次结构的表达; 4)、基本不具备演绎功能和操作代数基础。 (3)关系模型用于GIS地理数据库的局限性

关系模型表示各种地理实体及其间的关系,方式简单、灵活,支持数据重构;具有严格的数学基础,并与一阶逻辑理论密切相关,具有一定的演绎功能;关系操作和关系演算具有非过程式特点。尽管如此,关系模型用于GIS地理数据库也还存在一些不足。主要问题是: 1)、无法用递归和嵌套的方式来描述复杂关系的层次和网状结构,模拟和操作复杂地理对象的能力较弱; 2)、用关系模型描述本身具有复杂结构和涵义的地理对象时,需对地理实体进行不自然的分解,导致存储模式、查询途径及操作等方面均显得语义不甚合理; 3)、由于概念模式和存储模式的相互独立性,及实现关系之间的联系需要执行系统开销较大的联接操作,运行效率不够高。 不难看出,关系模型的根本问题是不能有效地管理复杂地理对象。 2、面向对象的概念 面向对象的基本概念是在本世纪70年代萌发出来的,它的基本做法是把系统工程中的某个模块和构件视为问题空间的一个或一类对象。到了80年代,面向对象的方法得到很快发展,在系统工程、计算机、人工智能等领域获得了广泛应用。但是,在更高级的层次上和更广泛的领域内对面向对象的方法进行研究还是90年代的事。 (1)基本思想和基本概念 面向对象的基本思想是通过对问题领域进行自然的分割,用更接近人类通常思维的方式建立问题领域的模型,并进行结构模拟和行为模拟,从而使设计出的软件能尽可能地直接表现出问题的求解过程。因此,面向对象的方法就是以接近人类通常思维方式的思想,将客观世界的一切实体模型化为对象。每一种对象都有各自的内部状态和运动规律,不同对象之间的相互联系和相互作用就构成了各种不同的系统。 在面向对象的方法中,对象、类、方法和消息是基本的概念。 对象——含有数据和操作方法的独立模块,可以认为是数据和行为的统一体。如一个城市、一棵树均可作为地理对象。对于一个对象,应具有如下特征: ·具有一个唯一的标识,以表明其存在的独立性; ·具有一组描述特征的属性,以表明其在某一时刻的状态; ·具有一组表示行为的操作方法,用以改变对象的状态。

面向对象分析与设计试题及其答案

面向对象分析与设计试题B卷 一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题2 分,共20 分) 1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是()的 形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。 A. Simula67语言 B. Smalltalk语言 C. Java语言 D. 统一建模语言(UML)的标准 2. 面向对象的运动产生了多种面向对象的语言, 其中()是一种混合性面向对象语言, 既支持面向过程的程序设计方法,又支持面向对象的程序设计方法,有广泛应用的基础和丰富开发环境的支持,因而使面向对象的程序设计能得到很快普及。 A. Smalltalk B. Eiffel C. C++ D. Java 3.下列不属于面向对象技术的基本特征的是()。 A. 封装性 B. 模块性 C. 多态性 D. 继承性 4. 面向对象程序设计将描述事物的数据与( ) 封装在一起,作为一个相互依存、不可分割的整体来处理。 A. 信息 B. 数据隐藏 C. 对数据的操作 D. 数据抽象 5. 关于面向对象方法的优点,下列不正确的叙述是()。 A. 与人类习惯的思维方法比较一致 B. 可重用性好 C. 以数据操作为中心 D.可维护性好 6. ()是从用户使用系统的角度描述系统功能的图形表达方法。 A. 类图 B. 对象图 C. 序列图 D. 用例图 7. ( ) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图 和其他图的基础。 A.对象图 B. 组件图 C. 类图 D. 配置图 8.()描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之 间传递消息的时间顺序。 A.对象图 B. 协作图 C. 状态图 D. 序列图 9.()就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统 中软件和硬件的物理架构。 A. 组件图 B. 协作图 C. 状态图 D. 配置图 10. 使用UML进行关系数据库的()时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。 A. 业务Use Case模型设计 B. 逻辑数据模型设计 C. 物理数据模型设计 C. 物理实现设计 二、填空题( 每空1 分,共20 分) 1. 面向对象开发方法一改过去传统的以___功能分析___为基础的__面向过程__的结 构化分析与设计方法,它模拟人们理解和处理客观世界的方式来分析问题,把系统视为

面向对象建模案例

例:超市进销存系统的需求描述如下: (1)销售 ①售货员接收顾客订购,输入顾客购买的商品,计算总价; ②顾客付款并接收清单; ③售货员保存顾客购买商品的记录清单。 (2)库存 ①库存管理员每天进行盘点一次; ②库存管理员当发现库存商品有损坏时,及时到相关部门报损; ③在供应商的商品到货时,库存管理员首先检查商品是否合格,并将合格的商品入库处理;当商品进入卖场时,进行商品出库处理; ④经理、订货员根据需要进行库存商品的模糊查询或详细查询。 (3)订货 ①订货员用新商品供应商信息更新供应商数据库的信息; ②订货员统计库存商品是否低于库存下限,然后制作订货单。 (4)统计 ①经理能够使用系统的统计功能,了解商品销售情况、库存情况、供应商情况,以便进行合理的营销策略。 ②经理按市场情况适时变动商品价格。 试建立超市进销存系统的用例模型。 顾客 图1 销售子系统

商品出入库 图2 库存子系统 制作订货单图3 订货子系统用例模型

特殊商品查询 图4 统计子系统用例模型 思考??在用例图中的用例通常只是简单地给出了系统应提供什么服务,并没有展示出如何提供服务,如服务的具体功能、处理流程、场景、出错情况以及异常情况等信息,如何能知道前述信息? !!!用例的描述常采用文字列表形式,也可采用UML图形描述,如交互图、活动图等。 3.试为以下各类建立UML类图及描述它们间的关系。 家用电器、电视机、液晶电视机、电视遥控器、DVD播放机、组合音响、音响功放、音箱、喇叭、低音泡、高音泡、厨具、电厨具、微波炉、电磁炉、电饭煲

销售管理子系统的部分用例描述:

第9章 面向对象数据库系统习题解答

第9章面向对象数据库系统 习题解答 一. 简答题 1.面向对象程序设计的基本思想是什么?它的主要特点是什么? 面向对象程序设计的基本思想是用对象来理解和分析问题空间,并设计和开发出由对象构成的软件系统(解空间)。 面向对象方法的主要优点是:符合人们通常的思维方式;从分析到设计再到编码采用一致的模型表示具有高度连续性;软件重用性好。 2.解释面向对象模型中的对象、对象标识、封装、类、类层次等概念。 对象是一组数据结构和在这组数据结构上的操作的程序代码封装起来的基本单位。是对现实世界某个实体的抽象。 对象标识:唯一地标识某个对象。 封装:隐藏属性,方法或实现细节的过程,对外仅公开接口。 类:对象类的简称,即共享所有属性和方法的所有对象集合。 类层次:一组父子关系的类构成的层次结构 3.给出一个面向对象数据库的类层次的实例。 4.举例说明超类和子类的概念。 超类是子类的抽象,子类是超类的特殊化,如学生、本科生、研究生三个类,学生是本科生和研究生的超类,而本科生和研究生是学生的子类。因为本科生和研究生继承了学生的所有属性和行为。 224

二.问答题 1.对于实体集学生、课程、班级以及它们相互之间的联系,请用ODL来描述。要求为所有的属性和联系(正向、反向)进行说明,并且指出每个类的范围和键码。 Interface Student { attribute integer StudentNo; attribute string StudentName; attribute integer Age; attribute string Dept; relationship Set courses; inverse Course::students; relationship Class bemasterof; Inverse Class::master; relationship Class inclassof; Inverse Class::students; }; Interface Course { attribute integer CourseNo; attribute string CourseName; attribute string Teacher; relationship Set students; Inverse Student::courses; }; Interface Class { attribute integer ClassNo; relationship Student master; Inverse Student::bemasterof; relationship Set students; Inverse Student::inclassof; } 2.对于第1题的ODL描述,请将ODL设计转换为关系数据库模式。 Student(StudentNo, StudentName,Age,Dept) Course(CourseNo,CourseName,Teacher) Class(ClassNo) 3. 根据第1题的ODL描述,请你应用FOR ALL和EXISTS量词设计一个OQL查询,并编程实现之。 输出李红选修的课程名称 Select c.CourseName from Course c where exists s in c.students: s.StudentName=’李红’ 225

(完整版)面向对象分析与设计试题A卷及答案(钟2011.6)

面向对象分析与设计试题A卷及答案 一、单项选择题 ( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题 1 分,共 20 分 ) 1. 到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是()的 出现和广泛使用,使面向对象方法成为了软件开发的主流方法。 A. OMT B. OOSE C. C++ D. UML 2.()为编程人员提供了重复利用程序资源的一种途径,使编程人员可以扩充和完善旧的程序以适用新的需求。 A. 封装机制 B. 抽象机制 C. 多态机制 D. 继承机制 3. 面向对象程序设计中用( ) 来描述具有相同属性和行为的对象集合。 A. 实体 B. 对象 C. 类 D. 类模板 4. 下列语言中, ( ) 是一种混合型面向对象编程语言。 A. C语言 B. Java语言 C. Basic语言 D. C++语言 5. 下列不属于类的成员函数的是 ( )。 A. 构造函数 B. 析构函数 C. 缺省构造函数 D. 友元函数 6. 多态机制的作用是 ( )。 A. 信息隐藏 B. 实现“一种接口,多种方法” C. 派生新类 D. 数据抽象 7. 合理地利用(), 既可以实现部分成员隐蔽,又能方便部分成员的继 承,实现代码的高效重用和扩充。 A.公有继承 B.保护继承 C.友员函数 D.私有继承 8. ()经过实例化而生成具体的类。 A.抽象类 B.函数模板 C.类模板 D.对象 9. 类的析构造函数是在 ( ) 时调用的。 A.不自动调用 B.创建对象 C.删除对象 D.创建派生类对象10.在公有继承的情况下,基类的()成员无法继承到派生类中。 A. 公有成员 B. 保护成员 C. 私有成员 D. 静态成员

面向对象数据库简介

面向对象数据库简介 数据模型是数据库系统的核心和基础。数据库系统的发展以数据模型为主线,以数据模型的进展为分代的主要依据。第一代数据库系统是支持层次和网状数据模型的数据库系统。第二代数据库系统是关系型数据库系统关系型数据库系统在商业领域取得巨大成功,已经成为数据处理应用的标准。然而,随着计算机技术的发展和应用的普及,人们要求数据库系统不仅能处理简单的数据类型,还要处理如图形、图像、音频、视频等更加复杂的信息。新一代面向对象的数据库系统是解决上述问题的有效途径。 在当今软件的世界里,面向对象技术一统天下,渗透到几乎所有软件设计领域、应用领域和工程领域。与此同时,在数据库领域中,虽然关系数据库占据了绝大部分的市场份额,Oracle、DB2、SQLServer、Infomix成为数据库中的霸主,但关系数据库究竟还是是数据的一种存储方式,它不属于面向对象领域。当以关系数据库为数据存储方式时,由于关系概念与面向对象概念是完全不同的两个概念,它们之间存在严重的“阻抗失谐(Impedance Mismatch)”。为了解决这个问题,面向对象技术和数据库技术自然而然开始交流和结合,应用上层的面向对象要求渗透到数据库,甚至是数据库底层,并开始影响未来数据库的发展。 1.关系数据库的存在的问题 1)关系数据库的局限性 关系型数据库有比我们想的更多的局限性。存储和表示一些相当普通的数据结构也是非常困难的。试想一条公交线路——简单,有序的一组站点。关系型数据库以无序的方式存放表,只有创建一个特殊的索引,才能提取有序的数据。对象数据库就没有这个问题,它有有序的数组,不需要索引——这种索引是因为关系数据结构的局限性而要求创建的人工索引。 另一个简单的例子是产品用料单。在制造系统中记录一个产品和它的组件。组件自身也许还有组件,组件的组件还有组件,以此类推。一个关系型数据表不能表达这种部件与部件的部件之间的关系。而这些关系却是重要的数据。查询一个产品数据库,它的所有组件应该是一目了然的。关系型数据库结构使得开发员花费很多的工作来回答这种简单的查询,非常的复杂、困难。与这个例子类似的

从结构化到面向对象程序设计的模型转换

从结构化到面向对象程序设计的模型转换? 袁胜忠 山东大学威海分校现代教育技术部 威海264209 摘 要:随着软件系统内在复杂性的不断提高,面向对象技术已经取代结构化设计技术成为产业化软件开发的主流技术。本文剖析对象模型与结构化设计瀑布模型队程序设计风格的影响,探讨导致面向对象软件工程失败的主要原因,论证了成功实施面向对象软件工程的关键技术,帮助软件工程师完成从结构化设计实践向面向对象分析和设计实践的进化。关键词:对象模型 瀑布模型 迭代和增量式开发 面向对象软件工程 Model Changing From Structured Design Style to Object-Oriented Programming YUAN Shengzhong Department of Modern Education Technology of Shandong University at Weihai, Weihai, 264209 Abstract: In the past several years, with enhance of inherent complex of various systems, the object-oriented technology have actually become the main stream of industrial software development. Compared with traditional structured design style and the waterfall model, in this paper, we strength the correct understand to object model and discuss the main reasons for the failure of object-oriented development in order to promote the software engineers evolution from structured design to object-oriented analysis and design. Keywords: object model; waterfall model; iterative and incremental development; object-oriented software engineering 1 引 言 面向对象的技术可以分为:面向对象的程序设计语言,面向对象的数据库技术,面向对象的分析和设计方法。 对应用软件开发组而言,面向对象的分析和设计方法是一种新的方法,它比面向对象的程序设计语言和面向对象的数据库技术更加难以掌握。因为它与开发组熟悉的结构化设计方法是两种完全不同的设计风格,在建立系统时,结构化设计方法利用算法作为基本构件,而面向对象方法利用类和对象作为基本构件。二者要求开发组用不同的思考方法对待问题的分解,而且面向对象设计方法创造出来的软件体系结构大大超出了 ?作者简介:袁胜忠:男,1965年出生,软件工程师,主要研究方向为应用软件开发,网络管理与优化。

面向对象数据库的应用范围和优缺点

面向对象数据库面向谁? 它的市场在哪里? 陶伟编译 当今冠以面向对象的东西很多,什么面向对象分析,面向对象设计,面向对象语言,面向对象操作系统,面向对象软件工程,等等,诸如此类,不胜枚举。似乎凡是和面对象挂上了边,就要好卖得多。其实面向对象也不是包治百病的灵丹妙药,数据库加上了面向对象同样不可能解决所有的问题,它不是大街上的冰棍,人人都可以买,它有自己独特的应用领域和特有的用户群。向不懂C++或Smalltalk的人兜售面向对象数据库,无异于对牛弹琴。 面向对象数据库的用户主要是从事系统软件和高级应用软件开发的程序员和系统设计人员,它不是大众数据库,在这方面它有别于关系数据库面。面向对象数据库好比是医生用的手术刀,干的是"细活儿",和家庭主妇用的菜刀(关系数据库)不一样,那是用来干"粗活儿"的。面向对象数据库是什么? 面向对象数据库=数据库系统+面向对象系统面向对象数据库必须满足两条准则:首先,它是一个数据库管理系统,其次它是一个面向对象系统。第一条准则可以翻译成六条特征:持久性、缓冲管理、数据共享、数据可靠性(事务管理和恢复)、即席查询以及模式修改。第二条准则可以翻译成:封装性、继承性、多态、对象标识、计算完整性、复杂对象和可扩展性。除了基本定义之外,为了满足所谓的非常规应用领域,还要引入一些扩展的特征:如版本管理、长事务、协同工作、触发和约束等。其中最重要的是封装性、继承性、多态,它们充分体现了面向对象的特征。面向对象数据库的应用领域面向对象数据库的应用面比较窄,主要集中于系统级的软件开发,以及数据密集的、复杂的应用软件开发,包括: ▲计算机辅助设计CAD ▲计算机辅助制造CAM ▲计算机集成制造系统CIMS ▲计算机辅助软件工程CASE ▲超大规模集成电路设计VLSI Design ▲地理信息系统GIS ▲决策支持系统DSS 这些应用领域和传统的商业应用领域有着显著不同,它们表现为复杂的数据类型,而不是简单的二维表,复杂的数据结构上定义着复杂的操作语义,需要不同层次的数据抽象能力,这些均是传统数据库系统所无法满足的。面向对象数据库与文件系统和关系数据库的区别文件系统存贮的数据格式因程序员的设计的不同而不同,一般不能保证数据的一致性和完整性,也很难多个用户共享。关系数据库存贮的是二维表,能保证数据的一致性与完整性,但只能用关系数据模型去描述世界。面向对象数据库则用面向对象数据模型去映射客观世界,存贮的不仅是数据,而且存贮了定义在数据上的操作语义,以及对象之间的复杂引用和约束关系。相对于文件系统和关系数据库而言,面向对象数据库的特点可以做以下的形象描述:面向对象数据库提供了一种存贮对象的更好方法,因为它提供了传统数据库的全部服务,然而却无存储和检索对象时对象的拆卸与装配的开销,比较关系数据库和面向对象数据库存储复杂对象,后者好似直接把汽车开进车库存放,而前者则是把汽车拆成零部件来保存。如何应用面向对象数据库面向对象数据已进入了商业应用领域,但没有取代现有的数据库系统,通常是在处理非常复杂的数据,或者数据很难被分解为关系数据库二维表的情况时,才采用面向对象数据库。一般认为图像数据的处理,使用面向对象数据库非常合适,其实还有许多数据类型可以用面向对象数据库来存储。就目前使用情况看,计算机辅助设计CAD是面向对象数据库最大的应用领域,现在电信、金融服务、医疗保健、制造过程控制等诸多领域,也开始推广使用。主要的面向对象数据库厂商主要的面向对象数据库厂商有以下几家。·Object Design,Inc. ·Gemstone System,Inc. ·O2 Technology,Inc. ·Objectivity,Inc. ·Versant Object Technology

面向对象的关系数据库设计

面向对象的关系数据库设计 2007-11-23 21:29 一、概念的区分 有些人把面向对象的数据库设计(即数据库模式)思想与面向对象数据库管理系统(OODBMS) 理论混为一谈。其实前者是数据库用户定义数据库模式的思路,后者是数据库管理程序的思路。用户使用面向对象方法学可以定义任何一种DBMS数据库,即网络型、层次型、关系型、面向对象型均可,甚至文件系统设计也照样可以遵循面向对象的思路。 面向对象的思路或称规范可以用于系统分析、系统设计、程序设计,也可以用于数据结构设计、数据库设计。OOSE自上至下、自始至终地贯彻面向对象思路,是一个一气呵成的统一体。面向对象的数据库设计只是 OOSE 的一个环节。 二、数据库设计的重要性 一般数据库设计方法有两种,即属性主导型和实体主导型。属性主导型从归纳数据库应用的属性出发,在归并属性集合(实体)时维持属性间的函数依赖关系。实体主导型则先从寻找对数据库应用有意义的实体入手,然后通过定义属性来定义实体。一般现实世界的实体数在属性数 1/10 以下时,宜使用实体主导型设计方法。面向对象的数据库设计是从对象模型出发的,属于实体主导型设计。 一般数据库应用系统都遵循以下相关开发步骤: 1 、设计应用系统结构; 2 、选择便于将应用程序与 DBMS 结合的DBMS体系结构,如RDBMS; 3 、根据应用程序使用的环境平台,选择适宜的DBMS(如Oracle)和开发工具(如PB); 4 、设计数据库,编写定义数据库模式的SQL程序; 5 、编写确保数据正确录入数据库的用户接口应用程序; 6 、录入数据库数据; 7 运行各种与数据库相关的应用程序,以确认和修正数据库的内容。 对以上各步骤,有几点需要说明: (1) 这不是瀑布模型,每一步都可以有反馈。以上各步不仅有反馈、有反复,还有并行处理。 比如一些库表在数据录入时,另一些库表设计还在修改。 这与我们的递增式开发方法有关,也与面向对象的特征有关。 (2) 上述顺序不是绝对的,大多数场合是从第三步开始的。 (3) 对大多数数据库应用系统来说,上述各步中最重要、最困难的不是应用系统设计而是数据库设 三、DBMS的支持和数据库设计 很多数据库应用系统开发者不重视数据库设计的原因是:他们太迷信DBMS,认为购入一个功能强大的 DBMS后数据库设计就不困难、不重要了。一些国内外的数据库教材常常是在为DBMS的开发厂商做宣传,而很少站在数据库用户角度,从数据库应用系统出发介绍数据库设计方法。结果往往使读者搞不清书中介绍的是数据库管理程序的设计思想,还是应用这种 DBMS 进行数据库设计的思想。 其实,DBMS只是给用户为已采用的数据库提供一个舞台,而是否使用这个舞台上

时空数据模型概述及研究

时空数据模型概述及研究 摘要时空数据模型是时空数据库的基础,而时空数据库又是研究时态GIS(TGIS)的核心。本文分析了TGIS中的当前几种主要时空数据模型特征及存在的问题,探讨了当前时空数据模型研究存在的问题,最后对GIS和时空数据模型的将来发展方向给出了一些建议和展望。 关键词时空数据模型;时空语义;时空数据库;时空对象 0 引言 随着GIS应用的推广与深入,用户对空间数据的现势性和准确性提出了更高的要求。目前,我国基础测绘工作重点已转向持续更新和灵性服务。如何建立高效的空间数据库更新机制,如何提高空间数据库更新的自动化程度,已成为亟待解决的问题,有效地空间数据更新机制有助于提升空间数据库的现势性,增强空间数据的利用率,使GIS更好的服务民生、辅助政府决策,而增量更新的重要研究内容是建立时空数据库,规范化的时空数据建模作为其核心技术尚处在探索阶段。 1 时空对象与时空语义 从建立数据模型的角度可将时空对象看作是空间对象,时态对象和属性对象的抽象,而空间数据对象的扩展是从空间数据类型开始的。 对于时态数据类型同样可定义具有时间点、时间区间和时间集合特征的时态数据类型。 整个时态数据类型的扩展层次如图1所示: 2 几种主要的时空数据模型 合理的时空数据模型包含如下几方面的因素:如何节省存储空间,加快存取速度,确立时空语义诠释和模型体系结构的层次[1]。TGIS模型主要包括序列快照模型、空间时间立方体模型、基态修正模型、时空数据模型的面向对象等。 2.1 空间时间立方体模型 空间时间立方体模型诠释的是一个3维立方体,由一个时间维和空间两个维度组成的,形象的诠释了二维空间向着第三个时间维演变的过程(如图2所示)[2]。空间一时间立方体作为任意一个空间实体的改变过程中的一个实体。模型形象地采用了时间维的几何特征,诠释了空间实体是一个时空体的理念,易于读者理解,模型实现的难度在于三维立方体的诠释。 2.2 序列快照模型 快照模型有栅格快照模型和矢量快照模型,是通过将一系列时间片段的快照存储起来,为反映地理现象的时空演变过程,要使每个切片都分别对应着不同时刻的状态图层,按照需要对所选择的时间片段进行播放,有一些GIS就是用该方式来慢慢逼近时空特征.该模型的优越之处在于:一是目前的数据库一直处于合理有效的状态;二是能够直接在目前的地理信息系统软件中实现。然而,快照将没有发生变化的全部特征进行储存,会出现许多数据冗余,如若模型变化较为频繁,而且数据量较大时,系统效率就会迅速降低,结果必然难以处理时空对象间的时空关系。 2.3 基态修正模型 通过设置基态修正模型时间间隔进行采样,避开快照模型使每一次没有发生改变部分特性反复进行记录。该模型也具有栅格和矢量两种模型。基态修正模型

时空数据模型的研究现状与展望

第26卷 第1期2010年1月地理与地理信息科学 G eography and G eo -Information Science Vol.26 No.1January 2010 收稿日期:2009-10-23; 修订日期:2009-12-22 基金项目:国家自然科学基金项目(40901194、40801162);国家重点基础研究发展计划项目(2009CB723903) 作者简介:薛存金(1979-),男,博士,助研,从事时空数据模型与海洋GIS 研究,已发表论文10余篇。E -mail :cjxue @https://www.doczj.com/doc/4d14754614.html, 时空数据模型的研究现状与展望 薛存金1,谢 炯2 (1.中国科学院对地观测与数字地球科学中心数字地球科学重点实验室,北京100191;2.中国科学院地理科学与资源研究所资源环境信息国家重点实验室,北京100101) 摘要:分析了时空表达与建模理论的5个发展阶段:基于静态数据模型扩展、面向对象表达、基于对象变化(事件序列)、时空集成和以过程为核心的时空数据模型;阐述了时空数据模型在时空动态语义、地理时空认知表达和地球信息科学解决的基本问题方面的研究现状,并指出由于现有时空数据模型主要以地理实体存在状态的“对象视图” 或“事件视图”(而不是演变特性的“过程视图” )作为表达载体,割裂了其内在联系,无法实现复杂地理实体的时空语义描述和动态过程分析。最后,提出以地理实体演变为核心的时空语义描述方法和融入地理对象、变化机制、对象变化的时空动态表达将是时空表达与建模理论的发展趋势。关键词:时空数据模型;动态语义;表达框架;变化机制 中图分类号:P208 文献标识码:A 文章编号:1672-0504(2010)01-0001-06 地理实体的动态表达与建模是地球信息科学的核心内容,也是时空分析、地理深层知识获取和挖掘的基础[1,2],对进一步的时空信息模拟、预测及决策分析具有重要意义及应用价值[2-5]。因而,时空数据模型和时态GIS 已成为国内外研究热点。近20多年从不同的认知角度发展了大量时空表达与建模理论,经历了基于传统的静态数据模型扩展[6,7]、面向对象表达[8-11]、基于对象变化(事件序列)[12-15]、时空集成[5,16,17]和以过程为核心[3,18-21]5个发展阶段。 由于地理实体的复杂性和多样性,现有的时空表达与建模理论多基于特定的应用领域、针对特定的科学问题设计,致使时空动态语义出现重叠或空白,表达框架体系不完整。因而,有必要对时空数据模型的时空动态语义和表达框架体系进行梳理,力求为开展时空表达与建模理论提供新的研究思路。 地理实体是时空数据模型的表达载体,解决地球信息科学的基本问题是开展时空表达与建模理论研究的最终目的。本文从时空动态语义、地理实体类型和地球信息科学的基本问题3个角度,阐述现有时空数据模型的研究成果、存在的问题及其根源,并给出时空表达与建模理论发展趋势及其进一步的研究内容。 1 研究现状 1.1 时空动态语义 完整的时空动态语义应包括地理实体、实体变化和引起变化的原因(变化机制)。如此,才能实现 地理实体和实体变化的表达和地理时空信息的深层知识挖掘。因而,定义时空动态语义描述框架为: S =f (E,EC,CM ) (1) 其中:S 为时空语义,f 为描述框架体系,E 为地理实体,EC 为地理实体变化,CM 为地理实体的变化机制。1.2 地理实体的基本类型 地理实体类型的划分是进行时空表达与建模的前提,从不同的角度研究,其基本类型存在差异[17,22],本文从地理时空认知理论和人的行为习惯出发,根据地理实体的属性、功能、关系在时空域上的变化特性,将地理实体归纳为7种基本类型(图1),语义如表1。其中,X O Y 代表二维地理空间,T 代表时间轴,椭圆的形状和尺寸代表地理实体的空间信息,灰度代表属性信息。 表1 地理实体基本类型的语义描述 T able 1 Sem antics description of the geographical entities 类型 描述语义 I 空间位置相对不变,属性信息也相对不变 Ⅱ 空间位置相对不变,属性信息在某一时刻发生变化Ⅲ空间位置相对不变,属性信息在某时段内连续发生变化Ⅳ属性信息相对不变,空间位置信息在某一时刻发生变化Ⅴ空间位置信息在某时刻发生变化,属性信息也发生相应变化Ⅵ属性信息相对不变,空间位置信息在某时段内连续发生变化Ⅶ 空间位置信息在某时段内连续发生变化,属性信息也连续发生变化 1.3 地球信息科学解决的基本问题 能否解决地球信息科学的基本问题及解决的程度如何,是检验时空数据模型科学性的标准。吴立新等把地球信息科学需要解决的基本问题概括为 “4W 2HR ”[22] ,而Paul 等则将其概括为“全球状态”

相关主题
相关文档 最新文档