第四章地理信息系统空间数据库第1节空间数据库概述第2节语义和面向对象数据模型第3节空间数据库逻辑模型设计第4节空间数据库物理设计第5节空间数据查询第6节空间数据库索引(不讲)第7节空间元数据第8节空间数据库引擎(不讲)第9节空间时态数据库(不讲)主要内容:§4.1空间数据库概述1.数据管理模式计算机对数据的管理到目前为止,共经历了以下阶段:(1)程序管理阶段,数据和应用程序一同存在。(2)文件管理阶段,数据和应用程序独立。(数据间无明显关系)(3)数据库管理阶段,数据和应用独立(逻辑独立),数据库和存储设备独立(物理独立)。数据库数据之间建立了联系。数据面向操作组织•程序管理阶段–在20世纪50年代中期前,硬件里外存储器没有磁盘这类可以随机访问、直接存取的设备,软件上没有专门的管理数据的软件,数据由计算或处理数据的程序自行携带。–这一时期的特点:数据与程序不具有独立性,一组数据对应一组程序。数据不长期保存,一个程序中的数据无法被其他程序利用,程序与程序间存在大量的重复数据,称为数据冗余。•文件系统–在20世纪50年代后期至60年代中后期,大量的数据存储、检索和维护成为当时紧迫的需求,可直接存取的磁盘成为联机的主要外存。在文件系统阶段,程序与数据有了一定的独立性,程序和数据分开,有了程序文件和数据文件的区别。–但文件系统的数据文件主要是服务于某一特定的应用程序,数据和程序相互依赖,而且同一数据项可能重复出现在多个文件中,数据冗余量大,浪费空间,增加更新开销,由于冗余多,不能统一修改数据,造成数据的不一致性。典型GIS空间数据文件存储形式:(1)MapInfo数据文件*.tab:头文件,软件版本号、存储坐标投影、地图边界、属性项名等,是ASCII码文件。*.map:图形文件,存储所有GIS图形。*.id:索引文件,存储图形与属性的关联关系。*.dat:属性文件,存储所有属性项值。(2)ArcGISshape数据文件*.shp:图形文件*.dbf:属性文件*.shx:索引文件•数据库阶段–在20世纪60年代后期,数据量急剧增长,而且数据共享的需求日益增强,因此开始发展数据库技术。其主要目的是有效地管理和存取大量数据资源。•提高数据的共享性,使多个用户能够同时访问数据库中的数据;•减小数据的冗余度,以提高数据的一致性和完整性;•提供数据与应用程序的独立性,从而减少应用程序的开发和维护代价。•增加示例程序(数据分别存储在数组、文本文件和Access数据库)第1节空间数据库概述1.相关概念数据库:是指长期储存在计算机内有结构的、大量的、可共享的数据集合。空间数据库:是地理信息系统在计算机物理存储介质存储的与应用相关的地理空间数据(空间特征、属性特征和时态特征)的总合,以一系列特定结构的文件形式组织后存储在介质上。一、空间数据库的概念•以Access数据库为例,新建数据库。常规数据库管理系统扩展:直接对常规数据库管理系统进行扩展,加入一定数量的空间数据存储与管理功能。例如:OracleSpatial空间数据库引擎(SDE:SpatialDatabaseEngine):在常规数据库管理系统上加一层空间数据库引擎,实现空间数据的存储与管理。例如:ESRI的SDE2、空间数据库管理系统的实现方法空间数据库管理系统是建立在常规数据库管理系统的基础上,实现对空间数据的管理功能。转换现实世界人类的认识、抽象机器世界DBMS支持的数据模型现实世界中地理实体的抽象过程信息世界的概念模型1.空间数据库的设计过程这一过程一般需要两步:①人类对地理实体的认识、抽象,建立概念模型。②将概念模型转换为计算机能够接受的形式,即数据模型。就是将地理空间实体按一定的组织形式,在数据库系统中加以表达的过程。二、空间数据库的设计①地理空间实体(客体)地理空间是一个三维空间,有四个基本实体:点实体线实体面实体体实体概念模型主要工作是识别需要获得数据的实体和实体间的关系。地理空间实体②地理空间实体间的联系空间联系属性联系时间联系空间位置,空间分布,几何形态、空间相关等空间信息反映了空间分析所能揭示的信息,彼此互有联系通过实体变化过程来反映。实体间的属性主要体现为属性多级分类体系中的从属关系、聚类关系和相关关系能够对空间数据进行统一管理帮助用户查询、检索、增加删除和修改数据保障空间数据的独立性、完整性、和安全性数据模型建立建立空间数据库系统数据模型的目的,是揭示空间实体的本质特征,并对其进行抽象化,使之转化为计算机能够接受和处理的数据形式。空间数据模型是衡量GIS功能强弱与优劣的主要因素之一。从这一意义上看,空间数据库的设计最终可以归结为空间数据模型的设计。•第一步需求分析•第二步概念设计•第三步逻辑设计•第四步物理设计•第五步数据库的实施和维护2.空间数据库的设计步骤明白即将开发的GIS所支持的各种功能;了解系统要求的数据内容和行为;了解数据之间的关系和优先次序,这些信息有利于制定数据库的开发实施计划。了解数据库和GIS的整体要求和蓝图。现状调查调查内容的组织的分析第一步用户需求分析GIS数据库开发应该主要了解下面的内容用户需求分析方法用户需求分析过程现状调查:通过实际调查了解用户的现状及要求调查内容的组织的分析:对调查的结果进行整理、分析和组织,并提交报告及图件。包括:现有机构的组织结构图软件、硬件资源表专业人员清单部门功能清单数据来源清单把用户的需求加以解释,用概念模型表达出来。具体任务包括:(1)数据库的宏观定义指对数据库比例尺、地图投影和坐标系统的定义。(2)数据库的特征设计对于各种地理特征有关的属性数据中以什么几何形式表达进行设计。(3)数据库表格及其关系的设计表达对与地理特征有关的属性数据在数据库中表达方式的设计。第二步概念设计(4)数据库总体设计的评定根据数据库的应用目的和数据内容及使用方式来评价前面三步的设计结果。(5)数据库概念模型的起草将GIS数据库的概念设计起草成正式的文件,作为后面详细设计时参考。•概念模型的目的是以高度抽象地方式表达实体和实体间的关系,不包括属性和方法。第三步逻辑设计空间数据库的逻辑设计应该选择最适于描述与表达相应概念结构的数据模型,即把信息世界中的概念模型利用数据库管理系统提供的工具映射为计算机世界中为数据库管理系统所支持的数据模型。设计逻辑结构时一般要分三步进行:①将概念结构转换为一般的关系、网状、层次模型②将转化来的关系、网状、层次模型向特定空间数据库系统支持下的数据模型转换。③对数据模型进行优化。•逻辑模型充实概念模型中的实体,通过增加属性和分解多对多的关系。数据库的物理设计特点设计人员必须充分了解所用DBMS的内部特征,特别是存储结构和存取方法;充分了解应用环境,特别是应用的处理频率和响应时间要求;充分了解外存设备的特性。第四步物理设计数据库的物理设计是指数据库存储结构和存储路径的设计,即将数据库的逻辑模型在实际的物理存储设备上加以实现,从而建立一个具有良好性能的物理数据库。设计原则:①尽量减少空间数据存储冗余;②提供稳定的空间数据结构,在用户的需要改变时,数据结构能够做出相应的变化;③满足用户对空间数据及时访问的需求,高效提供用户所需的空间数据查询结果;④在空间元素间维持复杂的联系,反映空间数据的复杂性;⑤支持多种决策需要,具有较强的应用适应性。•物理数据模型存在于运行环境中并塑造成逻辑模型要求的形式。根据逻辑设计和物理设计的结果,在计算机上建立实际的空间数据库系统,装入空间数据,并调试和运行。建立实际的空间数据库结构装入试验性的空间数据对应用程序进行测试,以确认其功能和性能是否满足设计要求装入实际的空间数据,即数据库加载,建立起实际运行的数据库。数据库试运行1、数据库的实现第五步空间数据库的实施和维护2、相关的其它设计在数据库试运行期间,应进一步完善数据库的功能和性能。(1)空间数据库再组织:调整或者改变空间数据库的概念、逻辑和物理结构的。(2)安全性考虑:规定相应的数据库使用权限,保证数据库的安全运行。主要方法是授权。(3)故障恢复处理:数据库恢复就是把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)的功能。(4)事务控制:事务控制的目的就是保证多用户环境下的数据库的完整性和一致性。(1)维护空间数据库的安全性和完整性:需要及时调整授权和密码,转储及恢复数据库(2)监测并改善数据库性能:分析评估存储空间和响应时间(3)增加新功能:按用户的需要及时扩充功能,满足用户的新需要。(4)修改错误:包括程序和数据。3、空间数据库的运行与维护第2节空间数据库概念模型设计一、语义数据模型二、面向对象数据模型一、语义数据模型概念:是由若干种抽象所组成,用这些抽象来描述客体的基本语义特性,在根据语义模型规则把这些抽象有机地组织起来形成模型。如实体联系模型(E-R模型),提供了三种主要的语义概念:实体:是对客观存在的起独立作用的事物的一种抽象。联系:是实体间有意义的相互作用或对应关系。属性:是对实体和联系特征的描述①一对一联系(1:1)②一对多联系(1:n)。③多对多联系(m:n)两个实体之间的联系可分为以下三类:1.一对一的联系(1:1)这是比较简单的一种联系方式,是指在集合A中存在一个元素αi,则在集合B中就有一个且仅有一个bj与之联系。在1:1的联系中,一个集合中的元素可以标识另一个集合中的元素。例如,地理名称与对应的空间位置之间的关系就是一种一对一的联系。••••••ABBA1:12.一对多的联系(1:N)现实生活中以一对多的联系比较常见。如图所示,这种联系可以表达为:在集合A中存在一个αi,则在集合B中存在一个子集B’=(bj1,bj2,...,bjn)与之联系。通常,B’是B的一个子集。行政区划就具有一对多的联系,一个省对应多个市,一个市对应多个县,一个县又有多个乡。••••••ABBA•••1:N3.多对多的联系(M:N)这是现实中最复杂的联系,即对于集合A中的一个元素αi,在集合B中就存在一个子集B’=(bj1,bj2,...,bjn)与之相联系。反过来,对于B集合中的一个元素Bj在集合A中就有一个集合A’=(αi1,αi2,αi3,...αim)与之相联系,即M:N的联系。地理实体中的多对多联系是很多的,例如土壤类型与种植的作物之间有多对多联系,同一种土壤类型可以种不同的作物,同一种作物又可种植在不同的土壤类型上。••••••ABBA•••M:N•根据需求分析的结果(数据流图、数据字典等)对现实世界的数据进行抽象,分解成不同功能的局部模块,对每个局部模块设计视图,即分E-R图。主要需完成局部结构范围的确定,定义属性、实体和联系,以及属性的分配等。E-R模型设计步骤(1)设计局部的E-R图不同局部视图中同一对象具有不同的抽象、同一实体中所包含的属性排列次序不完全相同、实体之间的联系呈现不同的联系类型。(2)设计全局的E-R图①属性域冲突即属性值的类型、取值范围或取值集合不同,属性取值单位冲突。同名异义,异名同义(一义多名)。②命名冲突③结构冲突这一步骤是将所有局部的E-R图综合成单一的全局E-R图。首先需要确定公共的实体类型,然后反复进行两个局部E-R图的合并,检查并消除冲突。E-R图的优化原则:实体类型个数尽可能少;(实体类型合并)实体类型所含属性最少;(冗余属性的消除)实体间联系无冗余。(冗余联系的消除)(3)全局E-R图的优化E-R图的特点接近人的思维,易于理解E-R图与计算机的实现无关E-R图仅仅是概念模型,无法在计算机上直接实现。在数据库逻辑设计阶段应该将概念模型转化为计算机能够接受的数据模型,如层次、网络、关系模型。二、面向对象的数据模型对象与实体一样是客观世界中客体的一种抽象的描述,它由客体的数据和对数据的操作组合而成。(一)面向对象数据模型的基本概念(1)对象:一个对象就是现实世界中一个客体的模型化,它具有一个唯一的名称标志,并且把自身的状态和内在的功能封装在一起。(2)消息:是对象之间相互请求或相互