空间数据管理-空间数据库.ppt

上传人:wuy****n92 文档编号:80415074 上传时间:2023-03-23 格式:PPT 页数:169 大小:2.48MB
返回 下载 相关 举报
空间数据管理-空间数据库.ppt_第1页
第1页 / 共169页
空间数据管理-空间数据库.ppt_第2页
第2页 / 共169页
点击查看更多>>
资源描述

《空间数据管理-空间数据库.ppt》由会员分享,可在线阅读,更多相关《空间数据管理-空间数据库.ppt(169页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第三章:空间数据管理第三章:空间数据管理一、前言一、前言1.数据管理的几个阶段数据管理的几个阶段人工管理阶段人工管理阶段文件系统阶段文件系统阶段数据库阶段数据库阶段高级数据库阶段高级数据库阶段1)人工管理阶段人工管理阶段(五十年代中期以前)(五十年代中期以前)(1)没有专用的软件对数据进行管理;)没有专用的软件对数据进行管理;(2)没有文件的概念;)没有文件的概念;(3)数据是面向应用的,不共享。)数据是面向应用的,不共享。2)文件管理阶段文件管理阶段(1)数据可以长期保存在文件中;)数据可以长期保存在文件中;(2)由文件系统管理数据;)由文件系统管理数据;(3)数据共享性差,冗余度大;)数据

2、共享性差,冗余度大;(4)数据独立性差。)数据独立性差。数据独立性的含义数据独立性的含义(1)物理独立性物理独立性:用户的应用程序不会因为物理表示和:用户的应用程序不会因为物理表示和访问技术的改变而改变。访问技术的改变而改变。(2)逻辑独立性逻辑独立性:用户的应用程序与数据库的逻辑结构:用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变。户程序也可以不变。应用程序应用程序3应用程序应用程序2应用程序应用程序1文件文件1文件文件2存存取取方方法法 3)数据库阶段数据库阶段 特点:特点:(1)数据结构化是

3、数据库与文件系统的根本区别;)数据结构化是数据库与文件系统的根本区别;(2)数据的共享性高,冗余度低,易扩展;)数据的共享性高,冗余度低,易扩展;(3)数据独立性高;)数据独立性高;(4)数据库系统为用户提供了方便的用户接口;)数据库系统为用户提供了方便的用户接口;(5)数据由)数据由DBMS统一管理和控制。统一管理和控制。数据的安全(数据的安全(Security)保护)保护数据的完整性(数据的完整性(Integrity)检查)检查并发(并发(Concurrency)控制)控制数据库恢复(数据库恢复(Recovery)数据库系统阶段数据库系统阶段应用程序应用程序3应用程序应用程序2应用程序应用

4、程序1DBMS数据数据数据数据数据数据数据数据数据数据数据数据数据数据数据数据各阶段的各阶段的比较比较阶段阶段 人工管理阶段人工管理阶段 文件处理文件处理阶段阶段 数据库系统数据库系统时间时间 50 50年代年代 60 60年代年代 70 70年代年代数据共享性数据共享性 无共享无共享 共享差共享差 共享好共享好 数据独立性数据独立性 无独立性无独立性 独立性差独立性差 物理独立性高物理独立性高 一定逻辑独立性一定逻辑独立性数据结构化数据结构化 无结构化无结构化 纪录内有结构纪录内有结构 整体结构化整体结构化 整体结构化差整体结构化差 用数据摸型描述用数据摸型描述 4)高级数据库阶段高级数据库

