您好,欢迎来到华拓网。
搜索
您的当前位置:首页一种Oracle空间数据库的设计与实现

一种Oracle空间数据库的设计与实现

来源:华拓网
维普资讯 http://www.cqvip.com

一种Oracle空间数据库的设计与实现 雷英杰王涛 (空军工程大学导弹学院计算机系,陕西三原713800) E—mail:leiyjie@publof.xa.s1l.ell 摘要该文舟绍了如何用Oracle spafiM建立一空间数据库 井对数据库中的数据进行雏护 文章蛤出了详细的设计 实倒 关键词 0mcle Spatial 数据库 文章编号1o02—8331一(2o02)13_0201—02 文献标识码A 中图分类号 rP311.13 Design and Implementation of an Oracle Spatial Database System Lei V'm ̄ie Wang Too (The Missile Institute of Air Force Engineering University,Sanyuan Shanxi 713800) Abstract:This paper Dresenb how use the Oracle spatial to establish the space database and maintain the data in the database,and demonstrate ̄all example for designing in detail. Keywords:Orade,Spatial,Database 1 引言 随着GIS、CAD/cAM的广泛应用.要求存储大量空间几何 数据,而大多数数据库不具备这种对空间数据的存储和管理功 能 这就导致r在许多开发软件中必须提供一种小型数据库软 件,以实现对空间几何数据的管理.但是这种小型数据库软件 功能上相对较弱.在实现上有一定困难 现在Oracle 8i对这个 问题给予了很好解决,在Oracle 8i的企业版中具有spatial模 块,可 宴现空阃几何数据的相关存储,方便的实现对空间几 在spatial中必须使用索引来完成第一步查询工作.一般使 用二叉树索引方式,将所查询的空间几何图形用小方格进行覆 盖,以确定空间几何图形的范围。如图1所示 索引又可 分为 固定索引和混合索引。固定索引就是进行索引时,对所有图形 都进行相同小方格的覆盖, 进行索引;而混合索引只是对重 点区域进行进一步的方格覆盖,以进行索引。 4空间数据对象 在Omcle spatial存储对象可以分成对象关系模式和关系 模式两种形式.其主要区别为:对象关系模式下用到来存储对 象.而关系模式下用二维表柬存储对象,主要用于分布式数据 库中 现在介绍对象关系模式下建立数据对象的语法。 何数据的管理。 2空间图层 在0瑚k数据库中空间几何数据按照空间囤层、几何图 形,元素来分层组粤j。空间图层是由几何图形掏成,而几何图形 是由元素来构成的。在Oracle spatal中支持的元素包括:点、i 直线、曲线、复合线、自相交线、多边形,复杂多边型、复合多边 形(中空多边型、并列多边型)。 4.1建表 建表的基本语法为 alCREATE TABLE<tablename>(columnname datyl ̄e..) ___其中系统定义了一个数据类型SDO—GE0METRY,包括 SDO_GTYPE、SDO_5RID、SDO—POlNT、SDO—ELEM-JNFO、 3查询和索引 在Oracle satpial中.对空间几何数据的查询分为两步: SDO ORDINATES共5十子类型。 (1)SDO—GTYPE是一个number型的结掏,用来定义所存 储对象的类型。 {1)根据条件检索出要查询内容的范围.在服务器端完成;(2) 在第一步所查询的范围中进一步检索,找出所要查询的空间几 何数据,在服务器或客户端进行。 点 直线 多边形 多种形状集旮(点、线、多边形) 多点 多线 多种多边形 圈I小方格覆盖 基金项目:部委重点科研基金项目 作者简介:雷英杰,教授,博士生导师,主要从事』’工智能与专家系统、网络与数据库技术研究。王涛.计算机应用专业硬士研究生。主要从事网络 与数据库技术研究。 计算机工程与应用2002.13 20l 维普资讯 http://www.cqvip.com

