1、第四章 地理空间数据库1 空间数据库概述空间数据库是地理信息系统中空间数据的存储场所。用户在决策过程中,通过访问空间数据库获得空间数据;在决策过程完成后再将决策结果存储到空间数据库中。,空间数据库的布局和存取能力对地理信息系统功能的实现和工作的效率影响极大。,数据库(Data Base)的概念统一存储和集中管理数据的基地,实现数据的标准化和规范化存取。数据库是存储在计算机内的有结构的数据集合。 数据库管理系统(DBMS)数据库管理系统是一个软件,用以维护数据库、接受并完成用户对数据库的一切操作;,(1)数据库是存储在计算机内的有结构的数据集合。 (2)数据库管理系统由硬件设备、软件设备、专业领
2、域的数据体和管理人员构成的一个运行系统。 (3)数据库管理系统是一个软件,用以维护数据库、接受并完成用户对数据库的一切操作。,常用数据库管理系统,SQL SERVER DBASE ORACAL SYBASE,数据库系统的基本功能,(1)数据定义数据定义包括定义构成数据库结构的模式、存储模式和外模式,定义各个外模式与模式之间的映射,定义模式与存储模式之间的映射,定义有关的约束条件。 (2)数据操纵 数据操纵包括对数据库数据的检索、插入、修改和删除等基本操作。 (3)数据库运行管理 包括对数据库进行并发控制、安全性检查、完整性约束条件的检查和执行、数据库的内部维护(如索引、数据字典的自动维护)等,
3、以保证数据的安全性、完整性、一致性以及多用户对数据库的并发使用。,数据库系统的基本功能,(4)数据组织、存储和管理 对数据字典、用户数据、存取路径等数据进行分门别类地组织、存储和管理,确定以何种文件结构和存取方式物理地组织这些数据,如何实现数据之间的联系,以便提高存储空间利用率以及提高随机查找、顺序查找、增、删、改等操作的时间效率。 (5)数据库的建立和维护 建立数据库包括数据库初始数据的输入与数据转换等。 维护数据库包括数据库的转储与恢复、数据库的重组织与重构造、性能的监视与分析等。 (6)数据通信接口DBMS需要提供与其他软件系统进行通信的功能。例如提供与其他DBMS或文件系统的接口,从而
4、能够将数据转换为另一个DBMS或文件系统能够接受的格式,或者接收其他DBMS或文件系统的数据,数据模型,数据模型是描述数据内容和数据之间联系的工具,它是衡量数据库能力强弱的主要标志之一。 几种数据模型 层次模型 网络模型 关系模型 语义模型 面向对象模型,11 空间数据库的概念空间数据库系统由三部分组成:(1)空间数据库地理信息系统在计算机物理存储介质上存储的地理空间数据的总和,一般是以一系列特定结构的文件的形式组织在存储介质之上的。,(2)空间数据库管理系统指能够对物理介质上存储的地理空间数据进行语义和逻辑上的定义,提供必需的空间数据查询检索和存取功能,以及能够对空间数据进行有效的维护和更新
5、的一套软件系统。一般建立在常规数据库管理系统之上。,方法一,直接对常规数据库管理系统进行扩展加入一定量的空间数据存储与管理功能(如Oracle)。方法二,在常规数据库管理系统之上添加一层空间数据库引擎,以获得常规数据库管理系统之外的空间数据存储与管理功能(如SDE)。,(3)空间数据库应用系统由地理信息系统空间分析模型和应用模型所构成的软件,可以看成是空间数据库系统的数据库应用系统。,数据库系统的结构,概念模式:是数据库的总体框架,是对数据库中关于目标存储的逻辑结构和特性、基本操作和目标目标及操作操作的关系和依赖性的描述,以及对数据安全、完整性等方面的定义。 外模式:是数据库用户的数据视图,它
6、属于概念模式的一部分,描述用户数据的结构、类型、长度等。所有的应用程序都是根据外模式中对数据的描述而不是根据概念模式中对数据的描述而编写的。 内模式:是对数据库在物理存储器上具体实现的描述。它规定数据在存储介质上的物理组织方式、记录寻址技术,定义物理存储块的大小、溢出处理方法等。,12 空间数据库的设计 1设计过程,概念模型:对现实世界中各种地理现象、它们彼此的联系及其发展过程的认识和抽象的产物。主要包括对地理现象和过程等客体的特征描述、关系分析和过程模拟等内容。,逻辑模型:将概念模型结构转化为计算机数据库系统所能够支持的数据模型。存储模型:概念模型所反映到计算机物理存储介质中的数据组织形式。
7、,地理信息系统的概念模型,是人们从计算机环境的角度出发和思考,对现实世界中各种地理现象、它们彼此的联系及其发展过程的认识及抽象的产物。空间点、线、面和体等客体及它们之间的结构上的关系是地理信息系统空间数据结构的基础。,2空间数据库的数据模型设计对地理空间客体及其相互联系的数学描述,可以用数据模型这个概念进行概括。建立空间数据模型的目的是揭示空间客体的本质特征,并对其进行抽象化,使之转化为计算机能够接受和处理的数据形式。,层次模型、网状模型和关系模型,以及语义模型和面向对象的数据模型都可以用于空间数据库的设计。,3空间数据库设计的原则、步骤和技术方法 原则: (1)尽量减少冗余 (2)稳定的空间
8、数据结构 (3)满足用户对空间数据的及时访问需求 (4)数据元素间维持复杂的联系 (5)支持多样的决策需求,有较强的应用适应性,数据库设计技术分为两类:1) 数据分析技术用于分析用户数据的语义的技术手段。考虑的是正确的结构数据,这些问题通过使用诸如消除数据冗余技术、保证数据库稳定技术、结构数据技术来解决,其目的是使用户易于存取数据,从而满足用户对数据的各种需求。2)技术设计技术用于将数据分析结果转化为数据库的技术实现。主要是保证所实现的数据库能有效地使用数据资源,例如选择合适的存取结构以及采取有效的存取方法。,步骤: (1)需求分析 (2)概念设计 (3)逻辑设计 (4)物理设计,13 空间数
9、据库的实现和维护1空间数据库的实现 (1)建立实际的空间数据库结构 (2)装入试验性的空间数据对应用程序进行测试 (3)装入实际的空间数据,建立起实际运行的数据库,2相关的其它设计(1)空间数据库的再组织设计 (2)故障恢复方案设计 (3)安全性考虑 (4)事物控制,3空间数据库的运行与维护(1)维护安全性和完整性 (2)监测并改善数据库性能 (3)增加新的功能 (4)修改错误,2 空间数据库概念模型设计传统的数据模型,层次模型,层次模型是用树型结构来表示实体间联系的结构 有且仅有一个双亲无节点、这个节点即是树的根 其他节点有且仅有一个双亲,层次模型,层次模型的优缺点,特别适用于文献目录、土壤
10、分类、部门机构等分级数据的组织。 层次模型不能表示多对多的联系。在GIS中将难以顾及公共点、线数据共享和实体元素间的拓扑关系,导致数据冗余度增加、而且给拓扑查询带来困难。,网络模型,用从结构(或者网结构)来表示实体及其联系的模型 各记录类型间可具有任意个连接关系。 一个子节点可以有多个父节点; 可以有一个以上节点无父节点; 父节点与子节点间可以有多种联系(一对多、多对一、多对多),网络模型,网络模型的特点,适合于数据间相互关系非常复杂的情况 指针数据项的存在将使数据量大大增加 指针的建立和维护成为数据库系统的额外负担,关系模型,基本思想是用二维表表示实体及其联系 二维表中的每一列对应实体的一个
11、属性,并给出相应的属性值 每一行形成一个由多种属性组成的多元组(Tuple),与一特定实体相对应。元组(或记录)由一个或者多个属性(数据项)来标识,这一个或一组属性称为关键字,一个关系表的关键字称为主关键字。 关系模型可由多张二维表组成。每张二维表的“表头”称为关系框架,关系模型即是由若干关系框架组成的集合。,关系模型应该遵守的条件 二维表中同一列的属性是相同的 赋予表中各列不同的名字(属性名) 二维表中各列的次序是无关紧要的 没有相同内容的元组 元组在二维表中的次序是无关紧要的,边界关系,边界-节点关系,节点-坐标关系,关系数据库结构的特点 结构灵活,可满足所有布尔逻辑运算和数学运算规则形成
12、的询问要求 关系数据还能搜索、组合和比较不同类型的数据,加入和删除数据都非常方便 关系模型用于设计地理属性模型较为适宜 许多操作都要求在文件中顺序查找满足特定关系的数据,因此搜索速度是关系数据库的主要技术标准。,传统数据模型的缺陷,以记录为基础的结构不能很好地面向用户和应用 不能以自然的方式表示客体之间的联系 语义贫乏 数据类型太少难以满足应用需要,3空间数据库概念模型设计 语义数据模型和面向对象数据模型31 语义数据模型语义数据模型的结构是由若干种抽象所组成,用这些抽象来描述客体的基本语义特性,再根据语义模型结构规则把这些抽象有机地组织起来。最常用的语义模型之一是实体联系模型(ER模型),由
13、实体、联系和属性构成。,E-R模型,实体表示对客观存在的起独立作用的客体的一种抽象。 联系客体间有意义的相互作用或对应关系,有1对1,1对多,多对多的关系 属性是对实体和联系特征的描述,E-R关系图,1,M,采用ER模型进行数据库的概念设计可以分为以下三个步骤:(1)设计局部的ER模型 (2)设计全局的ER模型 (3)全局ER模型的优化,32 面向对象的数据模型对象与实体一样是客观世界中客体的一种抽象的描述,它由客体的数据和对数据的操作组合而成。 是在包含关系数据库管理信息系统的功能基础上,增加面向对象数据模型的封装、继承和信息传播等功能。,面向对象模型,面向对象概念对象:对象是由描述该对象状
14、态的一组数据和表达它的行为的一组操作(方法)组成,对象是数据和行为的统一体。每个对象都是包含了数据集和操作集的实体。无论怎样复杂的事例都可以准确地由一个对象表示 一个对象可定义为一个三元组Object=(ID,S,M),面向对象概念,消息消息是对象之间相互请求或相互协作的唯一方式。对象的状态只能依赖它本身的状态和所能接受的消息,而不依赖与其他对象的内部细节和状态。消息分为公有消息和私有消息。,面向对象概念,类类是关于同类对象的集合,具有相同属性和操作的对象组合在一起称为类。 一个类可定义为一个三元组Object=(CID,CS,CM),继承与类,继承继承是现实世界中对象之间的一种独特关系,它使
15、得某类对象可以自然地拥有另外一类对象的某些特征和功能单继承:曲线直线多继承:曲面、曲线多边形,功能重载和多态性,功能重载:实现特定功能的方法不仅以名称来区分、而且用它所带的参数来区别。,多边形对象类,Draw (MapFile),Draw (Database),功能重载和多态性,多态性:同一个消息可以根据发送消息对象的不同采用多种的行为方式。,概括和聚集,聚集聚集反映了嵌套对象的概念,嵌套对象是由一组其他对象组成的,它用来描述更高层次对象的一种形式。,Is-a-part-of,GIS中面向对象模型,空间地物的几何数据模型从几何上划分,GIS的各种地物可以抽象为点状地物、线装地物、面状地物以及由
16、它们混合组成的复杂地物。,GIS中面向对象模型,GIS中面向对象模型,拓扑关系与面向对象模型通常地物之间的相邻和关联关系可通过公共节点、公共弧段的数拼共享来隐含表达。 面向对象的属性数据模型关系数据模型和关系数据库管理系统基本上适应GIS中属性数据的表达与管理。若采用面向对象数据模型,语义将更加丰富,层次关系也更明了。可以说,面向对象数据模型是在包含义系数据库管理系统的功能基础上,增加面向对象数据模型的封装、继承和信息传播等功能,4 空间数据库逻辑模型设计和物理设计41 逻辑设计的步骤和内容(1)初始模型形成。把ER模型转换成数据库支持的记录类型。(2)子模式设计。子模式是应用程序与数据库的接
17、口。(3)模式评价。对逻辑数据库结构即模型,根据定量分析和性能测算作出评价。(4)优化模式。如建索引等。,42 ER模型向关系数据模型的转换(1)一个实体类型转换成一个关系模式,实体的属性就是关系的属性,实体的关键字就是关系的关键字。(2)一个联系类型转换成一个关系模式,参与该联系的各实体的关键字以及联系的属性转换成关系的属性。,43 关系数据库的逻辑设计(1)ER模型转换为关系模型 (2)规范化处理(范式) (3)模式评价。是否满足用户的要求 (4)优化模式。 (5)形成数据库的逻辑设计说明书,44 空间数据库的物理设计(1)存储记录的格式设计 (2)存储方法设计 (3)访问方法设计 (4)完整性和安全性的考虑 (5)应用设计 (6)形成物理设计说明书,5 GIS空间时态数据库考虑事物发展的时间特性。时空数据库系统或数据处理技术,其内容表现为以下三个主要方面: (1)空间时态数据的表达 (2)空间时态数据的更新 (3)空间时态数据的查询,时空一体化的数据模型:注重以一体化的形式表达地理数据在时间和空间方面的特性。,1时间片快照模型,2底片叠加模型,3时空合成模型,4全信息对象模型运用面向对象的设计方法,将地理现象和过程的空间与属性信息随时间的变化封装成由时态版本组成的对象,即全信息对象。,