5、阶段 分布式数据库分布式数据库空间数据库空间数据库面向对象数据库面向对象数据库数据仓库数据仓库2.数据文件数据文件常用的数据文件常用的数据文件顺序文件、索引文件、随机文件、顺序文件、索引文件、随机文件、倒排文件。倒排文件。GIS中常自定义数据文件来组织空间数据中常自定义数据文件来组织空间数据。1)、顺序文件(、顺序文件(SequentialFile)最简单的文件组织形式顺序文件中数据按记最简单的文件组织形式顺序文件中数据按记录中主关键字的顺序组织。录中主关键字的顺序组织。顺序文件的记录,逻辑上是按主关键字排序顺序文件的记录,逻辑上是按主关键字排序的,而在物理存储上可以有不同的方式,包括:的,而

6、在物理存储上可以有不同的方式,包括:向量方式、链方式、块方式。向量方式、链方式、块方式。盘地址盘地址关键字关键字数据项数据项4200100142051002421010034215100410031004100210014210420042054215顺序文件的查找主要为顺序查找、折半查找等顺序文件的查找主要为顺序查找、折半查找等向量方式向量方式:逻辑结构同物理结构一致;逻辑结构同物理结构一致;链方式链方式:通过指针连结逻辑顺序;通过指针连结逻辑顺序;块方式块方式:上述两种方式的结合(块内是向量方式上述两种方式的结合(块内是向量方式,块间是链方,块间是链方式式)物理地址逻辑地址内容链方式链方式

7、 存储内容包括:存储内容包括:1.记录本身(主文件)记录本身(主文件)2.若干索引表若干索引表 这种带有索引表的文件叫这种带有索引表的文件叫索引文件索引文件。2)索引文件索引文件(Index File)索引表中列出:索引表中列出:1.记录的关键字记录的关键字 2.记录在文件中的位置(地址)。记录在文件中的位置(地址)。弧段号弧段号左多边形左多边形右多边形右多边形弧段坐标数据弧段坐标数据13502023402031201401302弧段数据文件弧段数据文件弧段号弧段号物理地址物理地址17421263214302弧段索引表弧段索引表如已知一多边形坐标数据文件,可建立索引文件如已知一多边形坐标数据文

8、件,可建立索引文件多边形号多边形号坐标点数坐标点数1001102x1y1X2y2x3y3.x101y101x1y120065x1y1x2y2.x64y64x1y1200686x1y1索引文件索引文件 索引有序文件索引有序文件多边形号多边形号 物理地址物理地址 多边形号多边形号 物理地址物理地址1001 2001002 200 100110032006 2006有序有序无序无序读取记录时,只要提供记录的关键字值,系读取记录时,只要提供记录的关键字值,系统通过查找索引表获得记录的位置,然后取统通过查找索引表获得记录的位置,然后取出该记录。出该记录。索引表一般都是经过排序的,也可以是非顺索引表一般都

9、是经过排序的,也可以是非顺序的;可以是单级索引,也可以是多级索引,序的;可以是单级索引,也可以是多级索引,多级索引可以提高查找速度,但占用的存储多级索引可以提高查找速度,但占用的存储空间较大空间较大.3)、随机文件()、随机文件(Direct Access File)随机文件又称随机文件又称直接文件直接文件,其存储是根据记录,其存储是根据记录关键字的值,通过某种转换方法得到一个物理关键字的值,通过某种转换方法得到一个物理存储位置,然后把记录存储在该位置上。查找存储位置,然后把记录存储在该位置上。查找时,通过同样的转换方法,可以直接得到所需时,通过同样的转换方法,可以直接得到所需要的记录要的记录

10、。通过通过HASH函数(哈希函数)函数(哈希函数)把关键字转换为地址进行存取的文件。把关键字转换为地址进行存取的文件。D=F(Key)哈希函数哈希函数倒排文件倒排文件是带有辅索引的文件,其中辅索引是按是带有辅索引的文件,其中辅索引是按照一些辅关键字来组织索引的(注意:索引文件照一些辅关键字来组织索引的(注意:索引文件是按照记录的主关键字来构造索引的,也叫主索是按照记录的主关键字来构造索引的,也叫主索引)。引)。倒排文件是一种多关键字的索引文件,其中的索倒排文件是一种多关键字的索引文件,其中的索引不能唯一标识记录,往往同一索引指向若干记引不能唯一标识记录,往往同一索引指向若干记录。通过辅索引不能

11、直接读取记录,而要通过主录。通过辅索引不能直接读取记录,而要通过主关键字才能查到记录的位置。关键字才能查到记录的位置。4)倒排文件)倒排文件(Inverted File)倒排文件的主要优点:倒排文件的主要优点:在处理多索引检索时,可以在辅检索中先完成查在处理多索引检索时,可以在辅检索中先完成查询的询的交交、并并等逻辑运算,得到结果后再等逻辑运算,得到结果后再对记录进行存取,从而提高查找速度对记录进行存取,从而提高查找速度.地段号地段号地貌类型地貌类型坡度坡度坡向坡向利用现状利用现状1缓坡缓坡5-10半阴半阴林地林地2垣面垣面15阳阳牧地牧地4沟道沟道15阴阴牧地牧地8垣面垣面3阳阳农地农地9宽

12、梁顶宽梁顶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数据是持久的