在spatial中将所袁币的空问几何数据的维数作为 SDO_其中: SDO—GTYPE的第一个数据。例如.2001表示二维数据的一个 (2)SIX)一SRII)是一个number型结构,用l束存放系统『1). LEVEL:对所选J生】形进衍 定索引时,摄盖小 格f门 NUM Frl I ES:对所选罔形进行混音索引时,裰盖小方 点;3002表示 维数据的一条 线 大小.1evel 0为整千图形 1evel 1为四分之一大小… SDO—进行系统维护时使用的。 (3)SDO—POINT是一个以坐标形式来定义点的数据结构. 只打当SDO—ELEM_JNFO,SD0一ORDINATES为null时才有效 格的大小,对于点集来说 一般为1,对于非点集时.一般大于4 SD0 COMMITINTERNAL:为进行多少次索引时,就对数 _据库进行提交。默认值为一l,进行完整个 务后 才进行提交 Parameler:用来设置置于索引的存储参数。 (4)SDO—E1 EMllN 0是用米描述空间儿何数据性质的数 据结构,是一个数组,其巾每一十数共同表示一利一空间几何的 性质 这一 个数的意义分别足:Ordinate ofset表示第一十兀素 5程序实例 的纵坐标;element b'pe和interpretatlon共1日=I表示数据性质。洋 见下表: number element 1)Tin intcrpre4alion 下 给m一个在Oracle 8 1.5中构建空问数据库,并对空 间数据库进行增 删、改操作的实例。通过这个实例可以看到扯 Oracle中构建卒闸i数据库功能强大,f.但实现却l’分简 首先建立一个城市表(用米表不被此相连的城市)和关系表 ~ V一一V \ 一 / I 2 点 线 t:直缱 2:妪线 (用来表不城市之间的公路 CREATE TABLE CITIES( 3 1003:内部2003:外部 多边形 l:直线 2:弧线 3:矩形 4:嗤形 LOCATION MDSYS.SDOj;EOME rRY//城市忙置 GEOM MDSYS.SDO GEOMETRY, cm VARCHAR2(42), STATE_ABRV VARCtlAR2(2), 一//城甫边界 //城市名 //所属省份 4 复 线 2 复絷多边型 2 1005:内部 POP NLMBER //^口数量 POPPSQMI NuMBER): CREATE TABLE INTERslr^TESf //^口密度 //城市 地形 //高速路名 2005:外部 GEOM MDSYS.SDO GEOME rRY, 在spatial中对于复杂多边形必须先用一组数柬定义罔形 属性,然后分别定义多边型的每一段的属性。如图2所示。 IIIGtIWAY VARCIIAR2(35)/; 接下来将条件插入到USEB_sD GEOM—METADA一 【lA中: INSERT INTO USER_sDO G )M METADArA(1'ABLE NAME (x3,y3) COLUMNNAME.DIMI F0 SRID) —(x1 y VALUES( ITIES ."LOCATION MDSYS.SDu_DIM—ARRAY (MDSYS SIR3 DIM£LEMENT I80 0CO00 ̄000 0’0000{)0050). ( x , 一18000000000O. ( , -90 000000000, MDS'YS SDO DIM E1 EMENT 9n0 000.0 OOOOOOO.5O) NULL); 圈2复杂多边形描述 INSERT INTO USER_sD GEOM—METADATA(TABLE NAME COT UMN N^ME.DlMINFO,SRID) 4 2视图 Spatial在定义r数据结构的同时还定义了US- EBSDOGEOM_——VALUES( CITIES , GEOM . MDSYS SDODTMARRAY ——METADATA的系统视图.用户建立的每一个 (MDSYS SDO—DIMELEMENT—( x ,一180 00㈣00 空间数据表,都是这十视图的一行.方便用户来生成图层,同时 用户也可以将每个图层的条件放^视图, 防输^数据出错。 视图包括:袁名、列名、空间数据信息和ID。其中空问数据包括 SDO—I80 0[0X0O0o.0.∞00c0)50). MDSYs.SDODIMET ME _—(~Y, 一9o 00㈣00 9n0 000.0.000000050】 DIMNAME(维数名)、SDO—LB(数据下限)、SDO—UP(数据 /, NULL1: 上限)、SDO_TOLERANCE(允许误差)。 INSERT INTO USERlsDO GEOM—ME1lADA1l^(TABLE_NAME COLUMN—4.3索引 建立索引的语法为: CREATE INDEXTYPE ls MDsYS SPATIAL INDEX <c0IuTnn Ilal ̄ NAME,DIMINFO,SRID/ v^llUEs( INTERSTATEs , GE0M . MDSYS SDO DTM ARRAY (MDSYS SDO DIM ELEMENT f X 一180 000000000 PARAMETERS( DO ̄LEVEL=<LEVEL> SDO NUMTI’rLES=<numtit[es> SDOCOMMITINTERNAL=<N> __180 O00oc帅0o.nO0c0o0o50/ MDSYS.SDu_DIM—ELEMENT 9n∞[x】O0c0o.0 O )0O0o501 ( Y , 一90 00000 ̄00 『(Parameter(param_value>..)r){ (下转226页) 202 2002.13 计算机工程与应用 维普资讯 http://www.cqvip.com

助于分折和理解部件之间的相互影响程度图5为组惫系统的 构件图。 囤5组态系统的构件围 4结束语 uML建模是很灵活的过程 使用者不必面面俱到地画出 各种图 对于每一幅图,只有在必要时才需要画出 UML作为 面向对象技术的建模工具.提供了9种视图从不同应用层次和 不同角度为系统从系统分析 设计直到实现的提供有力支持 在不同的阶段建立不同的模型,建模的目的也各不相同= UML用在基于组态技术的虚拟制造系统中,使开发者准 确把握复杂系统各部分的内在关系,加快了系统设计升发的进 度;避免前面设计工作的不台理导向,后续设计任务的无法继 续.而推翻以前的工作,导致人力和财力的浪费;通过UML的 不同视图,可以把握总体优化系统的性能 (收稿日期:2001年lO月) 围4集成系统的状态围 参考文献 1.刘趣等. 视化面向对象建模技术——标准建模语言UML教程【M】 北京航空航天大学出版社,1999 组态系统包括5个类(Class)和3个动态库。主执行程序 由主类产生,主娄(main.epp,main.obj)依赖结构类(structure)、 运动类(sport)、控制类(contro1)和监测类(inspect)。主执行程序 由主类和图形库、算法库 知识产生。主执行程序可以根据用户 的设置生成结构数据库、运动数据库、控制数据库和监控数据 2.赵骥等虚拟生产线框架及其实现_J】中国机械工程.2(啪;t1(6): 67I~674 3俞金寿等集散控制系统原理监应用[M】.化学工业出版社.1995 4 Lee K 1 Noh S D.Viatud m ̄ufacturlng system—tl te —bed of 库,这些数据库中数据供集成系统集成虚拟制造系统时调用。 Nneefing aetlviti ̄[J].CARP Annals,1997;46(I):347 ̄350 (上接202页) ), NULL); acle spatial设计空间数据库的方法和过程,并给出了设计实 例。文章所提供的程序均在Windows NT 4.0和Omcle 8.1 5 中调试通过。(收稿日期:2001年7月) 现在需要为数据库建立索引: CREATE INDEX IDXINTERSTATES ON INTERSTATES(GEOM) _INDEXTYPE玲MDSYS.SPAT1AT._I1 ̄DEX PARAMETERS, "SDOLEVEL=9 ); _参考文献 1.The l ̄efet,ence of Oracle p蚰 h【lp://~ondce COrn 2孙宏昌等Oracle应用系统开发【M】.北京:清华大学出版社,2000 以上是建立空间数据库的一些工作。所有空间数据库的信 息都可以在数据字典USEB—SDO—INDEX—METADATA、 s- ER SDO TABLE METADATA中得到。以后就可以对所建立的 3.欧阳为民,郑诚,蔡庆生数据库中加权关联规则的发现U】软件学报 2001;(4):612 ̄619 4.张巨,刘雨MapInfo空间数据库技术分析 微型电脑应用,1999;(101 数据库进行查询 添加 修改 删除的工作了 因为这些工作,是 应用SQL语句对数据库进行操作,所以这里就不赘述了。 5谢榕.地理信息系统中空间数据库建立的燕键技术叨北京测绘,1998; (4) 6Christian BtlhnLA cost model for query p ̄esslng in high dimen*iona[ 6结束语 该文介绍了Oracle spatial的基本概念,详细阐明了用m data spaces[J].ACM Transactio.s Off Database Syste ̄,2000;25(2): l29~178 226 2002.13 计算机工程与应用 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo3.cn 版权所有 湘ICP备2023017654号-3

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务