第七章 空间数的组织与管理.docx
《第七章 空间数的组织与管理.docx》由会员分享,可在线阅读,更多相关《第七章 空间数的组织与管理.docx(23页珍藏版)》请在冰豆网上搜索。
![第七章 空间数的组织与管理.docx](https://file1.bdocx.com/fileroot1/2022-12/16/737ee565-3ff5-4787-8149-9a3ea293388e/737ee565-3ff5-4787-8149-9a3ea293388e1.gif)
第七章空间数的组织与管理
第七章空间数的组织与管理
一、数据的组织
1、数据组织的分级
数据组织的层次有两类分级方法:
逻辑分级:
从人的观测角度及描述对象之间的关系,有数据项、记录、文件和数据库。
物理分级:
在存储介质上的存储单位,有比特、字节、字、块、桶和卷。
数据项:
可以定义数据的最小单位,也叫基本项、字段等。
数据项与实体的属性相对应,有一定的取值范围,称为域。
域外的任何值视为无意义的取值。
记录:
由若干相关联的数据项组成。
是应用程序输入/输出的逻辑单位。
对数据库系统来说,是信息处理和存储的基本单位,是对一个实体信息描述的数据总和。
特点:
由型和值的区别。
型为定义的记录的框架,值为记录的内容。
为了唯一标识每个记录,必须有记录标识符,也称关键字。
一般由记录的第一个关键字担任。
有主关键字、次关键字之分。
有逻辑记录和物理记录。
逻辑记录按信息逻辑在逻辑上的的独立意义划分数据单位,物理记录按数据存储单位划分。
两者之间的关系为:
一个物理记录对应一个逻辑记录;
一个物理记录对应若干个逻辑记录;
一个逻辑记录对应若干个物理记录。
文件:
是一给定类型的(逻辑)记录的全部具体值的集合。
根据记录的组织方式分为:
顺序文件、索引文件、直接文件、和倒排文件。
数据库:
具有特定联系的数据集合。
也可以看成是多类型记录的集合。
其内部构造是文件的集合。
文件之间存在某种联系,不能孤立存在。
2、图幅内的空间数据组织
(1)工作区
通常将一幅图或几幅图的范围当作一个工作单元,或工作区。
工作区包含了所有各层的空间数据。
工作区通常按范围定义。
例1:
6-5-1。
例2:
水平
(2)工作层
工作是空间数据处理的一个工作单位。
可包含若干逻辑层。
(3)逻辑层
具有多个地物类组成。
(4)地物类(专题层)
具有相同属性和意义的地物组合。
3、图库的管理
划分工作区。
数据除了按上述纵向划分为层管理外,有时还需要在水平方向划分若干工作区(如ARC/INFO的TILE)。
工作区索引:
建立工作区索引,再在此基础上建立以图幅为单位的二级图幅索引或物理无缝连接的地图。
4、空间索引
空间索引:
为快速查找地物建立的计算机屏幕坐标位置与地物记录之间的索引表文件。
一般是在工作区范围内建立空间索引。
层次为:
Ø图幅索引
Ø对象索引:
p219.
Ø格网索引:
p220。
二、数据的管理
1、数据库的概念
数据库的定义:
为了一定的目的,在计算机系统中以特定的结构组织、存储和应用的相关联的数据集合。
计算机对数据的管理到目前为止,共经历了四个阶段:
(1)程序管理阶段,数据和应用程序一同存在。
(2)文件管理阶段,数据和应用程序独立。
(数据间无明显关系)
(3)数据库管理阶段,数据和应用独立(逻辑独立),数据库和存储设备独立(物理独立)。
数据库数据之间建立了联系。
数据面向操作组织。
(4)数据仓库阶段,数据经过重构、融合等,面向主题组织。
服务于决策系统。
数据库可以看作是与现实世界有一定相似性的模型,是认识世界的基础,是集中、统一地存储和管理某个领域信息的系统,它根据数举荐的自然联系而构成,数据较少冗余,且具有较高的数据独立性,能为多种应用服务。
数据库作为一个复杂的系统,由以下三个基本部分构成:
1°、数据集。
一个结构化的相关数据的集合体,包括数据本身和数据间的联系。
数据集独立于应用程序而存在,是数据库的核心和管理对象。
2°、物理存储介质。
指计算机的外存储器和内存储器。
前者存储数据;后者存储操作系统和数据库管理系统,并有一定数量的缓冲区,用于数据处理,以减少内外存交换次数,提高数据存取效率。
3°、数据库软件。
其核心是数据库管理系统(DBMS)。
主要任务是对数据库进行管理和维护。
具有对数据进行定义、描述、操作和维护等功能,接受并完成用户程序和终端命令对数据库的请求,负责数据库的安全。
地理空间数据库定义:
是某区域关于一定地理要素特征的数据集合。
与一般数据库相比,具有以下特点:
Ø数据量特别大
Ø具有地理空间数据和属性数据;
Ø数据应用面相当广
2、数据库的主要特征
与文件管理系统相比:
(1)数据集中控制特征,提高了数据共享性和数据的并发访问控制
(2)数据冗余度小的特征,(冗余带来两个问题,增加存储空间,数据不一致)
(3)数据独立性特征(是数据库的关键要求,数据独立是指数据库中的数据与应用程序的相互独立。
即应用程序不因数据性质的改变而改变,数据性质也不因应用程序的改变而改变。
分为物理和逻辑两种级别:
物理独立是指数据的物理结构变化不影响数据的逻辑结构;逻辑独立是指数据的逻辑结构改变不影响应用程序,但逻辑结构的改变会影响数据的物理结构)。
(4)复杂的数据模型,因要表示数据间复杂的关系,使数据结构复杂。
可分为:
Ø网络数据模型
Ø层次模型
Ø关系模型
Ø空间数据模型
(5)数据保护特征,具有安全性控制、完整性控制、并发控制、故障的发现和恢复等功能。
3、数据库的系统结构
可分为物理级、概念级和用户级。
对应与概念模式、外模式和内模式。
物理级:
物理设备存储的数据库。
由内部模型描述。
亦称存储模式。
是对数据库在物理存储器上具体实现的描述。
它规定数据在存储介质上的物理组织方式、记录寻址技术,定义物理存储块的大小,溢出处理方法等。
与概念模式相对应。
内模式由数据存储描述语言DSDL进行描述。
概念级:
数据的逻辑模型,定义数据和逻辑关系。
亦称模式。
是数据库的总框架。
描述数据库中关于目标存储的逻辑结构和特性,基本操作和目标——目标及目标——操作的关系和依赖性,以及对数据的安全性、完整性等方面的定义。
所有数据都按这一模式进行装配。
概念模式由概念模式描述语言DDL来进行描述。
用户级:
概念模型的逻辑子集。
亦称子模式。
是数据库用户的数据视图。
它属于概念模式的一部分,描述用户数据的结构、类型、长度等。
所有的应用程序都是根据外模式中对数据的描述而不是根据概念模式中对数据的描述而编写的。
在一个外模式中可以编写多个应用程序,但一个应用程序只能对应一个外模式。
根据应用的不同,一个概念模式可以对应多个外模式,外模式可以互相覆盖。
外模式由外模式描述语言SDDL进行具体描述。
数据库不同级别之间通过映射进行转换。
映射是实现数据独立的保证。
数据结构变化时,数据独立性是通过改变相应的映射保持独立性。
数据库系统的三级模式结构将数据库的全局逻辑结构同用户的局部逻辑结构和物理存储结构区分开来,给数据库的组织和使用带来了方便。
不同的用户可以有各自的数据视图,所有用户的数据视图集中在一起统一组织,消除冗余数据,得到全局数据视图。
用存储描述语言来定义和描述全局数据视图数据,并将数据存储在物理介质上。
这中间进行了两次映象。
一次是外模式与概念模式之间的映象,定义了它们之间的对应关系,保证了数据的逻辑独立性;另一次是概念模式与内模式之间的映象,定义了数据的逻辑结构和物理存储之间的对应关系,使全局逻辑数据独立于物理数据,保证了数据的物理独立性。
4、数据库管理系统(DBMS)
DBMS的功能:
Ø数据库定义功能
Ø数据库管理功能
Ø数据库维护功能
Ø数据库通讯功能
DBMS的组成:
Ø语言处理程序,DDL、DML、解释、编译等
Ø系统运行控制程序,各种控制
Ø建立和维护程序,数据装入、重组、转储等
数据库管理员:
Ø决定数据库的信息内容
Ø充当DBMS的联络员
Ø决定存储结构和访问策略
Ø监督系统工作
5、GIS中空间数据库模型
在数据库系统中,现实世界中的事物及联系是用数据模型来描述的,数据库中各种操作功能的实现是基于不同的数据模型的,因而数据库的核心问题是模型问题。
数据模型是数据库中对数据的逻辑组织形式的描述。
数据库模型是对现实世界部分现象的抽象,它描述了数据的基本结构及其相互之间的关系和在数据上的各种操作,是数据库系统中关于数据内容和数据间联系的逻辑组织的形式表示,以抽象的形式描述和反映一个部门或系统的业务活动和信息流程。
选择与建立数据库模型的目的是用最佳的方式反映本部门的业务对象及信息流程和以最佳的方式为用户提供访问数据库的逻辑接口。
数据库模型的三要素:
数据结构、数据操作和数据的约束条件。
数据库模型大体可以分为两种类型:
一种是独立于计算机之外的,如实体——关系模型、语义数据模型等,它们不涉及信息在计算机中如何表示,常称概念模型(或逻辑模型);另一种模型是直接面向计算机的,它们以记录为单位构造数据模型,如数据库中常用的层次模型、网状模型和关系模型等,称为存储模型(物理模型)。
在数据库模型中常用到下列概念:
·实体(Entity):
实体是指现实世界中客观存在的,并可相互区别的事物。
实体可以指个体,也可以指总体,即个体的集合。
·属性(Attribute):
实体所具有的某一特性
·码(Key):
唯一标识实体的属性集
·域(Domain):
属性的取值范围
·实体型(EntityType):
具有相同属性的实体具有共同的特征和性质,用实体名和属性名集合表示
·实体集(EntitySet):
同型实体的集合
·联系:
一是实体内部的联系;二是实体型之间的联系(1:
1、1:
n、m:
n)。
数据库模型是数据特征的抽象,它不是描述个别数据,而是描述数据的共性。
严格地说,一个数据库的数据模型应能描述数据的以下特征:
1°、静态特性。
包括实体和实体具有的特性、实体间的联系等,通过构造基本数据结构类型来实现。
2°、动态特性。
即现实世界中的实体及实体间的不断发展变化,通过对数据库的检索、插入、删除和修改等操作来实现。
3°、数据间的相互制约与依存关系。
通过一组完整性规则来实现。
由此可见,一个数据模型实际上给出了在计算机系统中描述现实世界的信息结构及其变化的一种抽象方法。
数据模型不同,描述和实现的方法也不相同,相应的支持软件——数据库管理系统也就不同。
数据模型反映了现实世界中的实体之间的各种联系。
实体间的联系有两类:
一类是实体内部属性间的联系;另一类是实体与实体之间的联系。
实体与实体之间的联系是错综复杂的,可以分为以下三种:
1°、一对一的联系。
这是最简单的一种实体之间的联系,它表示两个实体集中的个体间存在的一对一的联系。
记为1:
1。
2°、一对多的联系。
这是实体间存在的较普遍的一种联系,表示一种实体集E1中的每个实体与另一实体集E2中的多个实体间存在的联系;反之,E2中的每个实体都至多与E1中的一个实体发生联系。
记为1:
m。
3°、多对多的联系。
这是实体间存在的更为普遍的一种联系,表示多个实体集之间的多对多的联系。
其中,一个实体集中的任何一个实体与另一个实体集中的实体间存在一对多的联系;反之亦然。
记为m:
n。
6、层次模型
层次模型是一种树结构模型,它把数据按自然的层次关系组织起来,以反映数据之间的隶属关系。
层次模型是是数据库技术中发展最早、技术上比较成熟的一种数据模型。
它的特点是地理数据组织成有向有序的树结构,也叫树形结构。
结构中的结点代表数据记录,连线描述位于不同结点数据间的从属关系(一对多的关系)。
由树的定义知,一棵树有且仅有一个无双亲结点的称为根的结点;其余结点有且仅有一个双亲结点,它们可分为m(m≥0)个互不相交的有限集,其中每一个集合本身又是一棵树,将其称为子树。
图1表示地理实体E及其空间要素,图2是图1所示空间关系所构成的层次模型。
这是一棵有向有序树,结点表示不同层次的地理要素,连线描述地理要素之间的从属关系。
结点从属于(构成)有向边,有向边从属于(构成)多边形,多边形从属于(构成)实体E。
图1
图2
7、网络数据模型
网状模型将数据组织成有向图结构,图中的结点代表数据记录,连线描述不同结点数据间的联系。
这种数据模型的基本特征是,结点数据之间没有明确的从属关系,一个结点可与其它多个结点建立联系,即结点之间的联系是任意的,任何两个结点之间都能发生联系,可表示多对多的关系。
采用网状模型最典型的数据库系统是DBTG系统,它是1969年由一个美国标准化组织CODASYL委员会的数据库任务组提出的报告中首次推出的,这个报告是一个网状模型的数据描述语言和数据操纵语言规范化的文本,虽不是具体计算机的软件系统,但对网状数据库系统的研究和发展起了重要作用,现有的网状数据库系统大都是建立在DBTG模型上的。
层次数据模型和网状数据模型的区别:
·层次模型中从子女到双亲的联系是唯一的,而网状模型则可以不唯一;
·层次模型不允许有复合链,而网状模型则允许;
层次数据模型和网状数据模型的缺陷:
·要求应用程序员必须熟悉面向磁盘的优化技术和数据库的物理组织,对于每次特定的数据查询,必须编出十分复杂的查询应用程序。
·一旦有新类型的数据加入,将会导致数据库结构的变化,在这种情况下,通常应用程序需要重写。
8、关系数据模型
关系模型的逻辑数据结构:
是IBM公司的E·F·Codd提出来的。
他从1970年起发表了多篇关于关系模型的论文,奠定了关系数据库的理论基础。
由于关系数据库结构简单,操作方便,有坚实的理论基础,所以发展很快,80年代以后推出的数据库管理系统几乎都是关系型的。
在关系模型中,数据的逻辑结构为满足一定条件的二维表,表具有固定的列数和任意的行数,在数学上称为“关系”。
二维表是同类实体的各种属性的集合,每个实体对应于表中的一行,在关系中称为元组,相当于通常的一个记录;表中的列表示属性,称为域,相当于通常记录中的一个数据项。
若二维表中有n个域,则每一行叫做一个n元组,这样的关系称为n度(元)关系。
表的行对应于对象的实例,各个表的行列交点就用来存贮简单值。
满足一定条件的规范化关系的集合,就构成了关系模型。
关系模型可以简单、灵活地表示各种实体及其关系,其数据描述具有较强的一致性和独立性。
在关系数据库系统中,对数据的操作是通过关系代数实现的,具有严格的数学基础。
关系数据模型要求每一属性都必须赋给一个域,一个域就是一些正确值的集合,域可允许更多的语义检查,表中的每一个值都必须属于其属性的域或者为空。
RDBMS使用各种手段来加速表的访问,这些协调手段是透明的,只在读写表的命令中是不可见的。
由RDBMS来决定在处理查询的过程使用协调信息的时间,如果需要则自动执行协调。
每当修改相应表时,RDBMS自动修改协调信息。
索引、hashing及排序都是常用的协调技术。
(1)表的操作符
SQL(StructuredQueryLanguage)语言是1974年由Boyce和Chamberlin提出的,在IBM公司SanJoseResearchLaboratory研制的SystemR上实现了这种语言,1986年10月,美国国家标准局(ANSI)批准SQL作为关系数据库语言的国家标准,此后不久,国际标准化组织(ISO)也作出了同样的决定。
SQL提供了表的操作符,它的功能包括查询(Query)、操纵(Manipulation)、定义(Defifition)和控制(Control)四个方面,是一个综合的、通用的、功能强大的关系数据库语言。
(2)表的完整性规则
·实体完整性:
每个表有一个明确的主关键字,主关键字是一个或者多个属性的集合;
·关联完整性:
要求RDBMS保持其外来关键字与它相应的主关键字一致,外来关键字是一个表的主关键字但它又嵌入另一个表中。
此外,还有两个概念也需要给予一定的解释。
·视图(View):
一个虚表,即视图所对应的数据并不是存储在视图中,而是存在导出它的一个或多个表中。
·范式:
用来避免表修改操作的逻辑不一致性的一些规则集,范式有多种层次,高级范式可以对低级范式增加约束条件。
在1971~1972年, Codd系统地提出了第一范式(1NF),第二范式(2NF),第三范式(3NF)的概念,1974年,他和Boyce又共同提出了BCNF,后来又有人提出了4NF和5NF。
其中:
1NF:
如果一关系模式,它的每一个分量是不可分的数据项,则此关系模式为1NF;
2NF:
若关系模式R∈1NF,且每个非主属性完全函数依赖于码,则R∈2NF;
3NF:
若关系模式R(U,F)∈1NF,不存在非主属性对码的传递依赖,则R∈3NF;
BCNF:
关系模式R(U,F)∈1NF,若X->Y,Y
X时,X必含有码,则说R∈BCNF;
第一范式的概念限制了系统对复杂对象的表示,从而使关系数据库对非传统的应用领域束手无策,为了使关系数据库适应现实的需求,有人提出用NF2(Non-First-Normal-Form)模型,这种模型允许关系作为属性值。
但仅仅在理论上有些价值,而对于实用,若引入NF2,则不仅要修改数据模型,而且要较大地改动RDBMS中的其它许多部分,如存贮结构、存取方法等等,这在实现上很困难。
(3)用关系模型表示地理实体
图1所示地理实体E与空间要素可用关系模型构成如下关系(四个关系):
关系1:
多边形关系(P)
多边形ID
权属
面积
特征
Ⅰ
张三
125
林地
Ⅱ
李四
43
稻田
关系2:
边界关系(E)
多边形ID
边界ID
边长
Ⅰ
Ⅰ
Ⅰ
Ⅰ
a
b
c
d
30
20
16
25
Ⅱ
Ⅱ
Ⅱ
c
e
f
16
14
17
关系3:
边界-结点关系(N)
边界ID
起始结点ID
终结点ID
a
b
c
d
e
f
1
2
3
4
3
4
2
3
4
1
5
5
关系4:
结点坐标关系
边界ID
x
y
1
2
3
4
5
26.7
28.4
46.1
31.3
68.4
23.5
46.5
42.5
45.6
38.7
(4)关系模型的进一步发展
RDBMS在目前的现状是理论和技术都非常完善和成熟,商品化的产品大量涌向市场,基本上占据了目前的数据库市场中传统应用领域的全部和90%以上的非传统应用领域,典型的代表有:
DB2、INGRES、Oracle、SyBase、Xbase、FoxPro、Rdb/VMS、Informix等等。
RDBMS的发展主要体现在以下方面:
A、非结构化大型对象(LOB-LargeObject)的引进
在关系模型中附加非结构化内容,用于存贮大量变长字符串和二进制数据,是DEC公司于1981年就引进的概念,只是当时并未流行。
随着多媒体技术的推广和应用,需要对诸如文本数据、图象数据、静止的视频片断、全动感的视频信息、声音波形等等这类大量的非结构化数据进行存储和管理,于是在目前一些大型的RDBMS(如DB2、Oracle等)中,增加了大型对象这种数据类型。
B、分布式数据库
70年代中期以来,由于计算机网络通信的迅速发展以及在地理上分散的公司、团体和组织对于数据库更为广泛的应用需求,在集中式数据库系统成熟技术的基础上产生和发展了分布式数据库系统,分布式数据库系统是数据库技术和网络技术两者相互渗透和有机结合的结果。
目前,在该领域里,一些工作已经取得了显著的成果;许多基本问题已得到解决;一批原型系统已经研究成功并获得了许多经验;一些商品化的产品正在研制或已经推出。
如Oracle、Informix、Sybase等等。
C、对象特性的融入
为了迎接面向对象数据库在非传统应用领域对关系数据库提出的挑战,确保关系数据库在数据库领域的霸主地位,关系数据库巨头Oracle、Sybase、DB2、Informix都在积极努力,使自己的关系型产品增加一些面向对象的成分。
目前已经有推向市场的这类产品存在,如Oracle8、DB2等。
9、传统数据模型存在的主要问题
已于前述,目前非空间数据最主要的数据模型是层次模型、网状模型和关系模型。
这里,我们分别介绍它们用于GIS地理数据库的局限性
(1)层次模型用于GIS地理数据库的局限性
层次模型反映了地理世界中实体之间的层次关系,在描述地理世界中自然的层次结构关系时简单、直观,易于理解,并在一定程度上支持数据的重构。
它用于GIS地理数据库存在的主要问题是:
1°、很难描述复杂的地理实体之间的联系,描述多对多的关系时导致物理存储上的冗余;
2°、对任何对象的查询都必须从层次结构的根结点开始,低层次对象的查询效率很低,很难进行反向查询;
3°、数据独立性较差,数据更新涉及许多指针,插入和删除操作比较复杂,父结点的删除意味着其下层所有子结点均被删除;
4°、层次命令具有过程式性质,要求用户了解数据的物理结构,并在数据操纵命令中显式地给出数据的存取路径;
5°、基本不具备演绎功能和操作代数基础。
(2)网状模型用于GIS地理数据库的局限性
网状模型是层次模型的一般形式,反映了地理世界中常见的多对多关系,在一定程度上支持数据的重构,具有一定的数据独立和数据共享特性,且运行效率较高。
用于GIS地理数据库的主要问题如下:
1°、由于网状结构的复杂性,增加了用户查询的定位困难,要求用户熟悉数据的逻辑结构,知道自己所处的位置;
2°、网状数据操作命令具有过程式性质,存在与层次模型相同的问题;
3°、不直接支持对于层次结构的表达;
4°、基本不具备演绎功能和操作代数基础。
(3)关系模型用于GIS地理数据库的局限性
关系模型表示各种地理实体及其间的关系,方式简单、灵活,支持数据重构;具有严格的数学基础,并与一阶逻辑理论密切相关,具有一定的演绎功能;关系操作和关系演算具有非过程式特点。
尽管如此,关系模型用于GIS地理数据库也还存在一些不足。
主要问题是:
1°、无法用递归和嵌套的方式来描述复杂关系的层次和网状结构,模拟和操作复杂地理对象的能力较弱;
2°、用关系模型描述本身具有复杂结构和涵义的地理对象时,需对地理实体进行不自然的分解,导致存储模式、查询途径及操作等方面均显得语义不甚合理;
3°、由于概念模式和存储模式的相互独立性,及实现关系之间的联系需要执行系统开销较大的联接操作,运行效率不够高。
不难看出,关系模型的根本问题是不能有效地管理复杂地理对象。
面向对象的方法具有强大的数据抽象表达能力。
如:
分类、概括、聚集、联合等抽象技术,以及继承、传播等抽象工具。
10、面向对象的地理数据库模型
(1)基本概念
对象:
GIS中定义为:
描述一个地理实体的空间和属性数据以及定义一系列对实体有意义的操作函数的统一体。
应具有如下特征:
·具有一个唯一的标识,以表明其存在的独立性;
·具有一组描述特征的属性,以表明其在某一时刻的状态;
·具有一组表示行为的操作方法,用以改变对象的状态。
对象类:
同类对象的集合。
共享同一属性和方法集的所有对象的集合构成类。
从一组对象中抽象出公共的方法和属性,并将它们保存在一类中,是面向对象的核心内容。
如河流均具有共性,如名称、长度、流域面积等,以及相同的操作方法,如查询、计算长度、求流域面积等,因而可抽象为河流类。
被抽象的对象,称为实例,如长江、黄河等。
方法:
对一个类定义的所有操作称为方法。
消息:
对象间的相互联系和通信的唯一途径是通过“消息”传送实现的。
(2)面向对象的特性
面向对象方法具有抽象性、封装性、多态性等特性。
抽象是对现实世界的简明表示。
形成对象的关键是抽象,对象是抽象思维的结果。
抽象思维是通过概念、判断、推理来反映对象的本质,揭示对象内部联系的过程。
任何一个对象都是通过抽象和概括而形成的。
面向对象方法具有很强的抽象表达能力,正是因为这个缘故,可以将对象抽象成对象类,实现抽象的数据类型,允许用户定义数据类型。
封装是指将方法与数据放于一对象中,以使