13、数据是持久的l数据是集成的数据是集成的l数据是共享的数据是共享的l 数据按一定的数据模型组织、描述和储存数据按一定的数据模型组织、描述和储存3、数据库(、数据库(Database,简称,简称DB)应用程序应用程序1应用程序应用程序2应用程序应用程序34、数据库管理系统(、数据库管理系统(DBMS)DBMS(DataBase Management System)是位是位于用户与操作系统之间的一层数据管理软件,它于用户与操作系统之间的一层数据管理软件,它提提供了数据库的访问接口。供了数据库的访问接口。DBMS的主要功能的主要功能:l数据定义功能数据定义功能l数据操作功能数据操作功能l数据库运行管理

14、(恢复、并发控制、安全性、完整性)数据库运行管理(恢复、并发控制、安全性、完整性)l数据库的建立和维护功能数据库的建立和维护功能DBMS的目的:的目的:提供方便地、有效地存取数据库信息的环境。提供方便地、有效地存取数据库信息的环境。硬件硬件应用开发系统应用开发系统DBMS操作系统操作系统DBMS在信息系统中的位置在信息系统中的位置5、数据库系统(数据库系统(Database System DBS)数据库系统是指在计算机系统中引入数据库后的数据库系统是指在计算机系统中引入数据库后的系统,包括:系统,包括:数据库数据库 数据库管理系统(及其开发工具)数据库管理系统(及其开发工具)应用系统应用系统

15、数据库管理员数据库管理员 用户用户DBS=DB+DBMS+APPLICATION+DBA+USERDatabase Administrator数数据据库库系系统统构构成成数据库数据库最终用户最终用户应用系统应用系统应用开发工具应用开发工具DBMS操作系统操作系统数据库管理员数据库管理员应用程序员应用程序员小知识点:文件处理系统和数据库管理系统小知识点:文件处理系统和数据库管理系统数据定义使用特定的数据结构定义,利用文数据定义使用特定的数据结构定义,利用文件形式存储,称之为文件处理系统。件形式存储,称之为文件处理系统。文件处理系统文件处理系统 文件处理系统缺点:文件处理系统缺点:首先每个应用程序

16、都必须直接访问所使用首先每个应用程序都必须直接访问所使用的数据文件,应用程序完全依赖于数据文的数据文件,应用程序完全依赖于数据文件的存储结构,数据文件修改时应用程序件的存储结构,数据文件修改时应用程序也随之修改;也随之修改;其次的是数据文件的共享程度差;其次的是数据文件的共享程度差;另外缺乏集中控制也会带来一系列数据库另外缺乏集中控制也会带来一系列数据库的安全问题。的安全问题。数据库管理系统(数据库管理系统(Database Management System,DBMS)是在文件处理系统的基础)是在文件处理系统的基础上进一步发展的系统。上进一步发展的系统。数据库管理系统数据库管理系统 可以认为

17、,可以认为,DBMSDBMS在用户应用程序和数据文在用户应用程序和数据文件之间起到了桥梁作用。件之间起到了桥梁作用。DBMS优点:优点:DBMS优点是提供了数据独立性,即应用优点是提供了数据独立性,即应用程序访问数据文件时,不必知道数据文件程序访问数据文件时,不必知道数据文件的物理存储结构。当数据文件的存储结构的物理存储结构。当数据文件的存储结构改变时,不必改变应用程序改变时,不必改变应用程序。空间数据库空间数据库指的是地理信息系统在计算机指的是地理信息系统在计算机物理存储介质上存储的与应用相关的地理物理存储介质上存储的与应用相关的地理空间数据的总和,一般以特定结构的文件空间数据的总和,一般以

18、特定结构的文件的形式组织在存储介质之上的。的形式组织在存储介质之上的。空间数据库管理系统空间数据库管理系统则是指对物理介质上则是指对物理介质上存储的地理空间数据进行语义和逻辑上的存储的地理空间数据进行语义和逻辑上的定义,提供必需的空间数据查询检索和存定义,提供必需的空间数据查询检索和存取功能,以及能够对空间数据进行有效的取功能,以及能够对空间数据进行有效的维护和更新的一套软件系统。维护和更新的一套软件系统。小知识点:空间数据库与空间数据库管理系统小知识点:空间数据库与空间数据库管理系统二、空间数据模型二、空间数据模型传统的地理数据模型传统的地理数据模型1)层次模型)层次模型 树数据结构树数据结

19、构 描述了各类客体及客体之间的联系。描述了各类客体及客体之间的联系。然而,层次模型限制每个客体类最多只能有然而,层次模型限制每个客体类最多只能有一个双亲客体类,而一个双亲客体则可有多一个双亲客体类,而一个双亲客体则可有多个子女客体类。个子女客体类。双亲和子女客体类之间即形成了所谓的层次双亲和子女客体类之间即形成了所谓的层次关系。关系。优点优点:层次分明,组织有序;层次分明,组织有序;缺点:缺点:数据独立性较差;难以表达多对多的关系;导数据独立性较差;难以表达多对多的关系;导致数据冗余致数据冗余N1N4 N1N3 N3N4 N1N4 N2N4 N1N2 N2N4 N3N4 N2N3 ABCa3

20、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年代后主导数据库是基于年代后主导数据库是基于关系模型。关系模型。关系模型的关系模型的理论基础是关系理论,它通过关系运算操作数据。理论基础是关系

21、理论,它通过关系运算操作数据。优点:概念简单,结构灵活,易理解,易维护;有标优点:概念简单,结构灵活,易理解,易维护;有标准的关系查询语言准的关系查询语言SQL支持。支持。缺点:不适合描述非结构特征数据缺点:不适合描述非结构特征数据A a3 a4 a6Ba1 a3 a5Ca2 a5 a6a1N1 N2a2N2 N3a3N1 N4a4N1 N3a5N2 N4a6N3 N4ABC a1 a2a3 a4 a5 a6 N1N2N3N4关系模型中的有关概念关系模型中的有关概念 关系关系:关系是一个二维表,表的每行对应一个元组,表的每关系是一个二维表,表的每行对应一个元组,表的每一列对应一个域。一列对应一

22、个域。关键字关键字:关系中的某一属性组,若它的值唯一地标识了一个关系中的某一属性组,若它的值唯一地标识了一个元组,则称该属性组为候选关键字。若一个关系中有多个元组,则称该属性组为候选关键字。若一个关系中有多个候选关键字,则选定一个为主关键字。候选关键字,则选定一个为主关键字。关系数据库关系数据库:一系列关系的集合构成一个关系数据库。关系一系列关系的集合构成一个关系数据库。关系数据库有型、值之分。数据库有型、值之分。关系完整性关系完整性:即指关系的正确性、相容性和有效性。它是给即指关系的正确性、相容性和有效性。它是给定的关系模型中数据及其联系的所有制约和依存规则,用定的关系模型中数据及其联系的所

23、有制约和依存规则,用以限定数据库状态及状态变化,从而保证数据的正确、相以限定数据库状态及状态变化,从而保证数据的正确、相容和有效。容和有效。关系模型的完整性有三类:实体的完整性、关系模型的完整性有三类:实体的完整性、参照完整性和用户定义的完整性参照完整性和用户定义的完整性 范式范式:关系满足某种规范化的形式称为范式。:关系满足某种规范化的形式称为范式。从一个低一级范式的关系模式,通过模式从一个低一级范式的关系模式,通过模式分解转换为若干个高一级关系模式集合的分解转换为若干个高一级关系模式集合的过程,叫做过程,叫做规范化规范化。第一范式第一范式:关系中的每个属性是原子的、:关系中的每个属性是原子

24、的、不可分割的数据项。在关系数据库中,若不可分割的数据项。在关系数据库中,若一个关系模式满足一个关系模式满足1NF,它就是合法的。,它就是合法的。非第一范式关系表PolygonARCSPolygon1ARC#ARC-LENGTHArc1100Arc2133Arc3150Polygon2Arc1100Arc4166第一范式关系表POLYGON#ARC#ARC-LENGTHPolygon1Arc1100Polygon1Arc2133Polygon1Arc3150Polygon2Arc1100Polygon2Arc4166 第二范式:第二范式:是指关系在满足是指关系在满足1NF的基础上,的基础上,每

25、一个非主属性每一个非主属性完全完全函数依赖于该关系的函数依赖于该关系的关键字。即当一个非关键字字段关键字。即当一个非关键字字段部分部分地函地函数依赖于关键字时,就违反了数依赖于关键字时,就违反了2NF。分解为第二范式分解为第二范式的关系表的关系表*学生学号学生学号学生姓名学生姓名性别性别课程名称课程名称籍贯籍贯成绩成绩*学生学号学生学号学生姓名学生姓名性别性别*课程名称课程名称籍贯籍贯成绩成绩*学生学号学生学号非第二范式关系表非第二范式关系表第三范式第三范式:指关系在满足第二范式的基础:指关系在满足第二范式的基础上,其非关键字属性(即非主属性)既非上,其非关键字属性(即非主属性)既非函数依赖,

26、也不传递依赖于关键字,即属函数依赖,也不传递依赖于关键字,即属于于3NF的关系,其非关键字属性之间都是的关系,其非关键字属性之间都是独立的,不存在函数依赖关系独立的,不存在函数依赖关系非第三范式关系中非第三范式关系中的传递依赖的传递依赖*生学号生学号学生姓名学生姓名性别性别分解成两个第三范分解成两个第三范式关系式关系学生所在系学生所在系出生日期出生日期籍贯籍贯系所在地点系所在地点*生学号生学号学生姓名学生姓名性别性别学生所在系学生所在系出生日期出生日期籍贯籍贯系所在地点系所在地点*学生所在系学生所在系传统数据模型存在的主要问题传统数据模型存在的主要问题(黄杏元,地黄杏元,地理信息系统概论理信息

27、系统概论)1.以记录为基础的结构不能很好的面向用户和应用以记录为基础的结构不能很好的面向用户和应用2.不能以自然的方式表示客体之间的联系不能以自然的方式表示客体之间的联系3.语义贫乏语义贫乏4.数据类型太少,难以满足应用需要数据类型太少,难以满足应用需要面向对象的地理数据模型(自学)面向对象的地理数据模型(自学)1、概念、概念 a.基本思想基本思想:面向对象的基本思想是通过面向对象的基本思想是通过对问题领域进行自然分割,用更接近人类对问题领域进行自然分割,用更接近人类通常思维的方式建立问题领域的模型,并通常思维的方式建立问题领域的模型,并进行结构模拟和行为模拟,从而使设计出进行结构模拟和行为模

28、拟,从而使设计出的软件能尽可能地直接表现出问题的求解的软件能尽可能地直接表现出问题的求解过程过程。b.一些术语的基本概念一些术语的基本概念:对象对象对象标识对象标识对象状态对象状态对象功能对象功能私有消息私有消息公有消息公有消息PolygonobjectarcobjectFunction(perimeter)类类消息消息方法方法2.面向对象数据模型的四种核心技术面向对象数据模型的四种核心技术n 分类分类n 概括概括n 聚集聚集n 联合联合空间对象类空间对象类多边形对象类多边形对象类弧段对象类弧段对象类Is a图层对象类图层对象类多边形对象类多边形对象类弧段对象类弧段对象类Is-part-of3

29、、面向对象的地理数据模型和数据结构、面向对象的地理数据模型和数据结构 a.基本含义基本含义:(见课本)面向对象的地理模型的核心是对面向对象的地理模型的核心是对复杂对复杂对象象的模拟和操作的模拟和操作 b.复杂对象定义及其特点:复杂对象定义及其特点:面向对象的地理模型的核心是对面向对象的地理模型的核心是对复杂对复杂对象象的模拟和操作的模拟和操作 定义定义:所谓复杂对象是指具有复杂结构:所谓复杂对象是指具有复杂结构和操作的对象。复杂对象可以由多种关系和操作的对象。复杂对象可以由多种关系聚合抽象而成,或由不同类型的对象构成,聚合抽象而成,或由不同类型的对象构成,或具有复杂的嵌套关系等。或具有复杂的嵌

30、套关系等。复杂对象的特点复杂对象的特点:一个复杂对象由多个成员对象构成,每个一个复杂对象由多个成员对象构成,每个成员对象又可参与其他对象的构成成员对象又可参与其他对象的构成具有多种数据结构具有多种数据结构一个复杂对象的不同部分可由不同的数据一个复杂对象的不同部分可由不同的数据模型所支持模型所支持。c.面向对象地理模型的特点面向对象地理模型的特点可充分利用现有数据模型的优点可充分利用现有数据模型的优点具有可扩充性具有可扩充性可以模拟和操纵复杂对象可以模拟和操纵复杂对象d.GIS中面向对象的数据模型和数据结构中面向对象的数据模型和数据结构 在在GIS的面向对象的数据结构中,通常可以把的面向对象的数

31、据结构中,通常可以把空间数据抽象为点、线、面三种简单的地物类型,空间数据抽象为点、线、面三种简单的地物类型,作为三种简单对象作为三种简单对象:点状地物点状地物 线状地物线状地物 面状地物面状地物一个地理实体可以由这三种简单对象之一构成,复杂的地理实体可以由多种简单对象构成,甚至可以由其他复杂对象构成工作区工作区1工作区工作区2工作区工作区3工作区工作区n图层图层1图层图层2图层图层3图层图层n地物地物1地物地物2地物地物3地物地物n点状地物点状地物线状地物线状地物面状地物面状地物标识码标识码属性表属性表结点结点弧段弧段标识码标识码注记注记属性表属性表结点坐标结点坐标始点始点终点终点左面左面右面

32、右面标识码标识码三、三、空间数据管理中的数据库技术空间数据管理中的数据库技术(一)、关系数据库技术(一)、关系数据库技术1970年年IBM公司的提出了关系模型理论,奠定了关系公司的提出了关系模型理论,奠定了关系数据库的理论基础;数据库的理论基础;20世纪世纪70年代末,年代末,IBM公司在公司在IBM370系列机上成功系列机上成功实现了原型系统实现了原型系统SystemR;20世纪世纪80年代以来,年代以来,关系数据库成为关系数据库成为数据库数据库主流主流。1、关系数据模型的数据结构、关系数据模型的数据结构关系数据库系统是建立在关系模型上的数关系数据库系统是建立在关系模型上的数据库系统;据库系

33、统;在关系模型中,现实世界中的实体以及实在关系模型中,现实世界中的实体以及实体间的各种联系均用关系表示;体间的各种联系均用关系表示;关系数据库是表的集合。关系数据库是表的集合。l关系模式关系模式:关系名关系名(属性属性1,1,属性属性2.2.属性属性n)n)l关系关系:通常说的表通常说的表;l元组元组:关系表中的一行关系表中的一行;l属性属性:关系表中的一列关系表中的一列;l主码主码:能唯一确定元组的某属性组能唯一确定元组的某属性组;l域域:属性的取值范围属性的取值范围;l分量分量:元组中的一个属性值元组中的一个属性值 关系数据模型的数据结构为关系数据模型的数据结构为:地块号地块号面积面积km

