遥感学报
JOURNALOFREMOTESENSINGVo.l12,No.5
Sep.,2008
文章编号:10074619(2008)05075906
基于历史关系数据库的时空数据库实现研究
黄勇奇
1,2
,崔伟宏
1
(1中国科学院遥感应用研究所,北京100101;2中国科学院研究生院,北京100049)
摘要:时空数据库是研究如何存储历史和当前的时空数据,从而跟踪分析某一区域的变化,最终实现时空模型化和模拟地学过程。采用历史关系数据库模式的时空数据库可以充分利用传统时态数据库时态查询功能和GIS空间分析处理功能这些方面成熟的研究成果和现有系统,降低时空数据库建立的费用和开销。分析了采用扩展关系型时空数据库的原因,介绍了历史关系数据库模式、时态关系代数和查询语言,研究了采用历史关系数据库模式在全关系化空间数据库中组织时态信息的方法,从而实现时空数据库。以麦地轮作为例说明了采用历史关系数据库模式建立时空数据库的可行性和有效性。
关键词:时空数据库;全关系化空间数据库;历史关系数据库;轮作中图分类号:P208文献标识码:A
比如ARC/INFO、MGE等,越来越趋向于全关系化的
1引言
时空数据库是包括时间和空间要素在内的数据库系统,是时态GIS和时空地学可视化的基础
[3,4]
[1,2]
存储管理。空间查询语言的研究很多建立在关系模型基础之上的。综上所述,使用扩展关系型时空数据
库可以充分利用这些方面成熟的研究成果和现有系统,降低时空数据库建立的费用和开销。
。
时空数据库主要有两种解决方案:一是在空间数据库的基础上增加时间维,二是在时态数据库的基础上扩展空间维。由于空间数据库的研究比较成熟,充分利用GIS已有的空间数据模型和空间处理分析功能,这将大大减少工作量。因此本研究选择在空间数据库的基础上增加时间维。根据对时间信息组织方式不同,时空数据库主要有扩展关系型时空数据库和面向对象型时空数据库两类
[57]
2历史关系数据库的关系模式与时态数据查询语言
21历史关系数据库关系模式
根据时态信息的表示方法,时态数据库可分为快照数据库、回滚数据库、历史数据库和双时态数据库4类(但快照数据库不是一种真正意义上的时态数据库)。历史关系数据库(historicalrelationaldatabase)即历史数据库,是一种只支持有效时间的时态数据库,它记录现实世界中对象在有效时间轴上的一系列状态变化。有效时间是指一个对象在现实世界中发生并保持的那段时间,即对象的生命周期。历史关系数据库(HRDB)由 历史关系!组成,每一个元组记录了该数据的一个 历史状态!,这个历史状态可以被任意修改,但是无法记录数据库的修改历史。(VTSTimeDB,VTETimeDB)表示对象的有效时间,有效时由数据库系统解释。假设Now为历史数据库的当前时间,则
[8,9]
。面向对象型时空
数据库是将时间作为事件的属性,直接扩展时间语义维,而扩展关系型时空数据库是将时间视为空间特征和专题要素的属性来处理的。虽然面向对象型时空数据库具有对复杂时空对象更完整的描述,但扩展关系型时空数据库也有独特的优势。首先,关系数据库模型具有严格的关系代数支持,有许多现成的大型商业关系数据库可用,并且很多信息系统开始是建立在关系数据库基础上的。其次,时态数据库本身的研究较多地采用了关系模型,为关系代数扩展了时间语义,并且研究和开发了时间结构查询语言。第三,GIS领域和空间数据库的研究很多使用了关系数据模型,
收稿日期:20070402;修订日期:20071102
作者简介:黄勇奇(1976),男。助教,在读博士研究生。主要从事地理信息系统方面的理论与应用研究,发表论文近20篇。Emai:l761212741030.student@sina.com。760
遥感学报第12卷
VTSTimeDB∀Now∀VTETimeDB表示对象仍然合法,而VTETimeDB 查询结果。ATSQL2已被建议成为SQL/Temporal的语言标准。 。如图1就是一个历史关系数据库 图2基于TimeDB的应用结构体系Fig2ApplicationsystembasedonTimeDB 图1历史关系数据库示例 Fig1Exampleofhistoricalrelationaldatabase 3基于历史关系数据库的时空数据库设计与实现 对存储管理地理空间数据,迄今为止人们已提出了基于关系数据库和文件系统的管理方法、建立全新的面向对象的数据库管理系统、空间数据的全关系化存储管理等解决方案 [13] 22时态数据查询语言 根据不同的时态数据模型,人们提出了很多时 态数据查询语言,例如TempSQL,HSQL,TRM&TSQL,TQue,lTSQL2和ATSQL2 [11] 。空间数据的全关 。这些时态数据 系化存储管理是在标准的RDBMS上增加空间数据 管理层,即空间数据引擎(SpatialDataEngine),利用该层将地理结构查询语言(GeoSQL)转化为标准的SQL查询,借助索引数据的辅助关系实施空间索引操作。采用全关系化管理的方式,以充分利用RDBMS数据管理的功能,使空间数据与非空间数据一体化集成,并且全关系化管理的方式符合OpenGIS规范,能更好地保证空间数据库的开放性和互操作性,已成为GIS领域的发展趋势之一。另外,由于历史关系数据库也是采用了关系模型,为关系代数扩展了时间语义,并且研究和开发了时间结构查询语言,因此,在全关系化空间数据库扩充时态信息建立时空数据库成为可能。31基于历史数据库创建时空数据库的方法前面已谈及,ATSQL2可以直接创建时态数据表,也可以支持非时态数据库向时态数据库进行移植,非时态数据表更新为时态数据表。无论哪种情况,均先要对数据库进行初始化,即在原有的数据库中加入辅助表,辅助表用于保存表和列的相关信息,包括表名、表类型、列名等,这样就可以进行时态数据操作。辅助表包括TableTypes,Table_View_Schemes,Views,Keys和Assertions表。其中Table_Types表存放表的信息,包括表名、表的类型(0代表查询语言有的只支持有效时间,有的可以同时支持有效时间和事务时间。但是实现了原型系统的不 多,其中比较有影响的一个原型系统就是由Dr.AndreasSteiner等人开发的双时态关系数据库管理系统TimeDB,它被认为是第一个完备的时态数据库管理系统实现,实现了ATSQL2时态数据查询语言。TimeDB严格来说不是一个真正的时态数据库管理系统,而是一个建立在非时态的商业数据库管理系统(如Oracle)的前端应用软件,实现基本时态数据管理功能,包括时态查询、时态修改、时态视图和时态完整性约束 [12] 。基于TimeDB的应用结构 体系如图2。TimeDB采用统一的方法,将时态SQL语句转换为标准的SQL语句在商业数据库管理系统上执行,从而支持ATSQL2时态查询语言。ATSQL2是标准SQL的扩展,综合了TSQL2、ChronoLog和BitemporalChronoSQL3种不同方法,它能最大限度地支持非时态数据库向时态数据库进行移植,非时态数据表更新为时态数据表,使标准SQL语句能继续在TimeDB上执行得到正确的查询结果。另外,ATSQL2支持顺序查询和非顺序查询,顺序查询返回数据库某一状态的数据,非顺序时态查询通过比较不同的数据库状态来返回某一第5期黄勇奇等:基于历史关系数据库的时空数据库实现研究 761 基本表;1代表导出表;2代表视图)和表的时态类型(Snapsho,tValidTime,NonSequenced),一个表一条记录。Table_View_Schemes表存放各表中所有列的描述信息,其中Table_Name存放表名,Column_Name存放列名,Data_Type存放各列的数据类型,Nullable指明该列是否允许为空,Column_Length指明该列精度(例如Number类型),Column_ID存放该列在表中的索引序号,每一列对应一条记录。Views表存放视图名和相应的查询语句。Keys表存放各表的主码信息。Assertions表存放断言和约束,在数据修改语句提交时进行执行,判断是否违反约束。 在扩充时态信息时,可以基于关系级,元组级和属性级3个不同的级别进行扩展。其中元组级方法是用几个元组模拟一个目标的历史,即将时间戳作用于元组级,过程是当空间对象发生变化时,将当前记录标记时间戳,然后建立一个具有变化后新属性的记录,并加入到表中。元组级方法具有较好的时间分辨率,需要较少的存储空间,并且能利用大多数的关系理论和关系代数基于元组级方法扩展。 针对全关系化空间数据库,本研究利用ATSQL2的时态向上兼容功能,采用非时态数据库向时态数据库进行移植的方式,为现有空间数据扩充时态信息,这样就可以大大减少工作量。在全关系化空间数据库中,空间数据是按图层的方式进行组织的,一个图层对应着一个业务表(BusinessTable),业务表中的记录就是一个空间实体对象。为空间数据扩充时态信息,可以通过以下语句来实现:AlterTable业务表表名AddValid。扩展时态信息后,业务表就增加了两个字段VTS_TimeDB和VTE_TimeDB来表示对象的有效时间(图3),从而可以进行时态数据操作。 [14] 32基于历史数据库的时空数据库的结构 在带有时态信息的全关系化空间数据库中,将建库区域范围内的地理数据分若干个层进行组织管理,可把每个层放在一个业务表(可以表示每个空间实 体对象的生命周期)中来存储。通过图形数据项(ShapeColumn),将空间数据和空间索引分别放在F#layer_id∃表和S#layer_id∃中,之间用关键项(FID)连接起来。这样,任何完整地物只对应着唯一的对象标识符和一条记录。另外,我们还可在表空间中通过层表(LayersTable)和几何列表(Geometry_Columns)来管理商业表,以帮助商业表和空间数据、空间索引之间进行连接。当然,还需Spatial_References表来说明空间数据的空间参考系统。 根据时空数据的组织原则,当前数据与历史数据分开存放,即分为当前空间数据库和历史空间数据库。在当前数据库中存储图层的最新基态版本,而在历史数据库中则保存图层的历史基态版本序列。当空间及属性数据发生变化产生新版本时,将新版本的数据纳入当前库中替代原来的数据,原来的数据就变为历史版本转移到历史库中。同时利用索引指针建立它们之间的联系,即在当前数据库和历史数据库中增加PreVersion和PostVersion两个指针型字段。 在现实世界中,地理实体总是不断产生、变化和消亡的。地理时空实体的变化情况包括以下几[15] 种:(1)空间几何位置或者形状发生变化,属性不变;(2)空间几何位置或者形状不变,属性发生变化;(3)空间几何位置或者形状和属性都变化;(4)空间几何位置或者形状和属性都不变。对于前3种情况,我们可认为该地理实体已经消亡,地理实体数据归于历史数据库,在VTE_TimeDB上记录下它的消亡时间,并在PostVersion字段上记录它的 后继者!;新的地理实体已经产生,地理实体数据归于当前数据库,在VTS_TimeDB上记录下它的产生时间,并在PreVersion字段上记录它的 前任!。这样可以在当前数据库和历史数据库中跟踪查询任何时候的地理实体状态了。 时空数据库的结构如图4。33应用实例 轮作是从事农业生产必需遵循的耕作原则,即根据当地气候、土壤资源、社会经济条件、作物对环境条件的要求和社会需要,在同一块土地上合理安。本研究选择 图3时空数据库业务表 Fig3Businesstableofspatialtemporaldatabase 762 遥感学报第12卷 图4时空数据库表结构 Fig4Tablesystemofspatialtemporaldatabase 排参加轮换种植的作物种类,使作物在周期内种植获得增产并成为制度,达到用地与养地相结合,提高各种作物产量质量,提高经济效益。以麦地轮作为例,麦地轮作是指某一地块在头一年度没有种植麦子,而在下一年度种了麦子,这个地块就是 下一年度!的麦子轮作区。麦子轮作带有明显的时态特征。一般情况下,地块不会产生分裂、融合、空间几何变化的情况,所以只剩下属性变化。当麦地发生种植类型变化时,便认为是旧的地理实体消亡,新的地理实体产生。在当前数据库中增加新记录,而将原来的记录移到历史数据库中。根据PreVersion和PostVersion来记录它们之间的继承关系。根据3.2节中设计的时空数据库结构,我们可以建立麦地的时空数据库表。麦地时空数据表的内容如表1。 表1麦地时空数据表 Table1Spatialtemporaldatatableofwheatland 字段名ObjectIDShapeVTS_TimeDBVTE_TimeDBIs_WheatOwnerRegionPlant_TypeOther_AttributePreVersionPostVersion 字段类型NumberNumberNumberNumberIntegerStringStringFloat%NumberNumber [16] 当进行轮作查询时,我们可以根据地块种植 的作物类型和有效期间来查询每个年度的麦地轮作分布情况(如图5,红色的部分表示2006年的轮作麦地,绿色部分表示2005的种植麦地,深黄色部分表示2005年和2006年两年都种植的麦地)和统计情况。 假设基础年度为X查询年度为Y,对于某个地块,在当前数据库中: (1)如果VTS_TimeDB 第5期黄勇奇等:基于历史关系数据库的时空数据库实现研究 763 forSpatiotemporalData[J].ComputerScience,2000,27(7):4791.[柴晓路,曹晶,施伯乐.时空信息的层次存储和管理[J].计算机科学,2000,27(7):4791.] [5]ChenJ,ShiPJ,LiJ.ThePreliminaryStudyofDesignof [陈晋,史培军,李 TemporalGISBasedonSpatiotemporalData[J].JournalofRemoteSensing,1995,10(2):143151.报,1995,10(2):143151.] [6]ZhangZP,XiaoP,GongJY.ATemporalDataStructureof LandUseChangeinLandResourceInformationSystem[J].JournalofWuhanTechnicalUniversityofSurveyingandMapping(WTUSM),1998,23(2):141144.[张子平,肖平,龚健雅.时态土地资源信息系统数据结构的研究[J].武汉测绘科技大学学报,1998,23(2):141144.] [7]ShuH,ChenJ,ShiWZ.OverviewofSpatioTemporalData Models[J].ComputerScience,1998,25(6):7074.[舒红,陈军,史文中.时空数据模型研究综述[J].计算机科学,1998,25(6):7074.] [8]AndreasSteiner.AGeneralizationApproachtoTemporalData ModelsandTheirImplementations[D]. Ph.Ddissertation. SwissFederalInstituteofTechnology,Zurich,1998. [9]ChristianS.Jensen,TemporalDatabaseManagement[D].Dr. techn.thesis.AalborgUniversity,1999. [10]YanXW,ZhangSC,FanMW.ATERConceptualTemporal DataModelanditsImplementation[J].ComputerApplicationsandSoftware,2000,17(10):1418.[严小卫,张师超,樊明武.TER概念性时态数据模型及其实现[J].计算机应用与软件,2000,17(10):1418.] [11]SnodgrassR. TheTSQL2TemporalQueryLanguage[M]. KluwerAcademicPublishers,USA.1995. [12]CaiQX.TemporalDataandItsApplicationinAtemporalDBMS [J].ComputerApplications,2000,20(12):2324.[蔡启先.数据的时态性及其在非时态DBMS上的处理[J].计算机应用,2000,20(12):2324.] [13]HuangYQ,ZhaoZ,XuXF.SpatialDatabaseStructureDesignof 4DProducts[J].JournalofEarthSciencesandEnvironment,2006,28(3):102105.[黄勇奇,赵追,徐幸福.4D产品的空间数据库结构设计[J].地球科学与环境学报,2006,28(3):102105.] [14]ZhangSC. TheEquivalenceBetweenTemporalRelational AlgebraandTemporalTurleCalculus[J].ChineseJournalofComputers,1993,16(12):936939.[张师超.时态关系代数与元组演算的等价性[J].计算机学报,936939.] [15]ShuH,ChenJ,DuDS,etal.AnAlgebraicModelofStructure ofTemporalObjects[J].EditoralBoardofGeomaticsandInformationScienceofWuhanUniversity,模型[J].武汉测绘科技大学学报,137140.] [16]J. BenZv.iTheTimeRelationalModel[D]. PhDthesis. ComputerScienceDepartment,UCLA,1982. 1998,23(2):1998,23(2): 137140.[舒红,陈军,杜道生等.时态对象结构的代数 1993.16(12): 京.时空一体化数据的TGIS设计的初步探讨[J].遥感学 图5麦地轮作区域Fig5Rotatingareaofwheatland 4结论 基于历史关系数据库的时空数据库可以充分 利用传统时态数据库和GIS空间分析处理功能这些方面成熟的研究成果和现有系统,降低时空数据库建立的费用和开销,是较为实用的技术。但是这种时空数据库结构还存在数据冗余的缺陷,另外该时空数据库还不能处理事务时间,即数据库对象创建,更新和删除的时间缺陷。因此在下一步的研究中应考虑添加时空数据库的事务时间处理能力。 参考文献(References) [1]TangXM,WuL.Spatio-temporalDataModelandTimeGIS Architecture[J].RemoteSensingInformation,1999,(1):1115.[唐新明,吴岚.时空数据模型和时间地理信息系统框架[J].遥感信息,1999,(1):1115.] [2]CaoZY.TheStudyonSpatioTemporalDataModelandIts ApplicationinSpatioTemporalCartographicVisualization[D].Ph.DDissertation,InstituteofGeographicSciencesandNaturalResourcesResearch,2001.[曹志月.时空数据模型的研究及其在时空地图可视化系统中的应用[D].中国科学院地理科学与资源研究所博士学位论文,2001.] [3]ChangZ,ChenJ,DuDS.CadastralSpatiotemporalDatabase OrganizationandQueryBasedonPropertiesofLandSubdivision[J].JournalofWuhanTechnicalUniversityofSurveyingandMapping,1997,22(3):216221.[常征,陈军,杜道生.顾及地块时空特点的地籍数据组织及查询[J].武汉测绘科技大学学报,1997,22(3):216221.] [4]ChaiXL,CaoJ,ShiBL.HierarchicalStorageandManagement 764 遥感学报第12卷 ResearchonRealizingSpatialtemporalDatabaseBasedon HistoricalRelationalDatabase HUANGYongqi,CUIWeihong 1,2 1 (1InstituteofRemoteSensingApplicationsChineseAcademyofSciences,Beijing100101,China; 2GraduateUniversityofChineseAcademyofSciences,Beijing100049,China) Abstract:Spatialtemporaldatabaseresearchesonhowtostorehistoricalandcurrentspatialtemporaldatasoastotrackandanalyzechangesofsomeregion,whichfinallymiplementsspatialtemporalmodelingandgeographicalsmiulationprocess.Atpresenttherearemainlytwosolutionsasforspatiotemporaldatabase.Theoneisaddingtmiedmiensiononthebasisofspatialdatabase.Theotherisextendingspatialdmiensiononthebasisoftemporaldatabase. Theresearchonspatialdatabasehasalreadybeenmatureatthepresenttmie.SoweshouldfullymakeuseofexistingspatialdatamodelandspatialprocessingandanalyzingfunctionsofGIS,whichwillreduceenormouslyworkload.Consequentlythispaperchoosestoaddtmiedmiensiononthebasisofspatialdatabase.Extendedrelationalspatiotemporaldatabaseextendstmiedmiensionbyconsideringtmieasattributeofspatialgeometryandthematicfeature,whichhasitsparticularadvantages.Foronething,relationaldatabaseissupportedbystrictrelationalalgebraandhasmanyavailablelargecommercialrelationaldatabases.Inaddition,manyinformationsystemsareoriginallyestablishedonthebasisofrelationaldatabase. Inthesecondplacemanyresearchesontemporaldatabaseitselfmostlyadoptrelational mode,lwhichextendtemporalsemanticsforrelationalalgebraanddeveloptemporalstructuredquerylanguage.ThirdlymanyresearchesonspatialdatabaseinGISdomainalsoemployrelationaldatamode,landresearchonspatialquerylanguageisalsobasedonrelationalmode.l Allinal,lspatialtemporaldatabaseadoptingmodelofhistoricalrelationaldatabasecanmakethebestofresearchresultsandexistingsystemssuchastemporalqueryfunctionoftemporalrelationaldatabaseandspatialprocessandanalysisfunctionofGIS,reducingthecostofestablishingspatialtemporaldatabase. Thispaperatfirstintroduceshistoricalrelationaldatabasemode,ltemporalrelationalalgebraandtemporalquerylanguage,andthenconductsresearchesonhistoricalrelationaldatabasetoorganizetemporalinformationinspatialdatabase.Amiingatcompletelyrelationalspatialdatabase,thispapermakesuseoftemporallyupwardcompatiblefunctionofATSQL2andadoptsthemodeoftransplantingnontemporaldatabasetotemporaldatabasetoextendtemporalinformationforspatialdata.Inthelightoforganizingprincipleofspatiotemporaldata,currentdataandhistoricaldataarestoredseparately.Asaresult,spatiotemporaldatabaseincludescurrentspatialdatabaseandhistoricalspatialdatabase.Currentdatabasestoresthelatestbasestateversionofmaplayers,yethistoricaldatabasestoreshistoricalbasestateversionofmaplayers.Ifspatialdataandattributedatachange,dataofnewversionwillbeaddedtocurrentspatialdatabase.Atthesametmieoriginaldatawillbecomedataofoldversionandbeshiftedtohistoricalspatialdatabase.Wecanadoptindexingpointertoestablishtherelationshipbetweencurrentspatialdatabaseandhistoricalspatialdatabase.Thepapereventuallygivesanexampleofrotatingwheatfieldstoexaminethefeasibilityandvalidityofadoptingmodelofhistoricalrelationaldatabasetoestablishspatialtemporaldatabase.Rotatingwheatfieldshasobvioustemporaltrait.Generallyspeaking,itisnotlikelythatwheatfieldschangeinaspectofspatialgeometry.Mostchangesofwheatfieldsarechangesofattributessuchasplanttypeandowner.Whenplanttypeofawheatfieldchanges,itisconsideredthattheoldgeographicentitydisappears,andanewonecomesintobeing.Weneedtoaddanewrecordinthecurrentdatabaseandtransfertheoriginalrecordtothehistoricaldatabase.InthemeantmieweadoptPreVersionandPostVersiontorecordsuccessiverelationshipbetweenthem.Theresultshowsthatspatialtemporaldatabasebasedonhistoricalrelationalmodelisfeasibleandvalid. However,spatiotemporaldatabasebasedonhistoricalrelationaldatabasestillhastheshortcomings.Inaddition,itcannotdealwithtransactiontmieyet,atwhichdatabaseobjectsarecreated,updatedanddeleted.Consequentlyinfutureworkweshouldtakedisposalabilityoftransactiontmietospatiotemporaldatabaseintoaccount. Keywords:spatialtemporaldatabase;completelyrelationalspatialdatabase;historicalrelationaldatabase;rotating 因篇幅问题不能全部显示,请点此查看更多更全内容