
三章节空间数据管理.ppt
152页第三章:空间数据管理第三章:空间数据管理一、前言一、前言1.数据管理的几个阶段数据管理的几个阶段§ 人工管理阶段人工管理阶段§ 文件系统阶段文件系统阶段§ 数据库阶段数据库阶段§ 高级数据库阶段高级数据库阶段1) 人工管理阶段人工管理阶段(五十年代中期以前)(五十年代中期以前) ((1)没有专用的软件对数据进行管理;)没有专用的软件对数据进行管理;((2)没有文件的概念;)没有文件的概念;((3)数据是面向应用的,不共享数据是面向应用的,不共享2) 文件管理阶段文件管理阶段((1)数据可以长期保存在文件中;)数据可以长期保存在文件中;((2)由文件系统管理数据;)由文件系统管理数据;((3)数据共享性差,冗余度大;)数据共享性差,冗余度大;((4)数据独立性差数据独立性差数据独立性的含义数据独立性的含义((1))物理独立性物理独立性:用户的应用程序不会因为物理表示和:用户的应用程序不会因为物理表示和访问技术的改变而改变访问技术的改变而改变2))逻辑独立性逻辑独立性:用户的应用程序与数据库的逻辑结构:用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变。
户程序也可以不变应用程序应用程序 3应用程序应用程序 2应用程序应用程序 1文件文件 1文件文件 2存存 取取方方 法法 3) 数据库阶段数据库阶段 特点:特点:((1)数据结构化是数据库与文件系统的根本区别;)数据结构化是数据库与文件系统的根本区别;((2)数据的共享性高,冗余度低,易扩展;)数据的共享性高,冗余度低,易扩展;((3)数据独立性高;)数据独立性高;((4)数据库系统为用户提供了方便的用户接口;)数据库系统为用户提供了方便的用户接口;((5)数据由)数据由DBMS统一管理和控制统一管理和控制 —数据的安全(数据的安全(Security)保护)保护 —数据的完整性(数据的完整性(Integrity)检查)检查 —并发(并发(Concurrency)控制)控制 —数据库恢复(数据库恢复(Recovery)) 数据库系统阶段数据库系统阶段应用程序应用程序 3应用程序应用程序 2应用程序应用程序 1DBMS数据数据数据数据数据数据数据数据数据数据数据数据数据数据数据数据各阶段的各阶段的比较比较阶段阶段 人工管理阶段人工管理阶段 文件处理文件处理阶段阶段 数据库系统数据库系统时间时间 5050年代年代 6060年代年代 7070年代年代数据共享性数据共享性 无共享无共享 共享差共享差 共享好共享好 数据独立性数据独立性 无独立性无独立性 独立性差独立性差 物理独立性高物理独立性高 一定逻辑独立性一定逻辑独立性数据结构化数据结构化 无结构化无结构化 纪录内有结构纪录内有结构 整体结构化整体结构化 整体结构化差整体结构化差 用数据摸型描述用数据摸型描述 4) 高级数据库阶段高级数据库阶段• 分布式数据库分布式数据库• 空间数据库空间数据库• 面向对象数据库面向对象数据库• 数据仓库数据仓库2. 数据文件数据文件常用的数据文件常用的数据文件顺序文件、索引文件、随机文件、顺序文件、索引文件、随机文件、倒排文件。
倒排文件GIS中常自定义数据文件来组织空间数据中常自定义数据文件来组织空间数据 1)、顺序文件(、顺序文件(Sequential File)) 最简单的文件组织形式顺序文件中数据按记最简单的文件组织形式顺序文件中数据按记录中主关键字的顺序组织录中主关键字的顺序组织 顺序文件的记录,逻辑上是按主关键字排序顺序文件的记录,逻辑上是按主关键字排序的,而在物理存储上可以有不同的方式,包括:的,而在物理存储上可以有不同的方式,包括: 向量方式、链方式、块方式向量方式、链方式、块方式盘地址盘地址 关键字关键字 数据项数据项 4200 1001 4205 1002 4210 1003 4215 100410031004100210014210420042054215顺序文件的查找主要为顺序查找、折半查找等顺序文件的查找主要为顺序查找、折半查找等向量方式向量方式 :: 逻辑结构同物理结构一致;逻辑结构同物理结构一致;链方式链方式 :: 通过指针连结逻辑顺序;通过指针连结逻辑顺序;块方式块方式 :: 上述两种方式的结合(块内是向量方式上述两种方式的结合(块内是向量方式 ,块间是链方,块间是链方式式 ))物理地址逻辑地址内容链方式链方式 存储内容包括:存储内容包括: 1.记录本身(主文件)记录本身(主文件) 2.若干索引表若干索引表 这种带有索引表的文件叫这种带有索引表的文件叫索引文件索引文件。
2)索引文件索引文件((Index File)) §索引表中列出:索引表中列出: 1.记录的关键字记录的关键字 2.记录在文件中的位置(地址)记录在文件中的位置(地址)弧段号弧段号左多边形左多边形右多边形右多边形弧段坐标数据弧段坐标数据13502023402031201401302弧段数据文件弧段数据文件弧段号弧段号物理地址物理地址17421263214302弧段索引表弧段索引表如已知一多边形坐标数据文件,可建立索引文件如已知一多边形坐标数据文件,可建立索引文件多边形号多边形号 坐标点数坐标点数1001 102x1 y1X2 y2x3 y3 …. x101 y101x1 y1200 65x1 y1x2 y2….x64 y64x1 y12006 86x1 y1 索引文件索引文件 索引有序文件索引有序文件多边形号多边形号 物理地址物理地址 多边形号多边形号 物理地址物理地址1001 2001002 200 100110032006 2006有序有序无序无序§读取记录时,只要提供记录的关键字值,系读取记录时,只要提供记录的关键字值,系统通过查找索引表获得记录的位置,然后取统通过查找索引表获得记录的位置,然后取出该记录。
出该记录索引表一般都是经过排序的,也可以是非顺索引表一般都是经过排序的,也可以是非顺序的;可以是单级索引,也可以是多级索引,序的;可以是单级索引,也可以是多级索引,多级索引可以提高查找速度,但占用的存储多级索引可以提高查找速度,但占用的存储空间较大空间较大. 3)、随机文件()、随机文件(Direct Access File)) 随机文件又称随机文件又称直接文件直接文件,其存储是根据记录,其存储是根据记录关键字的值,通过某种转换方法得到一个物理关键字的值,通过某种转换方法得到一个物理存储位置,然后把记录存储在该位置上查找存储位置,然后把记录存储在该位置上查找时,通过同样的转换方法,可以直接得到所需时,通过同样的转换方法,可以直接得到所需要的记录要的记录 通过通过HASH函数(哈希函数)函数(哈希函数)把关键字转换为地址进行存取的文件把关键字转换为地址进行存取的文件 D= F((Key)哈希函数哈希函数§倒排文件倒排文件是带有辅索引的文件,其中辅索引是按是带有辅索引的文件,其中辅索引是按照一些辅关键字来组织索引的(注意:索引文件照一些辅关键字来组织索引的(注意:索引文件是按照记录的主关键字来构造索引的,也叫主索是按照记录的主关键字来构造索引的,也叫主索引)。
引)§倒排文件是一种多关键字的索引文件,其中的索倒排文件是一种多关键字的索引文件,其中的索引不能唯一标识记录,往往同一索引指向若干记引不能唯一标识记录,往往同一索引指向若干记录通过辅索引不能直接读取记录,而要通过主录通过辅索引不能直接读取记录,而要通过主关键字才能查到记录的位置关键字才能查到记录的位置4)倒排文件)倒排文件((Inverted File )) §倒排文件的主要优点:倒排文件的主要优点: 在处理多索引检索时,可以在辅检索中先完成查在处理多索引检索时,可以在辅检索中先完成查询的询的‘交交’、、‘并并’等逻辑运算,得到结果后再等逻辑运算,得到结果后再对记录进行存取,从而提高查找速度对记录进行存取,从而提高查找速度.地段号地段号地貌类型地貌类型坡度坡度坡向坡向利用现状利用现状1缓坡缓坡5-10半阴半阴林地林地2垣面垣面<3阳阳农地农地3陡坡陡坡>15阳阳牧地牧地4沟道沟道<5半阳半阳林地林地5缓坡缓坡5-10阴阴林地林地6缓坡缓坡5-10半阳半阳林地林地7陡坡陡坡>15阴阴牧地牧地8垣面垣面<3阳阳农地农地9宽梁顶宽梁顶<3阳阳农地农地10缓坡缓坡5-10半阳半阳林地林地次关键字次关键字地块号地块号陡坡陡坡3,7垣面垣面2,8沟道沟道4宽梁顶宽梁顶9缓坡缓坡1,5,6,10次关键字次关键字地块号地块号阴阴5,7半阳半阳4,6,10半阴半阴1阳阳2,3,8,9土地资源文件土地资源文件次关键字次关键字地块号地块号农地农地2.8.9林地林地1,4,5,6,10牧地牧地3,7数据库是数据库是是存储在计算机中、是存储在计算机中、按一定数据模型组织、可共享按一定数据模型组织、可共享的数据集合,的数据集合,这些数据用于各这些数据用于各种应用系统中。
种应用系统中 数据库中数据的特点:数据库中数据的特点:l 数据是持久的数据是持久的l 数据是集成的数据是集成的l 数据是共享的数据是共享的l 数据按一定的数据模型组织、描述和储存数据按一定的数据模型组织、描述和储存3、数据库(、数据库(Database,,简称简称DB))应用程序应用程序1应用程序应用程序2应用程序应用程序34、数据库管理系统(、数据库管理系统(DBMS))DBMS(DataBase Management System)是位是位于用户与操作系统之间的一层数据管理软件,它于用户与操作系统之间的一层数据管理软件,它提提供了数据库的访问接口供了数据库的访问接口DBMS的主要功能的主要功能:l 数据定义功能数据定义功能l 数据操作功能数据操作功能l 数据库运行管理(恢复、并发控制、安全性、完整性)数据库运行管理(恢复、并发控制、安全性、完整性)l数据库的建立和维护功能数据库的建立和维护功能DBMS的目的:的目的:提供方便地、有效地存取数据库信息的环境提供方便地、有效地存取数据库信息的环境硬件硬件应用开发系统应用开发系统DBMS操作系统操作系统DBMS在信息系统中的位置在信息系统中的位置5、数据库系统(数据库系统(Database System DBS))数据库系统是指在计算机系统中引入数据库后的数据库系统是指在计算机系统中引入数据库后的系统,包括:系统,包括: 数据库数据库 数据库管理系统(及其开发工具)数据库管理系统(及其开发工具) 应用系统应用系统 数据库管理员数据库管理员 用户用户 DBS = DB + DBMS + APPLICATION + DBA + USERDatabase Administrator数数据据库库系系统统构构成成数据库数据库最终用户最终用户应用系统应用系统应用开发工具应用开发工具DBMS操作系统操作系统数据库管理员数据库管理员应用程序员应用程序员小知识点:文件处理系统和数据库管理系统小知识点:文件处理系统和数据库管理系统§数据定义使用特定的数据结构定义,利用文数据定义使用特定的数据结构定义,利用文件形式存储,称之为文件处理系统。
件形式存储,称之为文件处理系统文件处理系统文件处理系统 文件处理系统缺点:文件处理系统缺点:§首先每个应用程序都必须直接访问所使用首先每个应用程序都必须直接访问所使用的数据文件,应用程序完全依赖于数据文的数据文件,应用程序完全依赖于数据文件的存储结构,数据文件修改时应用程序件的存储结构,数据文件修改时应用程序也随之修改;也随之修改;§其次的是数据文件的共享程度差;其次的是数据文件的共享程度差;§另外缺乏集中控制也会带来一系列数据库另外缺乏集中控制也会带来一系列数据库的安全问题的安全问题§数据库管理系统(数据库管理系统(Database Management System,,DBMS)是在文件处理系统的基础)是在文件处理系统的基础上进一步发展的系统上进一步发展的系统 ¡数据库管理系统数据库管理系统 可以认为,可以认为,DBMSDBMS在用户应用程序和数据文在用户应用程序和数据文件之间起到了桥梁作用件之间起到了桥梁作用§DBMS优点:优点: DBMS优点是提供了数据独立性,即应用优点是提供了数据独立性,即应用程序访问数据文件时,不必知道数据文件程序访问数据文件时,不必知道数据文件的物理存储结构。
当数据文件的存储结构的物理存储结构当数据文件的存储结构改变时,不必改变应用程序改变时,不必改变应用程序 §空间数据库空间数据库指的是地理信息系统在计算机指的是地理信息系统在计算机物理存储介质上存储的与应用相关的地理物理存储介质上存储的与应用相关的地理空间数据的总和,一般以特定结构的文件空间数据的总和,一般以特定结构的文件的形式组织在存储介质之上的的形式组织在存储介质之上的§空间数据库管理系统空间数据库管理系统则是指对物理介质上则是指对物理介质上存储的地理空间数据进行语义和逻辑上的存储的地理空间数据进行语义和逻辑上的定义,提供必需的空间数据查询检索和存定义,提供必需的空间数据查询检索和存取功能,以及能够对空间数据进行有效的取功能,以及能够对空间数据进行有效的维护和更新的一套软件系统维护和更新的一套软件系统小知识点:空间数据库与空间数据库管理系统小知识点:空间数据库与空间数据库管理系统二、空间数据模型二、空间数据模型传统的地理数据模型传统的地理数据模型§1)层次模型)层次模型 树数据结构树数据结构 描述了各类客体及客体之间的联系描述了各类客体及客体之间的联系。
然而,层次模型限制每个客体类最多只能有然而,层次模型限制每个客体类最多只能有一个双亲客体类,而一个双亲客体则可有多一个双亲客体类,而一个双亲客体则可有多个子女客体类个子女客体类 双亲和子女客体类之间即形成了所谓的层次双亲和子女客体类之间即形成了所谓的层次关系优点优点::层次分明,组织有序;层次分明,组织有序;缺点:缺点:数据独立性较差;难以表达多对多的关系;导数据独立性较差;难以表达多对多的关系;导致数据冗余致数据冗余N1N4 N1N3 N3N4 N1N4 N2N4 N1N2 N2N4 N3N4 N2N3 ABCa3 a4 a6 a3 a5 a1 a5 a6 a2 用户区ABC a1 a2a3 a4 a5 a6N1N2N3N42)网络模型)网络模型 图数据结构图数据结构优点:能描述多对多关系优点:能描述多对多关系缺点:结构复杂,限制它在空间数据表达中的应用缺点:结构复杂,限制它在空间数据表达中的应用a1 a2 a3 a4 a5 a6 ABC用户区N1 N2 N3 N4ABC a1 a2a3 a4 a5 a6 N1N2N3N43)关系模型)关系模型 表数据结构表数据结构 80年代后主导数据库是基于年代后主导数据库是基于关系模型。
关系模型关系模型的关系模型的理论基础是关系理论,它通过关系运算操作数据理论基础是关系理论,它通过关系运算操作数据优点:概念简单,结构灵活,易理解,易维护;有标优点:概念简单,结构灵活,易理解,易维护;有标准的关系查询语言准的关系查询语言SQL支持缺点:不适合描述非结构特征数据缺点:不适合描述非结构特征数据A a3 a4 a6Ba1 a3 a5Ca2 a5 a6a1N1 N2a2N2 N3a3N1 N4a4N1 N3a5N2 N4a6N3 N4ABC a1 a2a3 a4 a5 a6 N1N2N3N4§关系模型中的有关概念关系模型中的有关概念 关系关系::关系是一个二维表,表的每行对应一个元组,表的每关系是一个二维表,表的每行对应一个元组,表的每一列对应一个域一列对应一个域 关键字关键字::关系中的某一属性组,若它的值唯一地标识了一个关系中的某一属性组,若它的值唯一地标识了一个元组,则称该属性组为候选关键字若一个关系中有多个元组,则称该属性组为候选关键字若一个关系中有多个候选关键字,则选定一个为主关键字。
候选关键字,则选定一个为主关键字 关系数据库关系数据库::一系列关系的集合构成一个关系数据库关系一系列关系的集合构成一个关系数据库关系数据库有型、值之分数据库有型、值之分 关系完整性关系完整性::即指关系的正确性、相容性和有效性它是给即指关系的正确性、相容性和有效性它是给定的关系模型中数据及其联系的所有制约和依存规则,用定的关系模型中数据及其联系的所有制约和依存规则,用以限定数据库状态及状态变化,从而保证数据的正确、相以限定数据库状态及状态变化,从而保证数据的正确、相容和有效容和有效 关系模型的完整性有三类:实体的完整性、关系模型的完整性有三类:实体的完整性、参照完整性和用户定义的完整性参照完整性和用户定义的完整性 范式范式:关系满足某种规范化的形式称为范式关系满足某种规范化的形式称为范式从一个低一级范式的关系模式,通过模式从一个低一级范式的关系模式,通过模式分解转换为若干个高一级关系模式集合的分解转换为若干个高一级关系模式集合的过程,叫做过程,叫做规范化规范化 第一范式第一范式:关系中的每个属性是原子的、:关系中的每个属性是原子的、不可分割的数据项在关系数据库中,若不可分割的数据项。
在关系数据库中,若一个关系模式满足一个关系模式满足1NF,它就是合法的它就是合法的非第一范式关系表Polygon#ARCSPolygon1ARC#ARC-LENGTHArc1100Arc2133Arc3150Polygon2Arc1100Arc4166第一范式关系表POLYGON# ARC#ARC-LENGTHPolygon1Arc1100Polygon1Arc2133Polygon1Arc3150Polygon2Arc1100Polygon2Arc4166 第二范式:第二范式:是指关系在满足是指关系在满足1NF的基础上,的基础上,每一个非主属性每一个非主属性完全完全函数依赖于该关系的函数依赖于该关系的关键字即当一个非关键字字段关键字即当一个非关键字字段部分部分地函地函数依赖于关键字时,就违反了数依赖于关键字时,就违反了2NF分解为第二范式分解为第二范式的关系表的关系表*学生学号学生学号学生姓名学生姓名性别性别课程名称课程名称籍贯籍贯成绩成绩*学生学号学生学号学生姓名学生姓名性别性别*课程名称课程名称籍贯籍贯成绩成绩*学生学号学生学号非第二范式关系表非第二范式关系表§第三范式第三范式:指关系在满足第二范式的基础:指关系在满足第二范式的基础上,其非关键字属性(即非主属性)既非上,其非关键字属性(即非主属性)既非函数依赖,也不传递依赖于关键字,即属函数依赖,也不传递依赖于关键字,即属于于3NF的关系,其非关键字属性之间都是的关系,其非关键字属性之间都是独立的,不存在函数依赖关系独立的,不存在函数依赖关系非第三范式关系中非第三范式关系中的传递依赖的传递依赖* 生学号生学号学生姓名学生姓名性别性别分解成两个第三范分解成两个第三范式关系式关系学生所在系学生所在系出生日期出生日期籍贯籍贯系所在地点系所在地点* 生学号生学号学生姓名学生姓名性别性别学生所在系学生所在系出生日期出生日期籍贯籍贯系所在地点系所在地点*学生所在系学生所在系传统数据模型存在的主要问题传统数据模型存在的主要问题((黄杏元,地黄杏元,地理信息系统概论理信息系统概论))1.以记录为基础的结构不能很好的面向用户和应用以记录为基础的结构不能很好的面向用户和应用2.不能以自然的方式表示客体之间的联系不能以自然的方式表示客体之间的联系3.语义贫乏语义贫乏4.数据类型太少,难以满足应用需要数据类型太少,难以满足应用需要面向对象的地理数据模型(自学)面向对象的地理数据模型(自学)1、概念、概念 a.基本思想基本思想:面向对象的基本思想是通过面向对象的基本思想是通过对问题领域进行自然分割,用更接近人类对问题领域进行自然分割,用更接近人类通常思维的方式建立问题领域的模型,并通常思维的方式建立问题领域的模型,并进行结构模拟和行为模拟,从而使设计出进行结构模拟和行为模拟,从而使设计出的软件能尽可能地直接表现出问题的求解的软件能尽可能地直接表现出问题的求解过程过程。
b.一些术语的基本概念一些术语的基本概念:§对象对象对象标识对象标识对象状态对象状态对象功能对象功能私有消息私有消息公有消息公有消息Polygon--objectarc--objectFunction((perimeter))§类类§消息消息§方法方法2.面向对象数据模型的四种核心技术面向对象数据模型的四种核心技术n 分类分类n 概括概括n 聚集聚集n 联合联合空间对象类空间对象类多边形对象类多边形对象类弧段对象类弧段对象类Is a图层对象类图层对象类多边形对象类多边形对象类弧段对象类弧段对象类Is-part-of3、面向对象的地理数据模型和数据结构、面向对象的地理数据模型和数据结构 a.基本含义基本含义:(见课本) 面向对象的地理模型的核心是对面向对象的地理模型的核心是对复杂对复杂对象象的模拟和操作的模拟和操作 b.复杂对象定义及其特点:复杂对象定义及其特点: 面向对象的地理模型的核心是对面向对象的地理模型的核心是对复杂对复杂对象象的模拟和操作的模拟和操作 定义定义:所谓复杂对象是指具有复杂结构:所谓复杂对象是指具有复杂结构和操作的对象。
复杂对象可以由多种关系和操作的对象复杂对象可以由多种关系聚合抽象而成,或由不同类型的对象构成,聚合抽象而成,或由不同类型的对象构成,或具有复杂的嵌套关系等或具有复杂的嵌套关系等复杂对象的特点复杂对象的特点:§一个复杂对象由多个成员对象构成,每个一个复杂对象由多个成员对象构成,每个成员对象又可参与其他对象的构成成员对象又可参与其他对象的构成§具有多种数据结构具有多种数据结构§一个复杂对象的不同部分可由不同的数据一个复杂对象的不同部分可由不同的数据模型所支持模型所支持c.面向对象地理模型的特点面向对象地理模型的特点§可充分利用现有数据模型的优点可充分利用现有数据模型的优点§具有可扩充性具有可扩充性§可以模拟和操纵复杂对象可以模拟和操纵复杂对象d.GIS中面向对象的数据模型和数据结构中面向对象的数据模型和数据结构 在在GIS的面向对象的数据结构中,通常可以把的面向对象的数据结构中,通常可以把空间数据抽象为点、线、面三种简单的地物类型,空间数据抽象为点、线、面三种简单的地物类型,作为三种简单对象作为三种简单对象::¡ 点状地物点状地物¡ 线状地物线状地物¡ 面状地物面状地物一个地理实体可以由这三种简单对象之一构成,复杂的地理实体可以由多种简单对象构成,甚至可以由其他复杂对象构成工作区工作区1工作区工作区2工作区工作区3工作区工作区n图层图层1图层图层2图层图层3图层图层n地物地物1地物地物2地物地物3地物地物n点状地物点状地物线状地物线状地物面状地物面状地物标识码标识码属性表属性表结点结点弧段弧段标识码标识码注记注记属性表属性表结点坐标结点坐标始点始点终点终点左面左面右面右面标识码标识码三、三、 空间数据管理中的数据库技术空间数据管理中的数据库技术(一)、关系数据库技术(一)、关系数据库技术 1970年年IBM公司的公司的E.F.Codd提出了关系模型理论,提出了关系模型理论,奠定了关系数据库的理论基础;奠定了关系数据库的理论基础; 20世纪世纪70年代末,年代末,IBM公司在公司在IBM370系列机上成功系列机上成功实现了原型系统实现了原型系统System R;; 20世纪世纪80年代以来,年代以来,关系数据库成为关系数据库成为数据库数据库主流主流。
1、关系数据模型的数据结构、关系数据模型的数据结构 关系数据库系统是建立在关系模型上的数关系数据库系统是建立在关系模型上的数据库系统;据库系统; 在关系模型中,现实世界中的实体以及实在关系模型中,现实世界中的实体以及实体间的各种联系均用关系表示;体间的各种联系均用关系表示; 关系数据库是表的集合关系数据库是表的集合 l关系模式关系模式: :关系名关系名( (属性属性1,1,属性属性2….2….属性属性n)n)l关系关系: : 通常说的表通常说的表; ;l元组元组: 关系表中的一行关系表中的一行;l属性属性: 关系表中的一列关系表中的一列;l主码主码: 能唯一确定元组的某属性组能唯一确定元组的某属性组;l域域: 属性的取值范围属性的取值范围;l分量分量: 元组中的一个属性值元组中的一个属性值 关系数据模型的数据结构为关系数据模型的数据结构为:地块号地块号面积面积km2使用类使用类型型植被植被10010.3绿化绿化草地草地10020.5小区小区树木树木10030.8绿化绿化灌木灌木关系模式关系模式:土地利用土地利用(地块号、面积、使用类型、植被)地块号、面积、使用类型、植被)关关系系 属性属性元元组组2 2、关系的基本性质、关系的基本性质1))列列是是同同质质的的((Homogeneous)),,即即每每一一列列中中的的分量是同一类型的数据,来自同一个域。
分量是同一类型的数据,来自同一个域3)列的顺序无所谓,即列的次序可以任意交换列的顺序无所谓,即列的次序可以任意交换3)任意两个元组不能完全相同任意两个元组不能完全相同4)行的顺序无所谓,即行的次序可以任意交换行的顺序无所谓,即行的次序可以任意交换5))分分量量必必须须取取原原子子值值,,即即每每一一个个分分量量都都必必须须是是不不可可分的数据项分的数据项(二)、(二)、 SQL查询语言(查询语言(结构化查询语言)结构化查询语言) 数据库的核心应用是数据库的查询,查询语言从数数据库的核心应用是数据库的查询,查询语言从数据库中请求获取信息的语言,据库中请求获取信息的语言, 是过程化的查询语言是过程化的查询语言 SQL((Structure Query Language)是数据库查询语是数据库查询语言,言,1986年由美国年由美国国家标准化协会(国家标准化协会(ANSI American National Standards Institute),),国际国际标准化组织标准化组织((ISO International Organization for Standardization)批准作为批准作为关系数据库关系数据库查询查询标准语言标准语言。
1、、 SQL查询语言概述查询语言概述1)) SQL查询语言的发展查询语言的发展§SQL-86、、 §SQL-89、、§SQL-92(SQL2)、、§SQL-99(SQL3) SQL数据库查询语言数据库查询语言已是国际标已是国际标准准,大部分,大部分DBMS产品都支持产品都支持SQL,,成为操作数据库的标准语言成为操作数据库的标准语言它对其它领域产生很大影响它对其它领域产生很大影响它是综合的、通用的、功能强、简单易学的语言它是综合的、通用的、功能强、简单易学的语言2) SQL查询语言的主要功能查询语言的主要功能SQL提供的主要功能包括:提供的主要功能包括:• 数据的定义;数据的定义;• 数据的操作;数据的操作;• 数据的控制;数据的控制;• 数据的查询数据的查询 SELECT 的简单查询功能是对一个数据库表进行查的简单查询功能是对一个数据库表进行查询,以便选择表中某些列或某些行询,以便选择表中某些列或某些行 2、、SQL查询语言中核心查询语言中核心——SELECT语句语句 SQL查询语言中查询语言中数据的查询动词是数据的查询动词是SELECT1)) SELECT 的简单查询功能的简单查询功能 当数据库查询只涉及到一张表时,查询的目的是选当数据库查询只涉及到一张表时,查询的目的是选择符合条件的某些列或行。
择符合条件的某些列或行 SELECT语句的一般形式为:语句的一般形式为: ALL *SELECT DISTINCT 选择表选择表 FROM 基表名基表名 WHERE 条件表达式条件表达式 [GROUP BY 列名列名1 [HAVING条件表达式条件表达式]] ORDER BY 列名列名2 ASC DESC 对查询结果对查询结果《《列名列名》》排序排序选择形成的结果表选择形成的结果表 对查询结果按对查询结果按《《列名列名》》分组分组 目标列表达式目标列表达式所查询的表所查询的表查询条件查询条件根据根据WHERE 子句的条件表达式,从子句的条件表达式,从FROM子句的表中,找出子句的表中,找出满足条件的元组,按满足条件的元组,按SELECT子句的目标列表达式选出元组中子句的目标列表达式选出元组中的属性,形成结果表。
的属性,形成结果表2 2))WhereWhere 子句子句• Where Where 子句子句中写条件表达式中写条件表达式• Where Where 子句子句中可嵌套中可嵌套select select 语句语句§ GROUP子句,则将结果按子句,则将结果按< 列名列名1 >的值进行的值进行分组,该属性列值相等的元组为一组,占结果分组,该属性列值相等的元组为一组,占结果表的一条记录表的一条记录§GROUP子句可带子句可带HAVING短语,输出指定条件短语,输出指定条件的组 §havinghaving子句子句作用于组,从中选择满足条件的组作用于组,从中选择满足条件的组,, having子句中可使用聚集函数子句中可使用聚集函数3 3))group bygroup by(对元组进行分组)(对元组进行分组)将结果按将结果按< 列名列名2 >的值进行升序或降序排序的值进行升序或降序排序升序升序ASC((缺省)、降序缺省)、降序DESC对于空值,若升序,含空值的元组最先显示;对于空值,若升序,含空值的元组最先显示; 若降序,含空值的元组最后显示若降序,含空值的元组最后显示.4))Order By子句(对查询结果排序子句(对查询结果排序))3 3、、SQLSQL查询中的聚合函数查询中的聚合函数聚合函数聚合函数把一列中的把一列中的值进行聚合运算,然后返回行聚合运算,然后返回值的函数。
的函数五个五个预定定义的聚合函数的聚合函数为::● 平均平均值::AvgAvg(字段名)(字段名)● 总和:和: SumSum(字段名)(字段名)● 最小最小值::MinMin(字段名)(字段名)● 最大最大值::MaxMax(字段名)(字段名)● 计数:数: CountCount(字段名)(字段名) 如如Count(countryCount(country) )4、、 GIS中中SQL查询查询---例例1Select from whereGIS中中SQL查询例查询例2查世界地图属性表中有多少国家查世界地图属性表中有多少国家?总人口总人口?总面积总面积?5、、SQL 的多表查询功能的多表查询功能 1))多表的连接查询多表的连接查询 对数据库进行查询涉及到几张表时,称连接查询对数据库进行查询涉及到几张表时,称连接查询多表的连接查询多表的连接查询: 表格的连接查询其数据需要从多个表中获取,它实表格的连接查询其数据需要从多个表中获取,它实际上是将具有公共字段的表合并成一个表,再进行际上是将具有公共字段的表合并成一个表,再进行SELECT 查询。
查询 具体的说,在具体的说,在SELECT语句中语句中基表名多于一个;基表名多于一个; SELECT语句条件表达式中要添加语句条件表达式中要添加匹配不同表的记匹配不同表的记录的语句录的语句多表的连接查询例多表的连接查询例 多表多表连接查询连接查询:• 在在SELECT语句中语句中基表名多于一个;基表名多于一个;• SELECT语句条件表达式中要添加语句条件表达式中要添加匹配不同表的记录匹配不同表的记录的语句如如查出美国地图数据中总人口大于查出美国地图数据中总人口大于1000万万 且洲府人口且洲府人口大于大于20万的洲万的洲 SELECT * FROM States, Statecap WHERE States.state = Statecap .State and States.pop_1990>10000000 and Statecap.pop_1990 >2000002)) SQL 的嵌套查询功能的嵌套查询功能 SQL的嵌套查询是指在的嵌套查询是指在SQL查询语句的查询语句的where功能功能中嵌入另一个中嵌入另一个SELECT查询子语句。
查询子语句 当进行当进行SQL的嵌套查询时,自下而上的嵌套查询时,自下而上 (由里向外由里向外)的进行的进行,,即通常首先进行即通常首先进行SELECT的子查询,而后再的子查询,而后再作进一步的查询这种层层嵌套方式,真是作进一步的查询这种层层嵌套方式,真是SQL“结结构化构化”的含义 嵌套查询功能例嵌套查询功能例例例 Mapinfo中的嵌套查询中的嵌套查询求世界地图中同伊拉克处于同一州的国家求世界地图中同伊拉克处于同一州的国家 SELECT country,continent FROM world WHERE continent = (select continent from world where country=“Iraq”) 首先求出伊拉克处于那个州;首先求出伊拉克处于那个州;之后之后求出同伊拉克处于同一州的国家求出同伊拉克处于同一州的国家6、非标准、非标准SQL查询查询 非标准非标准SQL查询主要指对空间数据的查询查询主要指对空间数据的查询. 在在Mapinfo中表示在中表示在SELECT语句中增加了地理语句中增加了地理函数和地理运算符函数和地理运算符. 例例 Mapinfo中的嵌套查询中的嵌套查询 求美国求美国“I 10”号高速公路经过哪几个洲?号高速公路经过哪几个洲?• 先先美国高速公路中美国高速公路中找出找出 “I10”号高速公路;号高速公路;• 再找再找“I 10”号高速公路经过哪几个洲号高速公路经过哪几个洲。
Where States.obj contains Us_Hiway.obj and (States.obj Intersect (Select obj from Us_Hiway whereus_Hiway.highway= “I 10”))地地 理理 运运 算算 符符从选择出从选择出Us_Hiway中选出中选出I 10实现求交实现求交将两表建立联系将两表建立联系(三)、面向对象的数据库管理系统(三)、面向对象的数据库管理系统 面向对象的数据库管理系统被称为第三代数据库面向对象的数据库管理系统被称为第三代数据库系统,它吸取了面向对象程序设计概念和思想系统,它吸取了面向对象程序设计概念和思想 它支持面向对象的数据模型和传统数据库系统所它支持面向对象的数据模型和传统数据库系统所有的数据库特征有的数据库特征 它自它自1989年出现曾很活跃,试图成为标准,但未年出现曾很活跃,试图成为标准,但未成气候1、面向对象的数据库管理系统的特点、面向对象的数据库管理系统的特点• 能完整的描述现实世界的数据结构,表达数据间的能完整的描述现实世界的数据结构,表达数据间的嵌套、递归。
嵌套、递归• 利用面向对象的技术的封装性,继承性,从提高了利用面向对象的技术的封装性,继承性,从提高了软件的可重用性软件的可重用性2 2、面向对象数据库系统的实现、面向对象数据库系统的实现l以关系数据库和以关系数据库和SQLSQL为基础的扩展关系型为基础的扩展关系型 例如美国加州伯克利分校的例如美国加州伯克利分校的POSRGRESPOSRGRES就是以就是以INGRESINGRES关关系数据库系统为基础,扩展了抽象数据类型系数据库系统为基础,扩展了抽象数据类型ADT(AbstractADT(Abstract Data Type) Data Type),具有面向对象的特性具有面向对象的特性l以面向对象的程序设计语言为基础以面向对象的程序设计语言为基础, , 支持面向对象模支持面向对象模型 例如美国例如美国OntologicOntologic公司的公司的OntosOntos是以面向对象程是以面向对象程序设计语言序设计语言C++C++为基础的为基础的l建立新的面向对象数据库系统,支持面向对象数据模建立新的面向对象数据库系统,支持面向对象数据模型 例如法国例如法国O2 Technology O2 Technology 公司的公司的O2O2。
(四)、对象(四)、对象---关系数据库技术关系数据库技术 对象对象---关系数据库是介于关系数据库系统和关系数据库是介于关系数据库系统和对对象数据库管理系统中间,由象数据库管理系统中间,由关系数据库系统和关系数据库系统和面向面向对象的数据库管理系统结合而成的数据库管理系统对象的数据库管理系统结合而成的数据库管理系统1、对象、对象---关系数据库的优点关系数据库的优点 对象对象---关系数据库除了具有关系数据库的特点外关系数据库除了具有关系数据库的特点外,将其进行扩充将其进行扩充,使其能直接存储和管理空间几何使其能直接存储和管理空间几何数据表现在:数据表现在:l 允许用户扩充基本数据类型允许用户扩充基本数据类型;l 支持支持SQL查询;查询;l 支持类、数据、函数的继承;支持类、数据、函数的继承;l 提供功能强大的同其它对象提供功能强大的同其它对象---关系集成的规则关系集成的规则系统2、对象、对象---关系数据库的实现方法关系数据库的实现方法l开发新的对象开发新的对象---关系数据库系统,不现实关系数据库系统,不现实l在现有关系数据库系统基础上,进行扩展:在现有关系数据库系统基础上,进行扩展:ü对关系数据库系统核心扩充,增加对象特性;对关系数据库系统核心扩充,增加对象特性;ü不改变关系数据库系统核心,而是在关系数据库不改变关系数据库系统核心,而是在关系数据库系统外提供对象系统外提供对象---关系应用编程接口,实现到关关系应用编程接口,实现到关系数据库系统的映象查询。
系数据库系统的映象查询l将关系数据库系统同其它对象将关系数据库系统同其它对象---关系数据库系统关系数据库系统或对象或对象---关系型引擎连接关系型引擎连接目前著名的对象目前著名的对象---关系数据库系统关系数据库系统如如ORACLE 8.0; INFORMIX 9.0(五)、网络数据库技术(五)、网络数据库技术1、数据库系统的三种主要结构模式、数据库系统的三种主要结构模式l单用户结构库式单用户结构库式l客户客户/服务器(服务器(C/S)结构模式)结构模式lWEB((B/S)结构模式)结构模式1)单用户结构库式单用户结构库式应用程序、应用程序、DBMS、数据、都在一台机器上,有一、数据、都在一台机器上,有一个用户独占个用户独占 将数据库系统分成前台的客户应用程序和后台的服务将数据库系统分成前台的客户应用程序和后台的服务部分,其间通过网络连接,由部分,其间通过网络连接,由客户机和服务器客户机和服务器共同完共同完成处理任务成处理任务 客户客户/服务器结构数据库管理系统的服务器结构数据库管理系统的核心是客户应用核心是客户应用程序只通过程序只通过SQL向服务器发服务请求,服务器完成任向服务器发服务请求,服务器完成任务后,将结果发回给客户应用程序,服务器的工作对务后,将结果发回给客户应用程序,服务器的工作对客户应用程序是透明的。
客户应用程序是透明的 2)客户)客户/服务器(服务器(C/S)结构模式)结构模式 服务器的任务服务器的任务l为多个用户管理和维护一个独立的数据库;为多个用户管理和维护一个独立的数据库;l管理并处理客户的请求;管理并处理客户的请求;l管理数据和系统的安全等管理数据和系统的安全等 客户的任务客户的任务l提供用户界面;提供用户界面;l建立同服务器的连接;建立同服务器的连接;l向服务器提交和接受请求;向服务器提交和接受请求;l数据的输入输出及验证等数据的输入输出及验证等 客户机(用户界面、应用程序)客户机(用户界面、应用程序) 数据库服务器数据库服务器 数据库数据库客户客户/服务器结服务器结构构数据库数据库3))WEB((B/S)数据库结构模式)数据库结构模式 WEB((B/S)数据库结构模式是构成)数据库结构模式是构成WEB的技的技术基础,是术基础,是WEB技术和数据库技术相结合的新技技术和数据库技术相结合的新技术。
它实现开发环境和应用环境的分离,用户端用术它实现开发环境和应用环境的分离,用户端用统一的浏览器代替客户软件统一的浏览器代替客户软件 用户通过浏览器的表单(用户通过浏览器的表单(FORM)向)向WEB服务服务器发送器发送HTTP 协议方式的请求,协议方式的请求, WEB服务器收服务器收到请求后向数据库服务器发请求,数据库服务器执到请求后向数据库服务器发请求,数据库服务器执行接收的请求,并将结果返回行接收的请求,并将结果返回WEB服务器WEB((B/S)数据库结构)数据库结构 浏览器浏览器WEB服务器服务器数据库数据库服务器服务器数据请求数据请求HTTP 协议请求协议请求返回数据返回数据结果结果返回返回 浏览器浏览器2、网络数据库技术(略)、网络数据库技术(略)网络信息系统中访问数据库技术网络信息系统中访问数据库技术 1))Microsoft提出了一系列访问数据库接口提出了一系列访问数据库接口ODBC((Open Database Connectivity,开放数据,开放数据库连接)技术库连接)技术2))Java数据库访问技术数据库访问技术 JDBC((Java Database Connectivity,,Java数据库数据库连接),作为连接),作为Java语言的数据库访问语言的数据库访问API四、空间数据库及其管理四、空间数据库及其管理空间数据库的理论和方法是空间数据库的理论和方法是GIS技术的核心。
技术的核心空间数据库模型是数据库中对数据的逻辑组织形式的空间数据库模型是数据库中对数据的逻辑组织形式的描述1 1、从数据管理的角度看、从数据管理的角度看GISGIS中数据的特点中数据的特点 数据量大,常要作查询,因此必需注意提高查询效数据量大,常要作查询,因此必需注意提高查询效率,如建立索引等;率,如建立索引等; 数据类型和关系复杂数据类型和关系复杂 常要记录拓扑关系;常要记录拓扑关系; GIS数据常具有非结构化特征,如描述线面状地物数据常具有非结构化特征,如描述线面状地物的长度不等;数据要嵌套;一个对象可能包含多个对的长度不等;数据要嵌套;一个对象可能包含多个对象一)、传统(一)、传统DBMS管理和空间数据管理管理和空间数据管理2 2、关系模型描述空间数据存在的问题、关系模型描述空间数据存在的问题l缺乏构造复杂对象的能力缺乏构造复杂对象的能力以记录为单位的数据模型不能很好的面向用户,不能描述嵌以记录为单位的数据模型不能很好的面向用户,不能描述嵌套和递归等复杂关系套和递归等复杂关系 l数据类型少数据类型少 不支持抽象数据类型不支持抽象数据类型如不能定义几何数据类型(点,线,面)和空间操作算子如不能定义几何数据类型(点,线,面)和空间操作算子(相交,包含等),无法完成地理意义上的分析查询;(相交,包含等),无法完成地理意义上的分析查询;l缺乏语义表达能力,即语义贫乏缺乏语义表达能力,即语义贫乏 它表达实体和它表达实体和 实体间关系只能在表内,实体间关系只能在表内,,,或通过公共值的跨或通过公共值的跨表连接表连接, 实现实现效率低,效率低,不利于建立数据的概念模型不利于建立数据的概念模型。
l表形式不适用表示图形数据表形式不适用表示图形数据图形数据涉及的坐标、属性、拓朴关系用表格表示使问题显图形数据涉及的坐标、属性、拓朴关系用表格表示使问题显得复杂化得复杂化(二)、空间数据管理系统的模式的类型(二)、空间数据管理系统的模式的类型1、全文件管理系统、全文件管理系统GIS应用应用1空间、属性空间、属性数据文件数据文件1GIS应用应用2空间、属性空间、属性数据文件数据文件2空间、属性空间、属性数据文件数据文件3将属性数据和空间数据均放将属性数据和空间数据均放在文件系统中进行管理在文件系统中进行管理程序依赖于数据文件的存储程序依赖于数据文件的存储结构,数据文件修改时,应结构,数据文件修改时,应用程序也随之改变用程序也随之改变全文件管理系统的优缺点全文件管理系统的优缺点优点:优点:((1)厂商可根据自己要求定义文件格式,管理数据;)厂商可根据自己要求定义文件格式,管理数据;((2)) 有利于存储非结构化不定长数据有利于存储非结构化不定长数据缺点缺点::它具有文件系统的缺点它具有文件系统的缺点((1)不利于数据查找,如系统开发者要编写程序实现)不利于数据查找,如系统开发者要编写程序实现数据的更新、查询;数据的更新、查询;((2)) 数据共享性等差。
数据共享性等差多个程序共享一数据文件时,文件的修改,需得到所多个程序共享一数据文件时,文件的修改,需得到所有应用的许可不能达到真正的共享,即数据项、记有应用的许可不能达到真正的共享,即数据项、记录项的共享录项的共享2、文件和关系数据库混合系统(、文件和关系数据库混合系统(Hybrid model) 文件和关系数据库混合系统文件和关系数据库混合系统是传统是传统GIS所用的方式所用的方式如如arcinfo ,mapinfo等等.系统中系统中,图形用数据文件存储,属性用关系数据库表图形用数据文件存储,属性用关系数据库表存储两者通过标识符相联结,存储两者通过标识符相联结,这种方式实际上不能建立真正意义上的空间数据库这种方式实际上不能建立真正意义上的空间数据库OID图形数据属性数据1)文件和关系数据库混合系统的模式)文件和关系数据库混合系统的模式文件和关系数据库混合应用文件和关系数据库混合应用GISGIS应用软件应用软件Arc/Info Arc/Info 图形用户界面图形用户界面ArcEdit属性用户界面属性用户界面Tables图形数据图形数据文件库文件库属性数据库属性数据库图形处理图形处理系统系统数据库管理数据库管理系统系统IDID2)文件和关系数据库混合系统的优缺点)文件和关系数据库混合系统的优缺点优点优点:lGIS 可通过可通过DBMS提供的高级编程语言的接口,提供的高级编程语言的接口,直接操纵属性数据,查询属性数据库,并在直接操纵属性数据,查询属性数据库,并在GIS的的用户界面下,显示查询结果。
用户界面下,显示查询结果l在在ODBC(Open DataBase Connectivity,开放式开放式数据库互连数据库互连)推出后,推出后,GIS软件商只需开发软件商只需开发GIS与与ODBC的接口软件,就可将属性数据与任何一个支的接口软件,就可将属性数据与任何一个支持持ODBC的的RDBMS连接这样用户可在一个界面连接这样用户可在一个界面下处理图形和属性数据下处理图形和属性数据缺点缺点:((1)属性数据和图形数据)属性数据和图形数据通过通过ID联系起来,使查询联系起来,使查询运算,模型操作运算速度慢;运算,模型操作运算速度慢;((2)) 数据分布和共享困难;数据分布和共享困难;((3)属性数据和图形数据分开存储,)属性数据和图形数据分开存储,数据的安全性、数据的安全性、一致性、完整性、并发控制以及数据损坏后的恢复一致性、完整性、并发控制以及数据损坏后的恢复方面缺少基本的功能方面缺少基本的功能;;((4)缺乏表示空间对象及其关系的能力缺乏表示空间对象及其关系的能力目前,空间数据管理正在逐步走出文件管理模目前,空间数据管理正在逐步走出文件管理模式式 3、全关系型数据库系统管理、全关系型数据库系统管理l基于基于关系模型关系模型的方式的方式,将图形数据按关系数据,将图形数据按关系数据模型组织。
模型组织l将图形数据的变长部分处理成将图形数据的变长部分处理成Binary Block字段字段(多媒体或变长文本)多媒体或变长文本) 图形数据和属性数据都用现有的关系数据图形数据和属性数据都用现有的关系数据库管理系统管理,管理数据库管理系统不作任库管理系统管理,管理数据库管理系统不作任何扩展,由何扩展,由GIS软件商在此基础上进行开发软件商在此基础上进行开发1)全关系型数据库系统两种模式:全关系型数据库系统两种模式:(1)基于基于关系模型关系模型组织图形数据组织图形数据要找出组成多边形的采样点要找出组成多边形的采样点坐标,涉及多个关系表,作坐标,涉及多个关系表,作多次连接投影运算多次连接投影运算多边形编号边号边长P1aP1bP1cP1dP1P2边号起结点号终结点号a17b21…结点号xy1..…2………C CN N E EBusiness Table Feature-IDColumn 1Column 2Geometry ID 101 1 102 2 103 3 … … Geometry TableGeometry IDETYPEX CoordinateY Coordinate1310.0010.001310.0015.001315.0015.001315.0010.001310.0010.0023100.00100.0023100.00150.0023150.00150.0023150.00100.0023100.00100.0023120.00120.00………… (2) 图形数据和属性数据统一存储在通用关系数据库图形数据和属性数据统一存储在通用关系数据库中,也就是说将图形文件转成关系存放在目前大部分中,也就是说将图形文件转成关系存放在目前大部分关系型数据库提供的二进制块中(即将图形数据的变关系型数据库提供的二进制块中(即将图形数据的变长部分处理成长部分处理成Binary二进制块二进制块Block字段)字段) 。
空间数据访问接口空间数据访问接口用户界面用户界面数据库访问接口数据库访问接口空间数据库空间数据库GISRDBMSBusiness TableFeature-IDColumn 1Column 2Geometry ID101 1102 2103 3… …Geometry TableGeometry IDBinary Geometry1(x,y,…,x,y)2(x,y,…,x,y)3(x,y,…,x,y)……Spatial Index TableGeometry IDIndex Key1 2 3 …… 2)全关系型数据库系统管理的优缺点)全关系型数据库系统管理的优缺点优点优点:((1)在全关系型数据库中加入了二进制数据块形式)在全关系型数据库中加入了二进制数据块形式省去大量关系连接操作省去大量关系连接操作,可提高查询速度;可提高查询速度;((2)便于数据的维护;)便于数据的维护;缺点缺点:((1)不定长记录造成存储效率的下降;)不定长记录造成存储效率的下降;((2)实现)实现SQL查询要附加接口;因此它只适用于功查询要附加接口;因此它只适用于功能简单的能简单的GIS4、对象、对象---关系型数据库系统关系型数据库系统(Extended Model) 采用通用关系数据库管理系统效率低,面向对象型采用通用关系数据库管理系统效率低,面向对象型空间数据库管理系统又不够成熟,随着空间信息系统空间数据库管理系统又不够成熟,随着空间信息系统的发展,许多数据库管理系统的软件商纷纷对关系数的发展,许多数据库管理系统的软件商纷纷对关系数据库进行扩充,使之能直接存储非结构化的空间数据,据库进行扩充,使之能直接存储非结构化的空间数据,形成对象形成对象------关系型数据库关系型数据库GISGIS系统。
系统§对象对象—关系型空间数据库是在标准的关系型空间数据库是在标准的RDBMS上加了一层空间数据管理专用模块上加了一层空间数据管理专用模块如如Oracle在其数据库中加入了在其数据库中加入了oralce Spatial 组件,以支持空间数据;组件,以支持空间数据;Informix为用户定义数据类型,提供了为用户定义数据类型,提供了Data Blade插件定义了操作点、线、面等空间对象插件定义了操作点、线、面等空间对象的函数,解决了空间数据的变长记录管理的函数,解决了空间数据的变长记录管理 DBMSDBMS软件商在软件商在RDBMSRDBMS中进行扩展,中进行扩展,使之能使之能直接存储和管理非结构化的直接存储和管理非结构化的空间数据,空间数据,如如Informix Informix 和和OracleOracle等等都推出了都推出了空间数据管理的专用模块空间数据管理的专用模块,,定义了操纵点、线、面、圆等空间定义了操纵点、线、面、圆等空间对象的API函数对象的API函数 主主要要解解决决空空间间数数据据的的变变长长记记录录的的管管理理,,效效率率比比二二进进制制块块的的管管理理高高得得多多,,但但仍仍没没有有解解决决对对象象的的嵌嵌套套问问题题,,空空间间数数据据结结构构不不能能由由用用户户定定义义,,用用户户不不能能根根据据GGIISS要要求求再再定定义义,,使用上受一定限制。
使用上受一定限制GISGIS应用应用空间数据管理的专空间数据管理的专用模块用模块 商用商用DBMSDBMS空间和属性空间和属性数据库数据库1)对象)对象---关系型空间数据库优点关系型空间数据库优点l 解决了空间数据的变长记录管理,使数据管理效率解决了空间数据的变长记录管理,使数据管理效率大大提高;大大提高;l 空间和属性之间联结有空间数据管理模块解决,不空间和属性之间联结有空间数据管理模块解决,不仅具有操作关系数据的函数,还具有操作图形的仅具有操作关系数据的函数,还具有操作图形的API函数函数;l 对象对象---关系型空间数据库是在标准的关系数据库关系型空间数据库是在标准的关系数据库上加一层空间数据管理模块;用该层功能将地理结构上加一层空间数据管理模块;用该层功能将地理结构查询语言转化成标准的查询语言转化成标准的SQL查询,空间数据查询速度查询,空间数据查询速度快 2)对象)对象---关系型空间数据库缺点关系型空间数据库缺点空间数据对象还不能有用户任意定义,用户使用受空间数据对象还不能有用户任意定义,用户使用受一定限制如定义的空间函数支持的对象不带拓扑一定限制。
如定义的空间函数支持的对象不带拓扑关系,用户不能定义关系,用户不能定义带拓扑关系的数据模型带拓扑关系的数据模型5、面向对象型、面向对象型数据库系统数据库系统 面向对象型空间数据库管理系统最适合空间数据面向对象型空间数据库管理系统最适合空间数据的表达和管理的表达和管理 1)面向对象型数据库系统的优点)面向对象型数据库系统的优点l支持变长记录,还支持对象的嵌套,信息的继承和支持变长记录,还支持对象的嵌套,信息的继承和聚集l面向对象数据库管理系统允许定义合适的数据结构面向对象数据库管理系统允许定义合适的数据结构和数据操作和数据操作 2)面向对象型数据库系统的缺点)面向对象型数据库系统的缺点l 不支持不支持SQL语言,在通用性上受局限语言,在通用性上受局限l 面向对象型空间数据库管理系统还不够成熟,价面向对象型空间数据库管理系统还不够成熟,价格又昂贵,目前在格又昂贵,目前在GIS领域还不通用领域还不通用6、空间数据的查询、空间数据的查询---扩展扩展SQL扩展扩展SQL是实现空间数据查询的一种方式,是实现空间数据查询的一种方式,为了实现对为了实现对空间数据的查询空间数据的查询它通过用户自定义类型和相关函数,为空它通过用户自定义类型和相关函数,为空间数据提供高层次的抽象。
如通过定义间数据提供高层次的抽象如通过定义多边形和相关函数,帮助判断多边形之多边形和相关函数,帮助判断多边形之间是否有公共边界等间是否有公共边界等 OpenGIS定义的有关扩展定义的有关扩展SQL的一些操作的一些操作基本函数基本函数SpatialReference基本坐标系基本坐标系Envelope 最小外接矩形最小外接矩形Export其它形式几何体其它形式几何体IsEmpty几何体是空集几何体是空集IsSimple 简单几何体简单几何体Boundary 几何体边界几何体边界拓扑拓扑/集合运算符集合运算符Equal 几何体相等几何体相等Disjoint几何体内部和边界均不相交几何体内部和边界均不相交Intersect 几何体不相交几何体不相交Touch几何体边界相交相邻又不相交几何体边界相交相邻又不相交Cross一条线和面的内部相交一条线和面的内部相交Within几何体内部不和另一几何体外部相交几何体内部不和另一几何体外部相交Contains 几何体包含另一几何体几何体包含另一几何体Overlap两个几何体内部有非空交集两个几何体内部有非空交集 OpenGIS定义的有关扩展定义的有关扩展SQL的一些操作(续)的一些操作(续) 空间分析空间分析 Distance 两个几何体间最短距离两个几何体间最短距离Buffer几何体的距离小于或等于指定几何体的点集合几何体的距离小于或等于指定几何体的点集合 ConvexHull几何体的最小闭包几何体的最小闭包Intersection 两个几何体的交集构成的几何体两个几何体的交集构成的几何体Union两个几何体的并集构成的几何体两个几何体的并集构成的几何体Difference几何体与给定几何体不安相交的部分几何体与给定几何体不安相交的部分 SymmDiff 两个几何体同对方互不相交两个几何体同对方互不相交例例1、查出中国的邻国有哪些?、查出中国的邻国有哪些?Select A1 Name As “中国的邻国中国的邻国“From Country A1, Country A2Where Touch (A1.Shape,,A2. Shape)=1 AND A2=“中中国国“其中谓词其中谓词Touch是是OGIS标准定义的拓扑谓词,用来检查标准定义的拓扑谓词,用来检查两个几何体边界相邻而不相交。
两个几何体边界相邻而不相交例例2、查出长江流经中国的哪些省?、查出长江流经中国的哪些省?Select R Name ,C NameFrom River R, Country CWhere Cross(R.Shape,,C. Shape)=1其中谓词其中谓词Cross 是是OGIS标准定义的拓扑谓词,用来检查标准定义的拓扑谓词,用来检查一条线和多边形是否相交一条线和多边形是否相交五、五、 空间数据的分层和空间数据索引机制空间数据的分层和空间数据索引机制1、、 空间数据的分层空间数据的分层 1)空间数据分层的方法)空间数据分层的方法按专题分层;按专题分层;按时间序列分层;按时间序列分层;按地面垂直高度按地面垂直高度2)空间数据按专题分层例)空间数据按专题分层例森林分布图森林分布图行政区图行政区图水系图水系图公路图公路图树种分布图树种分布图图层1 图层2 图层3 图层n2.空间索引机制空间索引机制§1)).定义:空间索引定义:空间索引就是指依据空间对象就是指依据空间对象的位置和形状或空间对象之间的某种空间的位置和形状或空间对象之间的某种空间关系按一定的顺序排列的一种数据结构,关系按一定的顺序排列的一种数据结构,其中包含空间对象的概要信息,如对象的其中包含空间对象的概要信息,如对象的标识、外接矩形及指向空间对象实体的指标识、外接矩形及指向空间对象实体的指针。
针 作为一种辅助性的空间数据结构,空间索作为一种辅助性的空间数据结构,空间索引介于空间操作算法和空间对象之间,它引介于空间操作算法和空间对象之间,它通过筛选作用,大量与特定空间操作无关通过筛选作用,大量与特定空间操作无关的空间对象被排除,从而提高空间操作的的空间对象被排除,从而提高空间操作的速度和效率空间索引的性能的优劣直接速度和效率空间索引的性能的优劣直接影响空间数据库和地理信息系统的整体性影响空间数据库和地理信息系统的整体性能,它是空间数据库和地理信息系统的一能,它是空间数据库和地理信息系统的一项关键技术项关键技术§常见大空间索引一般是自顶向下、逐级划常见大空间索引一般是自顶向下、逐级划分空间的各种数据结构空间索引,比较有分空间的各种数据结构空间索引,比较有代表性的包括代表性的包括BSP树、树、R树、树、R+树和树和CELL树等此外,结构较为简单的格网树等此外,结构较为简单的格网型空间索引有着广泛的应用型空间索引有着广泛的应用2)索引类型)索引类型 基本思想基本思想是将研究区域用横竖线条划分大是将研究区域用横竖线条划分大小相等和不等的格网,记录每一个格网所小相等和不等的格网,记录每一个格网所包含的空间实体。
当用户进行空间查询时,包含的空间实体当用户进行空间查询时,首先计算出用户查询对象所在格网,然后首先计算出用户查询对象所在格网,然后再在该网格中快速查询所选空间实体,这再在该网格中快速查询所选空间实体,这样一来就大大地加速了空间索引的查询速样一来就大大地加速了空间索引的查询速度 a. 格网型空间索引格网型空间索引 ::空间属性表空间属性表((Attribute Table,or Business Table)描述要素)描述要素的一般信息,如湖泊的深度,空间索引表(的一般信息,如湖泊的深度,空间索引表(Spatial Table)描)描述要素所在格网的信息,要素描述表(述要素所在格网的信息,要素描述表(Spatial Table)描述要)描述要素的点数,范围等信息,三张表通过素的点数,范围等信息,三张表通过FID((Feature ID)关联)关联 b)基于四叉树的格网索引)基于四叉树的格网索引§四叉树有两种:线形四叉树和层次四叉树四叉树有两种:线形四叉树和层次四叉树§对于线形四叉树而言,先采用对于线形四叉树而言,先采用MORTON编编码(码(peano键),然后根据空间对象覆盖键),然后根据空间对象覆盖的范围进行四叉树分割,如图,空间对象的范围进行四叉树分割,如图,空间对象E,它的最大最小范围,涉及到由叶结点,它的最大最小范围,涉及到由叶结点0开开始的始的4*4个结点,所以索引表个结点,所以索引表举例1Peano键集键集边长边长空间对空间对象象04E02D11A41F82C151B、、G57 E1315 GB4F612141A391102 D810C0145161720212367181922238912132425282910111415262730313233363748495253343538395051545540414445565760614243464758596263ABCD 空间索引空间索引空间对象空间对象 代码代码A 3B 13 B 15B 24-27B 37B 48C 35C 40-42D 61举例举例257 E1315 GB4F612141A391102 D810C0E0D4 8C121A4F15 GB BSP树是一种二叉树,它将空间逐级进行树是一种二叉树,它将空间逐级进行一分为二的划分。
一分为二的划分BSP树能很好地与空树能很好地与空间数据库中空间对象的分布情况相适应,间数据库中空间对象的分布情况相适应,但对一般情况而言,但对一般情况而言,BSP树深度较大,树深度较大,对各种操作均有不利影响对各种操作均有不利影响 C))BSP树空间索引树空间索引BSP树树 d))R树和树和R+树树 R树根据地物的最小外包矩形建立,可以直树根据地物的最小外包矩形建立,可以直接对空间中占据一定范围的空间对象进行索接对空间中占据一定范围的空间对象进行索引R树§由于由于R树兄弟结点对应的空间区域可以重叠,树兄弟结点对应的空间区域可以重叠,因此,因此,R树可以较容易地进行插入和删除操树可以较容易地进行插入和删除操作;但正因为区域之间有重叠,空间索引作;但正因为区域之间有重叠,空间索引可能要对多条路径进行搜索后才能得到最可能要对多条路径进行搜索后才能得到最后的结果,因此,其空间搜索的效率较低后的结果,因此,其空间搜索的效率较低 正是这个原因促使了正是这个原因促使了R+树的产生树的产生 在在R+树中,兄弟结点对应的空间区域没有树中,兄弟结点对应的空间区域没有重叠,而没有重叠的区域划分可以使空间重叠,而没有重叠的区域划分可以使空间索引搜索的速度大大提高;但由于在插入索引搜索的速度大大提高;但由于在插入和删除空间对象时要保证兄弟结点对应的和删除空间对象时要保证兄弟结点对应的空间区域不重叠,而使插入和删除操作的空间区域不重叠,而使插入和删除操作的效率降低。
效率降低R+树E))CELL树树§CELL树树 :考虑到:考虑到R树和树和R+在插入、删除和空间在插入、删除和空间搜索效率两方面难于兼顾,搜索效率两方面难于兼顾,CELL树应运而生它树应运而生它在空间划分时不再采用矩形作为划分的基本单位,在空间划分时不再采用矩形作为划分的基本单位,而是采用凸多边形来作为划分的基本单位,具体而是采用凸多边形来作为划分的基本单位,具体划分方法与划分方法与BSP树有类似之处,子空间不再相互树有类似之处,子空间不再相互覆盖CELL树的磁盘访问次数比树的磁盘访问次数比R树和树和R+树少,树少,由于磁盘访问次数是影响空间索引性能的关键指由于磁盘访问次数是影响空间索引性能的关键指标,故标,故CELL树是比较优秀的空间索引方法树是比较优秀的空间索引方法 CELL树采用标准采用标准DBMSDBMS存储空间数据的主要问题存储空间数据的主要问题 1)在)在GIS中,空间数据记录是变长的,而一般数据库要中,空间数据记录是变长的,而一般数据库要求记录为固定长度另外,在存储和维护空间数据拓求记录为固定长度另外,在存储和维护空间数据拓扑关系方面,扑关系方面,DBMS也存在着严重的缺陷。
也存在着严重的缺陷2))DBMS一般都难以实现对空间数据的关联、连通、一般都难以实现对空间数据的关联、连通、包含、叠加等基本操作包含、叠加等基本操作3))GIS需要一些复杂的图形功能,一般的需要一些复杂的图形功能,一般的DBMS不能支不能支持4)地理信息是复杂的,单个地理实体的表达需要多个)地理信息是复杂的,单个地理实体的表达需要多个文件、多条记录、或许包括大地网、特征坐标、拓扑文件、多条记录、或许包括大地网、特征坐标、拓扑关系、空间特征量测值、属性数据的关键字以及非空关系、空间特征量测值、属性数据的关键字以及非空间专题属性等,一般的间专题属性等,一般的DBMS也难以支持也难以支持5)具有高度内部联系的)具有高度内部联系的GIS数据记录需要更复杂的安全数据记录需要更复杂的安全性维护系统,否则一条记录的改变就会使其他数据文性维护系统,否则一条记录的改变就会使其他数据文件产生错误一般的件产生错误一般的DBMS都难以保证这些都难以保证这些GISGIS数据管理方法主要数据管理方法主要4 4种类型种类型1)对不同的应用模型开发独立的数据管理服务,这是一种基)对不同的应用模型开发独立的数据管理服务,这是一种基于文件管理的处理方法。
于文件管理的处理方法2)在商业化的)在商业化的DBMS基础上开发附加系统开发一个附加软基础上开发附加系统开发一个附加软件用于存储和管理空间数据和空间分析,使用件用于存储和管理空间数据和空间分析,使用DBMS管理属管理属性数据3)使用现有的)使用现有的DBMS,通常是以,通常是以DBMS为核心,对系统的功为核心,对系统的功能进行必要扩充,空间数据和属性数据在同一个能进行必要扩充,空间数据和属性数据在同一个DBMS管理管理之下需要增加足够数量的软件和功能来提供空间功能和图之下需要增加足够数量的软件和功能来提供空间功能和图形显示功能形显示功能4)重新设计一个具有空间数据和属性数据管理和分析功能的)重新设计一个具有空间数据和属性数据管理和分析功能的数据库系统数据库系统 关于空间数据管理小结。