34、2使用类使用类型型植被植被10010.3绿化绿化草地草地10020.5小区小区树木树木10030.8绿化绿化灌木灌木关系模式关系模式:土地利用土地利用(地块号、面积、使用类型、植被)地块号、面积、使用类型、植被)关关系系 属性属性元元组组2 2、关系的基本性质、关系的基本性质1)列列是是同同质质的的(Homogeneous),即即每每一一列列中中的的分量是同一类型的数据,来自同一个域。分量是同一类型的数据,来自同一个域。3)列的顺序无所谓,即列的次序可以任意交换。)列的顺序无所谓,即列的次序可以任意交换。3)任意两个元组不能完全相同。)任意两个元组不能完全相同。4)行的顺序无所谓,即行的次序可

35、以任意交换。)行的顺序无所谓,即行的次序可以任意交换。5)分分量量必必须须取取原原子子值值,即即每每一一个个分分量量都都必必须须是是不不可可分的数据项。分的数据项。(二)、(二)、SQL查询语言(查询语言(结构化查询语言)结构化查询语言)数据库的核心应用是数据库的查询,查询语言从数数据库的核心应用是数据库的查询,查询语言从数据库中请求获取信息的语言,据库中请求获取信息的语言,是过程化的查询语言。是过程化的查询语言。SQL(StructureQueryLanguage)是数据库查询语是数据库查询语言,言,1986年由美国国家标准化协会(年由美国国家标准化协会(ANSIAmericanNation

36、alStandardsInstitute),国际标准化组织),国际标准化组织(ISOInternationalOrganizationforStandardization)批准作为批准作为关系数据库关系数据库查询标准语言查询标准语言。1、SQL查询语言概述查询语言概述1)SQL查询语言的发展查询语言的发展SQL-86、SQL-89、SQL-92(SQL2)、SQL-99(SQL3)SQL数据库查询语言已是国际标数据库查询语言已是国际标准准,大部分,大部分DBMS产品都支持产品都支持SQL,成为操作数据库的标准语言。,成为操作数据库的标准语言。它对其它领域产生很大影响。它对其它领域产生很大影响。

