第四章空间数据库 第一节数据库概述 数据库技术是60年代初开始发展起来的一门数据管理自动化的综合性新技术。数据库 的应用领域相当广泛,从一般事务处理,到各种专门化数据的存储与管理,都可以建立不同 类型的数据库。建立数据库不仅仅是为了保存数据,扩展人的记忆,而主要是为了帮助人们 去管理和控制与这些数据相关联的事物。地理信息系统中的数据库就是一种专门化的数据 库,由于这类数据库具有明显的空间特征,所以有人把它称为空间数据库,空间数据库的理 论与方法是地理信息系统的核心问题 、数据库的定义 数据库就是为了一定的目的,在计算机系统中以特定的结构组织、存储和应用的相关联 的数据集合 计算机对数据的管理经过了三个阶段一最早的程序管理阶段,后来的文件管理阶段,现 在的数据库管理阶段。其中,数据库是数据管理的高级阶段,它与传统的数据管理相比有许 多明显的差别,其中主要的有两点:一是数据独立于应用程序而集中管理,实现了数据共享 减少了数据冗余,提高了数据的效益:二是在数据间建立了联系,从而使数据库能反映出现 实世界中信息的联系。 地理信息系统的数据库(以下称为空间数据库)是某区域内关于一定地理要素特征的数 据集合。空间数据库与一般数据库相比,具有以下特点 (1)数据量特别大,地理系统是一个复杂的综合体,要用数据来描述各种地理要素,尤 其是要素的空间位置,其数据量往往大得惊人。即使是一个很小区域的数据库也是如此。 (2)不仅有地理要素的属性数据(与一般数据库中的数据性质相似),还有大量的空间数 据,即描述地理要素空间分布位置的数据,并且这两种数据之间具有不可分割的联系。 (3)数据应用的面相当广,如地理硏究、环境保护、土地利用与规划、资源开发、生态 环境、市政管理、道路建设等等。 上述特点,尤其是第二点,决定了在建立空间数据库时,一方面应该遵循和应用通用数 据库的原理和方法,另一方面又必须采取一些特殊的技术和方法来解决其它数据库所没有的 管理空间数据的问题
43 第四章 空间数据库 第一节 数据库概述 数据库技术是 60 年代初开始发展起来的一门数据管理自动化的综合性新技术。数据库 的应用领域相当广泛,从一般事务处理,到各种专门化数据的存储与管理,都可以建立不同 类型的数据库。建立数据库不仅仅是为了保存数据,扩展人的记忆,而主要是为了帮助人们 去管理和控制与这些数据相关联的事物。地理信息系统中的数据库就是一种专门化的数据 库,由于这类数据库具有明显的空间特征,所以有人把它称为空间数据库,空间数据库的理 论与方法是地理信息系统的核心问题。 一、数据库的定义 数据库就是为了一定的目的,在计算机系统中以特定的结构组织、存储和应用的相关联 的数据集合。 计算机对数据的管理经过了三个阶段—最早的程序管理阶段,后来的文件管理阶段,现 在的数据库管理阶段。其中,数据库是数据管理的高级阶段,它与传统的数据管理相比有许 多明显的差别,其中主要的有两点:一是数据独立于应用程序而集中管理,实现了数据共享, 减少了数据冗余,提高了数据的效益;二是在数据间建立了联系,从而使数据库能反映出现 实世界中信息的联系。 地理信息系统的数据库(以下称为空间数据库)是某区域内关于一定地理要素特征的数 据集合。空间数据库与一般数据库相比,具有以下特点: (1) 数据量特别大,地理系统是一个复杂的综合体,要用数据来描述各种地理要素,尤 其是要素的空间位置,其数据量往往大得惊人。即使是一个很小区域的数据库也是如此。 (2) 不仅有地理要素的属性数据(与一般数据库中的数据性质相似),还有大量的空间数 据,即描述地理要素空间分布位置的数据,并且这两种数据之间具有不可分割的联系。 (3) 数据应用的面相当广,如地理研究、环境保护、土地利用与规划、资源开发、生态 环境、市政管理、道路建设等等。 上述特点,尤其是第二点,决定了在建立空间数据库时,一方面应该遵循和应用通用数 据库的原理和方法,另一方面又必须采取一些特殊的技术和方法来解决其它数据库所没有的 管理空间数据的问题
二、数据库的主要特征 数据库方法与文件管理方法相比,具有更强的数据管理能力。数据库具有以下主要特征: 1、数据集中控制特征 在文件管理方法中,文件是分散的,每个用户或每种处理都有各自的文件,不同的用 户或处理的文件一般是没有联系的,因而就不能为多用户共享,也不能按照统一的方法来控 制、维护和管理。数据库很好地克服了这一缺点,数据库集中控制和管理有关数据,以保证 不同用户和应用可以共享数据。数据集中并不是把若干文件“拼凑”在一起,而是要把数据 “集成”。因此,数据库的内容和结构必须合理,才能满足众多用户的要求。 2、数据冗余度小的特征 冗余是指数据的重复存储。在文件方式中,数据冗余太。冗余数据的存在有两个缺点: 一是增加了存储空间:二是易出现数据不一致。设计数据库的主要任务之一是识别冗余数据, 并确定是否能够消除。在目前情况下,即使数据库方法也不能完全消除冗余数据。有时,为 了提高数据处理效率,也应该有一定程度的数据冗余。但是,在数据库中应该严格控制数据 的冗余度。在有冗余的情况下,数据更新、修改时,必须保证数据库内容的一致性。 3、数据独立性特征 数据独立是数据库的关键性要求。数据独立是指数据库中的数据与应用程序相互独立, 即应用程序不因数据性质的改变而改变;数据的性质也不因应用程序的改变而改变。数据独 立分为两级:物理级和逻辑级。物理独立是指数据的物理结构变化不影响数据的逻辑结构 逻辑独立意味着数据库的逻辑结构的改变不影响应用程序。但是,逻辑结构的改变必然影响 到数据的物理结构。目前,数据逻辑独立还没有能完全实观。 4、复杂的数据模型数据模型能够表示现实世界中各种各样的数据组织以及数据间的 联系。复杂的数据模型是实现数据集中控制、减少数据冗余的前提和保证。采用数据模型是 数据库方法与文件方式的一个本质差别。 数据库常用的数据模型有三种:层次模型,网络模型和关系模型。因此,根据使用的模 型,可以把数据库分成:层次型数据库,网络型数据库和关系型数据库。 5、数据保护特征 数据保护对数据库来说是至关重要的,一旦数据库中的数据遭到破坏,就会影响数据库 的功能,甚至使整个数据库失去作用、数据保护主要包括四个方面的内容:安全性控制、完 整性控制、并发控制、故障的发现和恢复 三、数据库的系统结构 数据库是一个复杂的系统。数据库的基本结构可以分成三个层次:物理级、概念级和用
44 二、数据库的主要特征 数据库方法与文件管理方法相比,具有更强的数据管理能力。数据库具有以下主要特征: 1、 数据集中控制特征 在文件管理方法中,文件是分散的,每个用户或每种处理都有各自的文件,不同的用 户或处理的文件一般是没有联系的,因而就不能为多用户共享,也不能按照统一的方法来控 制、维护和管理。数据库很好地克服了这一缺点,数据库集中控制和管理有关数据,以保证 不同用户和应用可以共享数据。数据集中并不是把若干文件“拼凑”在一起,而是要把数据 “集成”。因此,数据库的内容和结构必须合理,才能满足众多用户的要求。 2、 数据冗余度小的特征 冗余是指数据的重复存储。在文件方式中,数据冗余太。冗余数据的存在有两个缺点: 一是增加了存储空间;二是易出现数据不一致。设计数据库的主要任务之一是识别冗余数据, 并确定是否能够消除。在目前情况下,即使数据库方法也不能完全消除冗余数据。有时,为 了提高数据处理效率,也应该有一定程度的数据冗余。但是,在数据库中应该严格控制数据 的冗余度。在有冗余的情况下,数据更新、修改时,必须保证数据库内容的一致性。 3、数据独立性特征 数据独立是数据库的关键性要求。数据独立是指数据库中的数据与应用程序相互独立, 即应用程序不因数据性质的改变而改变;数据的性质也不因应用程序的改变而改变。数据独 立分为两级:物理级和逻辑级。物理独立是指数据的物理结构变化不影响数据的逻辑结构; 逻辑独立意味着数据库的逻辑结构的改变不影响应用程序。但是,逻辑结构的改变必然影响 到数据的物理结构。目前,数据逻辑独立还没有能完全实观。 4、复杂的数据模型 数据模型能够表示现实世界中各种各样的数据组织以及数据间的 联系。复杂的数据模型是实现数据集中控制、减少数据冗余的前提和保证。采用数据模型是 数据库方法与文件方式的一个本质差别。 数据库常用的数据模型有三种:层次模型,网络模型和关系模型。因此,根据使用的模 型,可以把数据库分成:层次型数据库,网络型数据库和关系型数据库。 5、数据保护特征 数据保护对数据库来说是至关重要的,一旦数据库中的数据遭到破坏,就会影响数据库 的功能,甚至使整个数据库失去作用、数据保护主要包括四个方面的内容:安全性控制、完 整性控制、并发控制、故障的发现和恢复。 三、数据库的系统结构 数据库是一个复杂的系统。数据库的基本结构可以分成三个层次:物理级、概念级和用
户级 1、物理级:数据库最内的一层。它是物理设备上实际存储的数据集合(物理数据库)。 它是由物理模式(也称内部模式)描述的。 2、概念级:数据库的逻辑表示,包括每个数据的逻辑定义以及数据间的逻辑联系。它 是由概念模式定义的,这一级也被称为概念模型。 3、用户级:用户所使用的数据库,是一个或几个特定用户所使用的数据集合(外部模 ),是概念模型的逻辑子集。它由外部模式定义 四、数据组织方式 数据是现实世界中信息的裁体,是信息的具体表达形式。为了表达有意义的信息内容 数据必须按照一定的方式进行组织和存储。数据库中的数据组织一般可以分为四级:数据项、 记录、文件和数据库。 1、数据项:是可以定义数据的最小单位,也叫元素、基本项、字段等。数据项与现实 世界实体的属性相对应,数据项有一定的取值范围,称为域。域以外的任何值对该数据项都 是无意义的。如表示月份的数据项的域是1-12,13就是无意义的值。每个数据项都有一个 名称,称为数据项目。数据项的值可以是数值的、字母的、汉字的等形式。数据项的物理特 点在于它具有确定的物理长度,一般用字节数表示 几个数据项可以组合,构成组合数据项。如“日期”可以由日、月、年三个数据项组合 而成。组合数据项也有自己的名字,可以作为一个整体看待 2、记录:由若干相关联的数据项组成。记录是应用程序输入一输出的逻辑单位。对大 多数据库系统,记录是处理和存储信息的基本单位。记录是关于一个实体的数据总和,构成 该记录的数据项表示实体的若干属性。 记录有“型”和“值”的区别。“型”是同类记录的框架,它定义记录,“值”是记录反 映实体的内容 为了唯一标识每个记录,就必须有记录标识符,也叫关键字。记录标识符一般由记录中 的第一个数据项担任,唯一标识记录的关键字称主关键字,其它标识记录的关键字称为辅关 键字 3、文件:文件是一给定类型的(逻辑)记录的全部具体值的集合。文件用文件名称标识 文件根据记录的组织方式和存取方法可以分为:顺序文件、索引文件、直接文件和倒排文件 等等。 、数据库:是比文件更大的数据组织。数据库是具有特定联系的数据的集合,也可以 看成是具有特定联系的多种类型的记录的集合。数据库的内部构造是文件的集合,这些文件
45 户级。 1、物理级:数据库最内的一层。它是物理设备上实际存储的数据集合(物理数据库)。 它是由物理模式(也称内部模式)描述的。 2、概念级:数据库的逻辑表示,包括每个数据的逻辑定义以及数据间的逻辑联系。它 是由概念模式定义的,这一级也被称为概念模型。 3、 用户级:用户所使用的数据库,是一个或几个特定用户所使用的数据集合(外部模 型),是概念模型的逻辑子集。它由外部模式定义。 四、数据组织方式 数据是现实世界中信息的裁体,是信息的具体表达形式。为了表达有意义的信息内容, 数据必须按照一定的方式进行组织和存储。数据库中的数据组织一般可以分为四级:数据项、 记录、文件和数据库。 1、数据项:是可以定义数据的最小单位,也叫元素、基本项、字段等。数据项与现实 世界实体的属性相对应,数据项有一定的取值范围,称为域。域以外的任何值对该数据项都 是无意义的。如表示月份的数据项的域是 1—12,13 就是无意义的值。每个数据项都有一个 名称,称为数据项目。数据项的值可以是数值的、字母的、汉字的等形式。数据项的物理特 点在于它具有确定的物理长度,一般用字节数表示。 几个数据项可以组合,构成组合数据项。如“日期”可以由日、月、年三个数据项组合 而成。组合数据项也有自己的名字,可以作为一个整体看待。 2、记录:由若干相关联的数据项组成。记录是应用程序输入—输出的逻辑单位。对大 多数据库系统,记录是处理和存储信息的基本单位。记录是关于一个实体的数据总和,构成 该记录的数据项表示实体的若干属性。 记录有“型”和“值”的区别。“型”是同类记录的框架,它定义记录,“值”是记录反 映实体的内容。 为了唯一标识每个记录,就必须有记录标识符,也叫关键字。记录标识符一般由记录中 的第一个数据项担任,唯一标识记录的关键字称主关键字,其它标识记录的关键字称为辅关 键字。 3、文件:文件是一给定类型的(逻辑)记录的全部具体值的集合。文件用文件名称标识。 文件根据记录的组织方式和存取方法可以分为:顺序文件、索引文件、直接文件和倒排文件 等等。 4、数据库:是比文件更大的数据组织。数据库是具有特定联系的数据的集合,也可以 看成是具有特定联系的多种类型的记录的集合。数据库的内部构造是文件的集合,这些文件
之间存在某种联系,不能孤立存在。 五、数据间的逻辑联系 数据间的逻辑联系主要是指记录与记录之间的联系。记录是表示现实世界中的实体的。 实体之间存在着一种或多种联系,这样的联系必然要反映到记录之间的联系上来。数据之间 的逻辑联系主要有三种: 1、一对一的联系:简记为1:1,如图4-1所 示,这是一种比较简单的一种联系方式,是指在集 合A中存在一个元素a,则在集合B中就有一个且 仅有一个b与之联系。在1:1的联系中,一个集 合中的元素可以标识另一个集合中的元素。例如 B 地理名称与对应的空间位置之间的关系就是一种 对一的联系 图4-1一对一的联系(1:1) 2、一对多的联系(1:N):现实生活中以一对 多的联系较多常见。如图42所示,这种联系可以 表达为:在集合A中存在一个a则在集合B中存A 在一个子集B′=(b1,b2…bn)与之联系。通常, B′是B的一个子集。行政区划就具有一对多的联 系,一个省对应有多个市,一个市有多个县,一个 县又有多个乡 图42一对多的联系(1:N) 3、多对多的联系(M:N):这是现实中最复杂 的联系(如图4-3所示),即对于集合A中的一个 元素a。在集合B就存在一个子集B′=(b1,b2 bn)与之相联系。反过来,对于B集合中的一个元A B 素B在集合A中就有一个集合A=a1A-) 与之相联系。M:N的联系,在数据库中往往不能 直接表示出来,而必须经过某种变换,使其分解成 B 两个1:N的联系来处理。地理实体中的多对多联 图4-3多对多的联系(M:N) 系是很多的,例如土壤类型与种植的作物之间有多 对多联系。同一种土壤类型可以种不同的作物,同 种作物又可种植在不同的土壤类型上
46 之间存在某种联系,不能孤立存在。 五、数据间的逻辑联系 数据间的逻辑联系主要是指记录与记录之间的联系。记录是表示现实世界中的实体的。 实体之间存在着一种或多种联系,这样的联系必然要反映到记录之间的联系上来。数据之间 的逻辑联系主要有三种: 1、一对一的联系:简记为 1:1,如图 4-1 所 示,这是一种比较简单的一种联系方式,是指在集 合 A 中存在一个元素 ai,则在集合 B 中就有一个且 仅有一个 bj 与之联系。在 1:1 的联系中,一个集 合中的元素可以标识另一个集合中的元素。例如, 地理名称与对应的空间位置之间的关系就是一种 一对一的联系. 2、一对多的联系(1:N):现实生活中以一对 多的联系较多常见。如图 4-2 所示,这种联系可以 表达为:在集合 A 中存在一个 ai,则在集合 B 中存 在一个子集 B′=(bj1, bj2…bjn)与之联系。通常, B′是 B 的一个子集。行政区划就具有一对多的联 系,一个省对应有多个市,一个市有多个县,一个 县又有多个乡。 3、多对多的联系(M:N):这是现实中最复杂 的联系(如图 4-3 所示),即对于集合 A 中的一个 元素 ai。在集合 B 就存在一个子集 B′=(bj1, bj2… bjn)与之相联系。反过来,对于 B 集合中的一个元 素Bj 在集合A中就有一个集合A′=(ai1,ai2,ai3…ain) 与之相联系。M:N 的联系,在数据库中往往不能 直接表示出来,而必须经过某种变换,使其分解成 两个 1:N 的联系来处理。地理实体中的多对多联 系是很多的,例如土壤类型与种植的作物之间有多 对多联系。同一种土壤类型可以种不同的作物,同 一种作物又可种植在不同的土壤类型上。 A B A B 图 4-1 一对一的联系(1:1) A B A B 图 4-2 一对多的联系(1:N) A B A B 图 4-3 多对多的联系(M:N)
第二节传统数据库系统的数据模型 数据模型是数据库系统中关于数据和联系的逻辑组织的形式表示。每一个具体的数 据库都是由一个相应的数据模型来定义。每一种数据模型都以不同的数据抽象与表示能力 来反映客观事物,有其不同的处理数据联系的方式。数据模型的主要任务就是研究记录类 型之间的联系 目前,数据库领域采用的数据模型有层次模型、网状模型和关系模型,其中应用最 广泛的是关系模型。 、层次模型 层次模型是数据处理中发 展较早、技木上也比较成熟的一 种数据模型。它的特点是将数据 组织成有向有序的树结构。层次 模型由处于不同层次的各个结 4-4原始地图M 点组成。除根结点外,其余各结 点有且仅有一个上一层结点作为其“双亲”,而位于其下的较低一层的若干个结点作为其“子 女”。结构中结点代表数据记录,连线描述位于不同结点数据间的从属关系(限定为一对多的 回回2 图4-5层次数据模型 关系)。对于图44所示的地图M用层次模型表示为如图45所示的层次结构。 层次模型反映了现实世界中实体间的层次关系,层次结构是众多空间对象的自然表达 形式,并在一定程度上支持数据的重构。但其应用时存在以下问题:
47 第二节 传统数据库系统的数据模型 数据模型是数据库系统中关于数据和联系的逻辑组织的形式表示。每一个具体的数 据库都是由一个相应的数据模型来定义。每一种数据模型都以不同的数据抽象与表示能力 来反映客观事物,有其不同的处理数据联系的方式。数据模型的主要任务就是研究记录类 型之间的联系。 目前,数据库领域采用的数据模型有层次模型、网状模型和关系模型,其中应用最 广泛的是关系模型。 一、 层次模型 层次模型是数据处理中发 展较早、技木上也比较成熟的一 种数据模型。它的特点是将数据 组织成有向有序的树结构。层次 模型由处于不同层次的各个结 点组成。除根结点外,其余各结 点有且仅有一个上一层结点作为其“双亲”,而位于其下的较低一层的若干个结点作为其“子 女”。结构中结点代表数据记录,连线描述位于不同结点数据间的从属关系(限定为一对多的 关系)。对于图 4-4 所示的地图 M 用层次模型表示为如图 4-5 所示的层次结构。 层次模型反映了现实世界中实体间的层次关系,层次结构是众多空间对象的自然表达 形式,并在一定程度上支持数据的重构。但其应用时存在以下问题: Ⅰ Ⅱ 1 2 3 4 5 6 a b c d e f g M 图 4-4 原始地图 M M Ⅰ Ⅱ a b c d e f g 1 2 2 3 3 4 4 1 3 4 3 5 5 6 6 4 c 图 4-5 层次数据模型