• 休闲生活
  • 教育教学
  • 经济贸易
  • 政法军事
  • 人文社科
  • 农林牧渔
  • 信息科技
  • 建筑房产
  • 环境安全
  • 当前位置: 达达文档网 > 达达文库 > 环境安全 > 正文

    基于对象的关系数据库管理系统的设计与实现

    时间:2021-04-09 07:53:42 来源:达达文档网 本文已影响 达达文档网手机站

    摘要:对象关系数据库技术是在继承关系数据库技术的基础上,增加面向对象特性,可满足GIS等应用领域的需求而发展起来的一种新型数据库技术,它既具有管理复杂数据的能力,又能提供强有力的查询功能。本文基于面向对象的关系数据库管理系统,提出直接在对象关系数据库中存储矢量地理时空数据的方法,实现了空间数据、时间数据和属性数据的一体化管理。

    关键词:查询优化;索引结构;算法分析;对象关系数据库

    中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)25-1366-02

    Object Relational Data Base Management Systems

    LIU Da-ming1,2

    (1.Ningxia Vocational Technological Institution,Yinchuan 750002;2.Ningxia Radio and TV University,Yinchuan 750002, China)

    Abstract: Object-relational database technology combines the relational and object-oriented capabilities in one database system. It provides support for richer object structures and powerful query-oriented functions. This kind of DBMS can meet the requirement of some newly emerging application areas, such as GIS. Now, the Object-Relational DataBase technology is regarded as one of the most promising research and product development directions. This paper gives a method of accessing spatiotemporal vector data in an Object-Relational database. Results provide path of spatiotemporal data storage in Web environment.

    Key words: query optimization; index structure; loin algorithm; algorithm analysis; ORDB

    面向对象的开发方法是当今的主流,但是同时不得不使用关系型数据库,将两者更好地结合起来将在很大程度上加快软件的开发[1]。对象/关系数据库通过将面向对象程序设计中的对象映射到基于SQL的关系模型的数据结构中去,能给软件的开发带来很多好处如:数据库结构清晰,便于实现OOP,数据库对象具有独立性,便于维护,需求变更时程序与数据库重用率高,修改少。地理时空数据小不同于一般的属性数据和空间数据时空数据主要有以下特性:空间性、时间性、抽象性,进而带来多维性、多态性和多尺度[2]。GIS的时空数据组织与管理一直是GIS理论界关注的一个热点问题,传统的基于文件方式的GIS数据存储技术以及基于混合方式的GIS数据存储技术有其各自的不足,采用对象关系数据库技术存储时空数据是今后一段时间内GIS数据管理发展的一个方向[3]。

    1 对象关系数据库管理系统(ORDBMS)的基本原理

    “对象关系数据库”实现既非纯粹的面向对象的数据库也非纯粹的关系数据库,它代表两者的结合[4]。扩充现有数据库系统以支持面向对象的概念,我们习惯上称这样的系统为扩充数据库系统。在关系数据库基础上加以扩充的, 称之为对象-关系数据库(ORDBMS)。RDBMS派认为RDB具有坚实而成熟的理论基础, 主张对现有的RDBMS 进行扩充和改进, 使之升级为ORDBMS。这种系统既支持已经被广泛使用的SQL,具有良好的通用性, 又具有面向对象特性, 支持复杂对象和复杂对象的复杂行为, 是对象技术和传统关系数据库技术的最佳融合。

    由于在ORDBMS 中,关系和对象两者共存,因此由面向用户层和内部接口层构成的两层体系结构来构造一个ORDBMS。面向用户层主要是对ORSQL ,ORDML 及ORDDL 这类语言进行转换和处理,通过解析各种用户命令语句,并完成视图转换和查询优化,以产生执行代码。内部接口层在存储管理器之上运行。存储管理器是一个既支持表存储又支持对象存储的内核机制。依靠操作系统的页、Buffer 及内存管理,存储机制实现从逻辑到物理的存储的转换。存储和存取机制的任务就是把上层操作转换成单个的对象操作或记录操作。ORDBMS体系结构图1所示。

    2 Oracle对象关系数据库管理系统在GIS中的应用

    Oracle是以高级结构化查询语言(SQL)为基础、支持分布式海量数据存储与处理的对象关系数据库管理系统。目前很多GIS软件平台及其相关产品采用Oracle作为空间数据库管理系统的基础平台。因此如何在Oracle中快速、有效地管理和操作海量空间数据成为GIS平台和应用系统研发人员十分关心的问题。Oracle Spatial解决空间数据的方法是:提供一个MDSYS模式,在其中包含了关于空间数据管理的所有内容,即提供一个对象数据类型(SDO_GEOMETRY)、索引功能及多个针对SDO_GEOMETRY的函数/运算符。这样就可以在Oracle数据库中快速有效地存储、访问和分析空间数据。Oracle Spatial所提供的功能完全集成在数据库服务器中。用户可使用SQL定义来操纵空问数据,也可以利用Oracle的标准特性,从而确保数据的完整性、可恢复性和安全性等特征。

    2.1 对象-关系模型

    对于空间几何对象,Oracle Spatial可以用对象关系模型来表达,该对象关系模型通常用表的一个MDSYS.SDO_GEOMETRY类型字段来表示,同时每一记录表示一个几何对象地实例。该对象关系模型有以下的优点:

    1) 支持多种几何对象类型,包括:弧、圆、复合多边形、复合线串、矩形。

    2) 容易创建和维护空间索引并进行空间的查询。

    3) 用一行和一列表示几何对象的模型。

    4) 可以达到最优的性能。

    2.2 数据模型

    空间数据模型可分为几何元素、几何对象、层等三级结构,每一种结构都对应于空间数据的一种表达。层是由几何对象组成,而几何对象则由几何元素组成。例如:一个点表示一个建筑物,一条线表示一条公路或是跑道,一个多边形表示一个省、城市或某个区域。

    1) 几何元素(element)

    元素是几何对象(Geometry)的基本构成单元,支持的空间元素有点、线、面和多边形,例如:元素可以构成星群(由点串构成),公路(由线串构成)、县的边界(多边形构成),元素的每个坐标存储为x,y坐标对。一个带洞的多边形的外部环和内部环被认为是两个不同的元素所构成的复合多边形。

    2) 几何对象(Geometry)

    一个几何对象表示一个空间几何特征,它是由一个或多个几何元素的有序组成:一个几何对象可以由一个几何元素组成,也可以由同一类型的几何元素集合或不同类型的几何元素集合组成。

    3) 层(layer)

    层是具有相同属性特征的几何对象的集合。例如:地理信息系统中,一层包括拓扑特征,而另一层描述它的人口密度,第三层则描述路和桥的网络结构,每一层对应一个空间索引。

    2.3 空间查询模型

    Oracle Spatial用两层查询模型来解决空间查询和空间联合查询。这两层模型是指主过滤和次过滤。主过滤主要从被选记录中作快速选择并传给次过滤,它近似地比较几何对象以减小复杂度计算,它是一种内存、时间消耗的过滤;次过滤是对来自于主过滤的几何对象结果集作精确的计算。

    2.4 空间索引

    通过Oracle Spatial把空间索引化能力导入数据库引擎是空间产品的一个关键特征。一个空间索引就是以空间标准为基础、限制表内(或数据空间内)的搜索的机制。为了高效地执行查询过程,索引是必不可少的,比如在查询区域的数据空间内寻找对象,通过一个查询多边形(栅栏定位)。第二种查询(空间联合)类型是在两个存在空间关联的数据空间内寻找对象组。

    2.5 空间关系与过滤

    Oracle Spatial用次过滤来决定数据库中的空间对象之间的空间关系。空间关系是以几何对象的位置为基础的,最基本的空间关系是基于拓扑和距离。如:区域的边界包含一系列把外部的空间分隔开来的弧段,区域的内部包含区域内的所有不在边界的点。为此我们说,拥有部分共同边界而没用共同内部点的两个区域的空间关系为临近的。两个空间几何对象的距离定义为他们之间的任何两点的最小距离。如果两个几何对象之间的距离小于给定的距离,则我们说一个几何对象在另一个对象的某一距离内。

    3 结论

    面向对象的开发方法是当今的主流,但是同时不得不使关系型数据库,将两者更好地结合起来将在很大程度上方便软件的开发。伴随着关系数据库日益增长用和面向对象程序设计的普及,对对象/关系数据库的关注越来越多。由于将目前最为流行的关系数据库和面向对象程序设计很好的结合起来,而且己经有了比较稳定的对象/关系数据库的映射下具,因此对象/关系数据库会有一定的应用前景。本文正是利用对象关系数据库管理地理时空数据所具备的优越性,将其用于存取矢量时空数据,为地理时空数据的存储提供了一条有效途径。

    参考文献:

    [1] Carey M J,Dewitt D J.Of Objects and Databases: A Decade of Turmoil[M].22nd VLDB,1996:3-14.

    [2] Stonebraker M.Object-Relational DBMSs The Next Grew" Wave[M].Morgan Kaufmann Publishers,Inc,1996.

    [3] Committee for Advanced DBMS Function.Third-Generation Database System Manifesto[J].SIGMOD Record,1990,19(3):31-44.

    [4] Darwen H,Date C.Third Manifesto[J].SIGMOD Record,March 1995,24(1).

    相关热词搜索: 对象 关系 数据库管理系统 设计

    • 生活居家
    • 情感人生
    • 社会财经
    • 文化
    • 职场
    • 教育
    • 电脑上网