37、它是综合的、通用的、功能强、简单易学的语言。它是综合的、通用的、功能强、简单易学的语言。2)SQL查询语言的主要功能查询语言的主要功能SQL提供的主要功能包括:提供的主要功能包括:数据的定义;数据的定义;数据的操作;数据的操作;数据的控制;数据的控制;数据的查询。数据的查询。SELECT的简单查询功能是对一个数据库表进行查的简单查询功能是对一个数据库表进行查询,以便选择表中某些列或某些行。询,以便选择表中某些列或某些行。2、SQL查询语言中核心查询语言中核心SELECT语句语句 SQL查询语言中查询语言中数据的查询动词是数据的查询动词是SELECT1)SELECT的简单查询功能的简单查询功能当

38、数据库查询只涉及到一张表时,查询的目的是选当数据库查询只涉及到一张表时,查询的目的是选择符合条件的某些列或行。择符合条件的某些列或行。SELECT语句的一般形式为:语句的一般形式为:ALL *SELECT DISTINCT 选择表选择表 FROM 基表名基表名 WHERE 条件表达式条件表达式 GROUP BY 列名列名1 HAVING条件表达式条件表达式 ORDER BY 列名列名2 ASC DESC对查询结果对查询结果列名列名排序排序选择形成的结果表选择形成的结果表对查询结果按列名对查询结果按列名分组分组目标列表达式目标列表达式所查询的表所查询的表查询条件查询条件根据根据WHERE子句的条

