资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第四章,空间,数据管理,了解数据的层次单位、常用的数据文件和数据间的逻辑关系,掌握数据库的基本概念、特点和系统结构,了解数据库管理系统的基本功能,了解数据字典和数据安全的含义,理解传统数据库的数据模型,说明它们之间的关系,说明传统地理空间数据库的局限性,掌握面向对象方法中的基本 概念,掌握面向对象的几何抽象类型和属性数据模型,了解数据管理的方法和类型,重点,:数据库模型的分类和特点,难点,:面向对象的数据库模型,第四章 空间数据管理,数据层次与文件组织,空间数据库,传统数据库模型,面向对象数据库系统,数据管理设计,第一节 数据层次与文件组织,数据层次(数据项、记录、文件、数据库),数据间的逻辑联系(一对一、一对多、多对多),常用数据文件(顺序、直接、索引、到排文件),文件,记录,数据项,数据项组,逻辑数据单位之间的关系,物理单位,:,位,(,比特,),、字节、字、块,(,物理记录,),、桶和卷,逻辑单位,:,数据项、数据项组、记录、文件和数据库,一、数据的层次单位,一、数据的层次单位,1.,数据项、数据项组,数据项是定义数据的最小单位,也叫元素、字段等。,是用来表示物体的属性的,是最基本的不可分割的数据单位,它具有独立的逻辑意义。,数据项的值可以是数值的、字母的、字母数字的以及汉字形式的等。数据项的物理特点在于它具有确定的物理长度,一般用字节数目来表示。若干个字节组成一个字,字是计算机进行算术运算的基本单位。,几个数据项可以组合构成数据项组,,例如日期的数据项组可由数据项“年”、“月”、“日”组成。数据项组也可有自己的名字,可以作为一个数据项看待。,一、数据的层次单位,2.,记录,记录,是数据项的被命名的集合,。,它是关于一个实体的数据的总和,是一个有意义的信息集合,并作为对文件进行存取操作的基本单位。,为了惟一标识每一个记录,就必须有记录标识,也叫,关键字,。记录标识符一般由记录中的第一个数据项担任,惟一标识记录的关键字称,主关键字,,其它标识记录的关键字称为,辅关键字,。,一、数据的层次单位,3.,文件,文件是一个给定类型逻辑记录的全部具体值的集合。,文件用文件名称标识。在简单文件中,每个逻辑记录包含相同数目的数据项;在复杂文件中,由于重复组的存在,每个记录包含不同数目的数据项。 。,一、数据的层次单位,4.,数据库,它是比文件更大的数据组织,是,具有特定联系的多种类型记录的集合,。,数据库内部构造是文件的集合,这些文件之间存在某种联系,不能孤立存在。,二、数据间的逻辑关系,1.,一对一的联系(,1,:,1,),这是比较简单的一种联系方式,,是指在集合,A,中存在一个元素,i,,,则在集合,B,中就有一个且仅有一个,b,j,与之联系。,在,1:1,的联系中,一个集合中的元素可以标识另一个集合中的元素。例如,地理名称与对应的空间位置之间的关系就是一种一对一的联系。,A,B,B,A,1,:,1,二、数据间的逻辑关系,2.,一对多的联系(,1,:,N,),现实生活中以一对多的联系比较常见。如图所示,这种联系可以表达为:在集合,A,中存在一个,i,,,则在集合,B,中存在一个子集,B,(,b,j1,b,j2,.,b,jn,),与之联系。通常,,B,是,B,的一个子集。行政区划就具有一对多的联系,一个省对应多个市,一个市对应多个县,一个县又有多个乡。,A,B,B,A,1,:,N,二、数据间的逻辑关系,3.,多,对多的联系(,M,:,N,),这是现实中最复杂的联系 ,即对于集合,A,中的一个元素,i,,,在集合,B,中就存在一个子集,B,(,b,j1,b,j2,.,b,jn,),与之相联系。反过来,对于,B,集合中的一个元素,B,j,在集合,A,中就有一个集合,A=(,i1,i2,i3,.,im,),与之相联系,即,M,:,N,的联系。地理实体中的多对多联系是很多的,例如土壤类型与种植的作物之间有多对多联系,同一种土壤类型可以种不同的作物,同一种作物又可种植在不同的土壤类型上。,A,B,B,A,M:N,三、常用数据文件,顺序文件,随机文件,索引文件,倒排文件,它是物理顺序与逻辑顺序一致的文件,顺序文件,随机文件,索引文件,倒排文件,文件中的贮存是根据记录关键字的值,通过某种转换方法得到一个物理存贮位置,然后把记录存贮在该位置上。,三、常用数据文件,顺序文件,随机文件,索引文件,倒排文件,即带有索引的文件,它只能建立在随机存取介质上。,三、常用数据文件,顺序文件,随机文件,索引文件,倒排文件,按照一些辅关键字来组织索引称为辅索引,带有这种辅索引的文件称为倒排文件。,三、常用数据文件,第二节 空间数据库,一、数据库的概念,数据库是随着计算机的迅速发展而兴起的一门新学科。通俗的讲,,数据库是以一定的组织形式存贮在一起的互相有关联的数据的集合,。,但这种数据集合不是数据的简单相加,而是对数据信息进行重新组织,最大限度的减少数据冗余,增强数据间关系的描述,使数据资源能以多种方式为尽可能多的用户提供服务,实现数据信息资源共享。,随着数据信息资源的多用户服务,以及用户对信息数据多种方式(如检索、分类、排序等)访问的需求,人们又研制了数据库管理系统(管理和控制程序软件)。,数据库是由两个最基本的部分所组成:,一是,原始信息数据库,,,即描述全部原始要素信息的原始数据,也是数据库系统加工处理的对象;,二是,程序库,,,即数据库软件,它存放着管理和控制数据的各种程序,是数据库系统加工处理的手段。,数据,存储,数,据,库,数据,管理,程序库,(,数据库软件,),原始信息,数据库,。,。,二、数据库的特点,与文件管理相比,空间数据库有如下特点:,1.,实现数据集中管理和共享,2.,减小了数据冗余,3.,数据的独立性,4.,复杂的数据模型,5.,数据保护特性,三、两种不同类型的数据库,1.,事务管理数据库,数据描述的是人、事、物一类的社会信息,由此类数据建成的数据库,反映的是事物属性之间的抽象逻辑关系,,它们的记录方式主要是文本和数表文件,在内容和形式上有较强的通用性,所以也把这种侧重于事务管理的数据库称为通用数据库。,2.,空间数据库,它,描述的是地理要素的属性关系和空间位置关系,。在空间数据库中,数据之间除了抽象的逻辑关系外,还建立了严谨的空间几何关系。,总之,事务管理数据库是通用性较强的数据库,可以把它看作数据库技术入门的基础;空间数据库是具有空间定位特点的数据库,是地理信息系统的重要组成部分,也是我们研究的主要对象。,概念模型,物理数据库,外部模型,A,外部模型,B,用户,A1,用户,A1,用户,B1,用户,B1,数据库,管理系统,外部,/,概念映射,A,外部,/,概念映射,B,概念,/,内部映射,四数据库的系统结构,外部模式,外部模式,概念模式,内模式,四、数据库的系统结构,数据库是一个复杂的系统,数据库的基本结构分,用户级、概念级和物理级,三个层次,反映了观察数据库的三种不同角度。,(,1,),用户级,用户使用的数据库对应于外部模式,它是用户与数据库的接口,也就是用户能够看到的那部分数据库,它是数据库的一个子集。,(,2,),概念级,概念数据库对应于概念模式,简称模式,是对整个数据库的逻辑描述,也就是数据库管理员看到的数据库。,(,3,),物理级,物理数据库对应于内模式,又称为存贮模式,内模式是数据在存贮介质上的物理配置与组织,是存放数据的实体,也是系统程序员才能看到的数据库。,数据库管理系统是处理数据库存取和各种管理控制的软件,应用程序对数据库的操作全部通过,DBMS,进行。,五、数据库管理系统,1.,数据库管理系统的功能,数据库,定义,数据库的装入,数据管理,数据库维护,数据库通讯,提供书写各种模式的语言及其支撑软件,并把各种定义信息也存贮于系统之中。它勾画出数据库的框架。,1.,数据库管理系统的功能,数据库定义,数据库的装入,数据管理,数据库维护,数据库通讯,应用数据装入数据库,a),键盘输入;,b),接受另一个系 统,的数据文件,1.,数据库管理系统的功能,数据库定义,数据库的装入,数据管理,数据库维护,数据库通讯,运行控制,数据存取、更新,数据完整性、有效性,数据 共享,1.,数据库管理系统的功能,数据库定义,数据库的装入,数据管理,数据库维护,数据库通讯,重新定义,数据重新组织,性能监督与分析,数据库整理,故障恢复,1.,数据库管理系统的功能,数据库定义,数据库的装入,数据管理,数据库维护,数据库通讯,操作系统接口处理,各种语言接口,远程操做接口处理,2.DBMS,组成,语言处理程序,运行控制程序,建立与维护程序,数据描述语言(,DDL,),数据操作语言(,DML,),终端命令解译,系统控制,数据存取,数据更新,并发控制,数据完整性,数据装入,性能监控,工作日志,重新组织,数据转储,系统恢复,SQL,语言:,数据查询,Data Query,数据定义,Data Definition,数据操纵,Data Manipulation,数据控制,Data Control,OS,DBMS,应用程序,工作区,系统缓冲区,数据库,应用程序的,外部模型,模式,存储模式,(1),(8),(7),(6),(3),(4),(5),(2),3.,应用程序对数据库的访问,六、数据字典,数据字典是数据库应用设计的重要内容。,数据字典是描述数据库中各种数据属性与组成的数据集合,它是数据库设计和管理的有力工具。,数据字典的内容包括:,.,数据库的总体组织结构;,.,数据库总体设计的框架(如数据来源、地图投影、图幅匹配、拓扑关系等);,.,每个数据层的详细内容定义及结构(名称、类型、数据质量、文件、表、各表项的定义、各层编号系统、各层数据的使用等);,.,数据命名的定义;,.,元数据内容。,七、数据安全,1.,数据存贮安全,空间数据在信息系统内以文件或数据库方式存贮,为了防止信息被泄漏或信息丢失,必须采取有效措施对存贮数据加以保护。,(,1,)文件加密,(,2,)数据库加密,2.,数据存取控制,3.,数据传输的安全与保密,4.,计算机病毒的预防与清除,5.,数据备份,第三节传统数据库模型,1.,关系模型,2.,层次模型,3.,网状模型,关系模型是一种数学化的模型,它是将数据的逻辑结构归结为满足一定条件的二维表。实体本身的信息以及实体之间的联系均表现为二维表,在数学上把这种二维表叫做“关系”。这些关系表的集合就构成了关系模型。,关系模型主要优点是:数据结构灵活、清晰,可以通过数学运算进行各种查询、计算和修改;数据描述具有较强的一致性和独立性。缺点是当关系很复杂时,计算机需要执行一系列的数据操作,比较费时。,一、关系模型,属性,实体,A,1,A,2,A,3,A,n,E,1,V,11,V,21,V,31,V,n1,E,2,V,12,V,22,V,32,V,n2,E,3,V,13,V,23,V,33,V,n3,E,m,V,1m,V,2m,V,3m,V,nm,关 系 结 构 表,从数据结构的观点看,,层次模型采用的是树数据结构,。层次模型所表达的基本联系是一对多的关系,或者当实体具有父子关系时,,它把数据按其自然的层次关系组织起来,以反映数据之间的隶属关系。,层次模型中的记录都处于一定的层次上。如果把层次模型中的记录按照先上后下、先左后右的次序排列,就得到一个记录序列,称为层次序列码。层次序列码指出层次路径,,按照层次路径存贮和查找纪录,是层次模型实现的方法之一。,层次模型的优点是模型层次分明、结构清晰,较容易实现。缺点是数据的冗余度大,不适于表示数据的拓扑关系。,二、层次模型,1,2,2,3,3,4,4,1,a,b,c,d,3,4,3,5,5,4,c,e,f,M,二,层次模型,a,d,c,f,e,b,1,2,4,3,5,M,网状模型基本特征是在记录之间没有明确的主从关系,任何一个记录可与任意其他多个记录建立联系,与层次模型相比较,大大压缩了数据的存贮量。可以表示实体的多种关系更为灵活,对确定的数据表示效率高,冗余小,表示关系复杂的地理数据和具有网络特征的地理实体效果较好。但网状结构数据指针比较复杂,数据更新较为繁琐。,关系模型、层次模型和网络模型是表示实体之间联系的不同方法,不同模型不是完全独立的,而是具有某种联系,因而它们之间是可以互相转换的。,三、网状模型,a,b,c,d,1,2,3,4,5,e,f,M,三、网状模型结构,a,d,c,f,e,b,1,2,4,3,5,M,第四节 面向对象数据库系统,传统数据库管理地理空间数据的局限性,面向对象方法中的基本概念,面向对象方法的数据抽象技术和数据抽象工具,面向对象的集合抽象类型,面向对象的属性数据模型,面向对象数据库系统的实现,一、传统数据库管理空间数据局限性,传统数据库系统管理的是不连续的、相关性较小的数字和字符,传统数据库系统管理的实体类型较少,并且实体类型之间通常只有简单、固定的空间关系,传统数据库系统存贮的数据通常为等长记录的原子数据,传统数据库系统只操纵和查询文字和数字信息,二、面向对象数据模型的优点,(,1,)具有表示和构造复杂对象的能力。,(,2,)封装性和信息隐蔽技术提供了模块化机制。,(,3,)继承和类层次技术提供了重用机制。,(,4,)滞后束定等技术为系统提供了扩充能力。,三、面向对象方法中的基本概念,(1),对象与封装性,在面向对象的系统中,,每个概念实体都可以模型化为对象,。一个,对象是由描述该对象状态的一组数据和表达它的行为的一组操作,(,方法,),组成的,。,例如,河流的坐标数据描述了它的位置和形状,而河流的变迁则表达了它的行为。可见,对象是数据和行为的统一体。,一个对象可定义成一个三元组:,Object,(1D,,,S,,,M),其中,,ID,为对象标识,,M,为方法集,,S,为对象的内部状态,它可以直接是一属性值,也可以是另外一组对象的集合,因而它明显地表现出对象的递归。,封装的最基本单位是对象。,封装技术提高了面向对象方法开发软件的可重用性,从而大大提高了复杂软件的开发效率、质量和可靠性,更加易于维护。,三、面向对象方法中的基本概念,(2),分类,类是关于同类对象的集合,具有相同属性和操作的对象组合在一起称为类,。,属于同一类的所有对象共享相同的属性项和操作方法,每个对象都是这个类的一个实例,即每个对象可能有不同的属性值。,可以用一个三元组来建立一个类型:,Class,(CID,,,CS,,,CM),其中,,CID,为类标识或类型名,,CS,为状态描述部分,,CM,为应用于该类的操作。显然有:,SCS,和,MCM,(,当,ObjectClass,时,),在实际的系统中,仅需对每个类型定义一组操作,供该类中的每个对象应用。由于每个对象的内部状态不完全相同,所以要分别存储每个对象的属性值。,三、面向对象方法中的基本概念,(3),概括,在定义类型时,将几种类型中某些具有公共特征的属性和操作抽象出来,形成一种更一般的超类,。例如,将,GIS,中的地物抽象为点状对象、线状对象、面状对象以及由这三种对象组成的复杂对象,因而这四种类型可以作为,GIS,中各种地物类型的超类。,例如,,建筑物,是,饭店,的超类,因为,饭店,也是,建筑物,。子类还可以进一步分类,如,饭店类,可以进一步分为,小餐馆,、,普通旅社、,宾馆、,招待所,等类型。所以,,一个类可能是某个或某几个超类的子类,同时又可能是几个子类的超类。,建立超类实际上是一种,概括,,避免了说明和存储上的大量冗余。由于超类和子类的分开表示,所以就需要一种机制,在获取子类对象的状态和操作时,能自动得到它的超类的状态和操作。这就是面向对象方法中的模型工具,继承,,它提供了对世界简明而精确的描述,以利于共享说明和应用的实现。,三、面向对象方法中的基本概念,(4),联合,在,定义对象时,,将,同一类对象中的几个具有相同属性值的对象组合起来,为了避免重复,设立一个更高水平的对象表示那些相同的属性值成为联合,。,假设有两个对象,Object,l,=(,ID,l,,,S,A,,,S,B,,,M),;,Object,2,=(ID,2,,,S,A,,,S,C,,,M),其中,这两个对象具有一部分相同的属性值,可设立新对象,Object,3,包含,Object,l,和,Object,2,,,Object,3,(ID,3,,,S,A,,,Object,1,,,Object,2,,,M),此时,,Object,1,和,Object,2,可变为,Object,l,(ID,1,,,S,B,),;,Object,2,(ID,2,,,S,C,),Object,l,和,Object,2,称为“分子对象”,它们的联合所得到的对象称为“组合对象”。联合的一个特征是它的分子对象应属于一个类型。,三、面向对象方法中的基本概念,(5),聚集,聚集是将几个不同特征的对象组合成一个更高水平的复合对象。,每个不同特征的对象是该复合对象的一部分,它们有自己的属性描述数据和操作,这些是不能为复合对象所公用的,但复合对象可以从它们那里派生得到一些信息。例如,弧段聚集成线状地物或面状地物,简单地物组成复杂地物。,在联合和聚集这两种对象中,是用“传播”作为传递子对象的属性到复杂对象的工具。 即是说,复杂对象的某些属性值不单独存于数据库中,而是从它的子对象中提取或派生。例如,一个多边形的位置坐标数据,并不直接存于多边形文件中,而是存于弧段和节点文件中,多边形文件仅提供一种组合对象的功能和机制,通过建立聚集对象,借助于传播的工具可以得到多边形的位置信息。,四、面向对象方法的集合抽象类型,空间地物,复杂地物,点状地物,面状地物,节 点,线状地物,弧 段,面 域,简单,地物,1,空间地物的几何数据模型,四、面向对象方法的集合抽象类型,2,拓扑关系与面向对象模型,在面向对象数据模型中,将每条弧段的两个端点抽象出来,建立单独的节点对象类型,而在弧段的数据文件中,设立两个节点子对象标识号,即用“传播”的工具提取节点文件的信息。,这一模型既解决了数据共享问题,又建立了弧段与节点的拓扑关系。同样,面状地物对弧段的聚集方式与数据共享和几何拓扑关系的建立也达到一致。,五、面向对象方法的集合抽象类型,关系数据模型和关系数据库管理系统基本上适应于,GIS,中属性数据的表达与管理。若采用面向对象数据模型,语义将更加丰富,层次关系也更明了。可以说,面向对象数据模型是在包含关系数据库管理系统的功能基础上,增加面向对象数据模型的封装、继承和信息传播等功能。,六、面向对象数据库的实现,面向对象数据库系统采用面向对象数据模型,其实现方式主要有以下三种:,1,扩充面向对象程序设计语言,(OOPL),,在,OOPL,中增加,DBMS,的特性,2,扩充,RDBMS,,在,RDBMS,中增加面向对象的特性,3,建立全新的支持面向对象数据模型的,OODBMS,第五节 数据管理设计,数据管理设计的目的是确定在数据管理系统中存储和检索数据的基本结构,其原则是要隔离数据管理方案的影响,不管该方案是普通文件、关系数据库、面向对象数据库或者是其他方式的。,目前,主要有三种数据管理方法,即文,件、关系及,文件结合关系数据库管理,和面向对象,。,第五节 数据管理设计,一、文件管理,文,件管理是将所有的数据都存放于一个或者多个文件中,包括结构化的属性数据。,采用,文件管理数据的优点是灵活,即每个软件厂商可以任意定义自己的文件格式,管理各种数据,这一点在存储需要加密的数据以及非结构化的、不定长的几何体坐标记录时是有帮助的。,文件管理的缺点也是显而易见的,就是需要由开发者实现属性数据的更新、查询、检索等操作,利用文件管理增加了属性数据管理的开发量,并且也不利于数据共享。,第五节 数据管理设计,二、关系数据库管理,在这种管理方式中,不定长的空间几何体坐标数据以二进制数据块的形式被关系数据库管理,。,目前,关系数据库不论是理论还是工具,都已经成熟,,它们提供了一致的访问接口,(SQL),以操作分布的海量数据,并且支持多用户并发访问,安全性控制和一致性检查,。,采用全关系空间数据管理,由于几何体坐标数据不定长,会造成存储效率低下,此外,现有的,SQL,并不支持空间数据检索,需要软件厂商自行开发空间数据访问接口,如果要支持空间数据共享,则要对,SQL,进行扩展。,第五节 数据管理设计,三、文件结合关系数据库管理,这是目前大多数,GIS,软件所采用的数据管理方案。考虑到空间数据是非结构化的、不定长的,而且施加于空间数据的操作需要,GIS,软件实现,这样就可以利用文件存储空间数据,而借助于已有的关系数据库管理系统管理属性数据。,第五节 数据管理设计,四、,面向对象数据库,(OO-DBMS),管理,如果应用面向对象数据库管理,GIS,空间数据,则可以扩充对象数据库中的数据类型以支持空间数据,包括点、线、多边形等几何体,并且允许定义对于这些几何体的基本操作。,这样,通过面向对象数据库管理系统,提供了对于各种数据的一致的访问接口以及部分空间模型服务,不仅实现了数据共享,而且空间模型服务也可以共享,使,GIS,软件可以将重点放在数据表现以及开发专业模型上。,地理数据库的设计过程,定义数据库结构,了解用户需求,确定研究区域范围,组织和描述数据,分区,数据输入,
展开阅读全文