39、件表达式,从子句的条件表达式,从FROM子句的表中,找出子句的表中,找出满足条件的元组,按满足条件的元组,按SELECT子句的目标列表达式选出元组中子句的目标列表达式选出元组中的属性,形成结果表。的属性,形成结果表。2 2)WhereWhere 子句子句 Where Where 子句中写条件表达式子句中写条件表达式 Where Where 子句中可嵌套子句中可嵌套select select 语句语句 GROUP子句,则将结果按子句,则将结果按的值进行的值进行分组,该属性列值相等的元组为一组,占结果分组,该属性列值相等的元组为一组,占结果表的一条记录。表的一条记录。GROUP子句可带子句可带HA

40、VING短语,输出指定条件短语,输出指定条件的组。的组。havinghaving子句作用于组,从中选择满足条件的组,子句作用于组,从中选择满足条件的组,having子句中可使用聚集函数子句中可使用聚集函数3 3)group bygroup by(对元组进行分组)(对元组进行分组)将结果按将结果按的值进行升序或降序排序的值进行升序或降序排序升序升序ASC(缺省)、降序(缺省)、降序DESC对于空值,若升序,含空值的元组最先显示;对于空值,若升序,含空值的元组最先显示;若降序,含空值的元组最后显示若降序,含空值的元组最后显示.4)Order By子句(对查询结果排序子句(对查询结果排序)3 3、S

41、QLSQL查询中的聚合函数查询中的聚合函数聚合函数聚合函数把一列中的把一列中的值进值进行聚合运算,然后返回行聚合运算,然后返回值值的函数。的函数。五个五个预预定定义义的聚合函数的聚合函数为为:平均平均值值:AvgAvg(字段名)(字段名)总总和:和:Sum Sum(字段名)(字段名)最小最小值值:MinMin(字段名)(字段名)最大最大值值:MaxMax(字段名)(字段名)计计数:数:Count Count(字段名)(字段名)如如Count(country)Count(country)4、GIS中中SQL查询查询-例例1Select from whereGIS中中SQL查询例查询例2查世界地图

42、属性表中有多少国家查世界地图属性表中有多少国家?总人口总人口?总面积总面积?5、SQL 的多表查询功能的多表查询功能1)多表的连接查询多表的连接查询对数据库进行查询涉及到几张表时,称连接查询。对数据库进行查询涉及到几张表时,称连接查询。多表的连接查询多表的连接查询:表格的连接查询其数据需要从多个表中获取,它实表格的连接查询其数据需要从多个表中获取,它实际上是将具有公共字段的表合并成一个表,再进行际上是将具有公共字段的表合并成一个表,再进行SELECT查询。查询。具体的说,在具体的说,在SELECT语句中语句中基表名多于一个;基表名多于一个;SELECT语句条件表达式中要添加语句条件表达式中要添

43、加匹配不同表的记匹配不同表的记录的语句。录的语句。多表的连接查询例多表的连接查询例多表多表连接查询连接查询:在在SELECT语句中语句中基表名多于一个;基表名多于一个;SELECT语句条件表达式中要添加语句条件表达式中要添加匹配不同表的记录匹配不同表的记录的语句。的语句。如如查出美国地图数据中总人口大于查出美国地图数据中总人口大于1000万万 且洲府人口且洲府人口大于大于20万的洲万的洲。SELECT*FROMStates,StatecapWHERE States.state=Statecap.State and States.pop_199010000000andStatecap.pop_1

44、9902000002)SQL 的嵌套查询功能的嵌套查询功能SQL的嵌套查询是指在的嵌套查询是指在SQL查询语句的查询语句的where功能功能中嵌入另一个中嵌入另一个SELECT查询子语句。查询子语句。当进行当进行SQL的嵌套查询时,自下而上的嵌套查询时,自下而上(由里向外由里向外)的进行的进行,即通常首先进行即通常首先进行SELECT的子查询,而后再的子查询,而后再作进一步的查询。这种层层嵌套方式,真是作进一步的查询。这种层层嵌套方式,真是SQL“结结构化构化”的含义。的含义。嵌套查询功能例嵌套查询功能例例例Mapinfo中的嵌套查询中的嵌套查询求世界地图中同伊拉克处于同一州的国家求世界地图中

45、同伊拉克处于同一州的国家 SELECT country,continent FROM world WHERE continent=(select continent from world where country=“Iraq”)首先求出伊拉克处于那个州;首先求出伊拉克处于那个州;之后之后求出同伊拉克处于同一州的国家求出同伊拉克处于同一州的国家6、非标准、非标准SQL查询查询 非标准非标准SQL查询主要指对空间数据的查询查询主要指对空间数据的查询.在在Mapinfo中表示在中表示在SELECT语句中增加了地理语句中增加了地理函数和地理运算符函数和地理运算符.例例Mapinfo中的嵌套查询中的嵌

46、套查询求美国求美国“I10”号高速公路经过哪几个洲?号高速公路经过哪几个洲?先先美国高速公路中美国高速公路中找出找出“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实现求交实现求交将两表建立联系将两表建立联系(三)、面向对象的数据

47、库管理系统(三)、面向对象的数据库管理系统面向对象的数据库管理系统被称为第三代数据库面向对象的数据库管理系统被称为第三代数据库系统,它吸取了面向对象程序设计概念和思想。系统,它吸取了面向对象程序设计概念和思想。它支持面向对象的数据模型和传统数据库系统所它支持面向对象的数据模型和传统数据库系统所有的数据库特征。有的数据库特征。它自它自1989年出现曾很活跃,试图成为标准,但未年出现曾很活跃,试图成为标准,但未成气候。成气候。1、面向对象的数据库管理系统的特点、面向对象的数据库管理系统的特点能完整的描述现实世界的数据结构,表达数据间的能完整的描述现实世界的数据结构,表达数据间的嵌套、递归。嵌套、递

48、归。利用面向对象的技术的封装性,继承性,从提高了利用面向对象的技术的封装性,继承性,从提高了软件的可重用性。软件的可重用性。2 2、面向对象数据库系统的实现、面向对象数据库系统的实现l以关系数据库和以关系数据库和SQLSQL为基础的扩展关系型为基础的扩展关系型 例如美国加州伯克利分校的例如美国加州伯克利分校的POSRGRESPOSRGRES就是以就是以INGRESINGRES关关系数据库系统为基础,扩展了抽象数据类型系数据库系统为基础,扩展了抽象数据类型ADT(AbstractADT(Abstract Data Type)Data Type),具有面向对象的特性。,具有面向对象的特性。l以面向

49、对象的程序设计语言为基础以面向对象的程序设计语言为基础,支持面向对象模支持面向对象模型。型。例如美国例如美国OntologicOntologic公司的公司的OntosOntos是以面向对象程是以面向对象程序设计语言序设计语言C+C+为基础的。为基础的。l建立新的面向对象数据库系统,支持面向对象数据模建立新的面向对象数据库系统,支持面向对象数据模型。型。例如法国例如法国O2 Technology O2 Technology 公司的公司的O2O2。(四)、对象(四)、对象-关系数据库技术关系数据库技术 对象对象-关系数据库是介于关系数据库系统和关系数据库是介于关系数据库系统和对对象数据库管理系统中

50、间,由象数据库管理系统中间,由关系数据库系统和关系数据库系统和面向面向对象的数据库管理系统结合而成的数据库管理系统。对象的数据库管理系统结合而成的数据库管理系统。1、对象、对象-关系数据库的优点关系数据库的优点 对象对象-关系数据库除了具有关系数据库的特点外关系数据库除了具有关系数据库的特点外,将其进行扩充将其进行扩充,使其能直接存储和管理空间几何使其能直接存储和管理空间几何数据。表现在:数据。表现在:l 允许用户扩充基本数据类型允许用户扩充基本数据类型;l 支持支持SQL查询;查询;l 支持类、数据、函数的继承;支持类、数据、函数的继承;l 提供功能强大的同其它对象提供功能强大的同其它对象-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