空间数据与地图数据库

101
空空空空空空空空空空 计计计计计计计计计 空空空空1. 空空空空空空空空空空 空空空空 空空 空空空空空空空空 《》 19 97 空 12 空 2. 空空空空空 空空 空空 空空空空 空空 空空空空空空空 200 2空2空

description

计算机地图制图原理. 空间数据与地图数据库. 参考教材: 1.《 计算机地图制图原理 》 徐庆荣等 编著 武汉测绘科技大学 1997 年 12 月 2.《 地理信息系统教程 》 胡鹏,黄杏元等 编著 武汉大学出版社 2002 年 2 月. 主要内容. 第一部分 空间数据基本特征及其表示 第二部分 地图数据结构 第三部分 地图数据库系统. 第一部分 空间数据基本特征及其表示. 分为三个部分来讲: 一 . 空间数据的主要内容 二 . 拓扑关系介绍 三 . 多边形拓扑的建立. 一 空间数据主要内容. 1.1 地理空间数据的定义 - PowerPoint PPT Presentation

Transcript of 空间数据与地图数据库

Page 1: 空间数据与地图数据库

空间数据与地图数据库

计算机地图制图原理

参考教材:

1. 《计算机地图制图原理》 徐庆荣等 编著 武汉测绘科技大学 1997 年 12 月

2. 《地理信息系统教程》 胡鹏,黄杏元等 编著 武汉大学出版社 2002 年 2 月

Page 2: 空间数据与地图数据库

第一部分 空间数据基本特征及其表示第二部分 地图数据结构第三部分 地图数据库系统

主要内容

Page 3: 空间数据与地图数据库

第一部分 空间数据基本特征及其表示

分为三个部分来讲:

一 . 空间数据的主要内容

二 . 拓扑关系介绍

三 . 多边形拓扑的建立

Page 4: 空间数据与地图数据库

一 空间数据主要内容

1.1 地理空间数据的定义

1.2 空间数据的地理参照系和控制基础

1.3 空间数据的特征

1.4 GIS 的数据质量

1.5 空间数据标准

Page 5: 空间数据与地图数据库

1.1 地理空间数据的定义 A

地理空间数据是指以地球表面空间位置为参照,描述自然、社会和人文经济景观的数据。

这些数据可以是图形、图像、文字、表格和数字等,由系统建立者通过数字化仪、扫描仪、键盘、磁带机或其它系统通讯输入 GIS ,是 GIS 所表达的现实世界经过模型抽象的实质性内容。

常用的数据有 : 图像数据 ( 如 : 遥感卫星像片、航片的影像数据 ) ;地图数据 ( 如:普通地图、专题地图的各个要素 ) ;地理统计数据 ( 如 : 人口分布、作物分布等 ) ;环境监测数据。

Page 6: 空间数据与地图数据库

GIS 的空间数据包括三个互相联系的方面:

1.2 地理空间数据的定义 B

1. 在某个已知坐标系中的位置:即用几何坐标标识地理实体的空间位置,如经纬度、平面直角坐标、极坐标等,采用数字化仪输入时,常采用数字化仪直角坐标或屏幕直角坐标。

2. 实体间的空间相关性:地理事物点、线、面实体间的空间联系,用拓扑关系 (Topology) 来表示。

3. 与几何位置无关的属性( At tribute ):指地理事物或现象的性质 (描述 ) 。属性分为定性和定量的两种:

定性——包括名称、类型、特性等,如气候类型、土地利用等。

定量——包括数量和等级等,如面积、长度、土地等级。

Page 7: 空间数据与地图数据库

1.3 地理参照系和控制基础 A

一 . 地球的形状

地球近似球体,其表面高低不平,极其复杂。

在测量工作中,把一个假想的,与静止的海水面重合并向陆地延伸且包围整个地球的特定重力等位面称为大地水准面。常用平均海水面代替静止的海水面。

大地水准面、铅垂线——测量工作外业所依据的基准面和基准线;

总地球椭球和参考地球椭球:我国 1952 年以前采用海福特椭球, 1953 年改用克拉索夫斯基椭球, 1978 年以后改用国际椭球,并以此为基础建立了我国新的、独立的大地坐标系— 1980 国家大地坐标系。

Page 8: 空间数据与地图数据库

1.4 地理参照系和控制基础 B

二 . 坐标系

1. 坐标系是指确定地面点或空间目标所采用参考系。与测量相关的坐标系是地理坐标系和平面坐标系。

2. 地理坐标系( L , B ) 两种测量方法:天文测量与大地测量。我国 1954 年北京坐标系和 1980 年国家大地坐标系。

3. 平面坐标系:球面- > 平面(涉及到地图投影)。

三 . 高程系

1. 高程是指高程基准面起算的地面点的高度。

2. 我国原来是 1956 年黄海高程系;现在是 1985 国家高程基准。

Page 9: 空间数据与地图数据库

1.5 空间数据的特征

一 . 空间数据有三个特点

二 . 物体之间的相互关系

1. 定位信息:也称度量信息、几何数据或者图形数据。

2. 非定位信息:也称语义信息、属性数据或者描述数据。

3. 时间信息:无论是定位信息或是非定位信息,都是某一个时刻采集的空间信息。所以空间与时间相互联系不能分割。

物体间的关系分为两种:空间相关关系和属性相关关系。空间相关关系是指顺序空间关系 ( 方向 ) 、度量空间关系 (距离 ) 、拓扑空间关系 ( 实体间的相邻、关联和包含 ) 三类。

Page 10: 空间数据与地图数据库

1.6 GIS 的数据质量1. 定义: GIS 的数据质量是指 GIS 中空间数据(几何数据和属性数据)的可靠性,通常采用空间数据的误差来度量。2. 目的:是建立一套空间数据的分析和处理体系,包括误差源的确定、误差的鉴别和度量方法、误差传播模型、控制和消弱误差等。在未来的社会中提供 GIS 的合格证制度。3. 研究角度:从应用来看, GIS 数据质量包含两大类问题。当 GIS录入数据的误差和各种操作中引入的误差已知时,计算 GIS最终产品的误差大小的过程叫正演问题;根据用户对 GIS产品提出误差限值,确定录入数据质量叫反演问题。

Page 11: 空间数据与地图数据库

1.7 空间数据标准1. 定义 空间数据标准指空间数据的名称、代码、分类编码、数据类型、经度、单位、格式等的标准形式。2. 空间元数据 元数据 (Metadata) :数据的数据,是关于数据和信息资源的描述性信息。 典型例子:图书馆的图书卡片就是所有书籍的件单元数据,它记录料每本书的编号、题目、作者、关键字和出版日期等属性。3.OpenGIS :Open Geodata Interperability Specification 开放的地学数据互操作规范

Page 12: 空间数据与地图数据库

二 拓扑关系介绍

2.1 拓扑的来源

2.2 为什么要研究地图上的拓扑关系

2.3 建立拓扑关系的基本概念

2.4 基本的拓扑关系

2.5 拓扑关系的表示

2.6 Arc/Info 中拓扑关系的构建

Page 13: 空间数据与地图数据库

2.1 拓扑的来源

1. 拓扑的来源 “ 拓扑( Topology )”一次来自希腊文,它的原意是“形状的研究”。拓扑学时几何学的一个分支,它研究在拓扑变换下能够保持不变的几何属性——拓扑属性。

例子:设想一块高质量的橡皮,它的表面是欧几里的平面,这块橡皮可以任意被拉伸、压缩,但是不能够被扭转或折叠。在橡皮的表面上有由结点、弧、环、面组成的可能任意图形。我们对橡皮进行拉伸、压缩,在橡皮进行这些变换的过程中,图形的一些属性消失,一些属性将继续保持存在。设想象皮表面有一个多边形,里面有一个点。当拉伸、压缩橡皮时,点依旧在多边形中,点和多边形的位置关系不会发生变化,但是多边形的面积会发生变化。所以:“点的内置”是拓扑属性,而面积不是拓扑属性,拉伸和压缩就是拓扑变换。

Page 14: 空间数据与地图数据库

2.2 为什么要研究地图上的拓扑?1. 拓扑概念:

拓扑学是研究图形在保持连续状态下变形时的那些不变的性质,也成为“橡皮板几何学”。

在地图上仅用距离和方向参数描述地图上的目标之间的关系总是不圆满的。 因为图上两点之间的距离和方向会随着地图投影的不同而发生变化,故仅用距离和方向参数还不能够确切地表示它们之间的空间关系。(如下图)

2. 描述目标间关系需要

Page 15: 空间数据与地图数据库

Longitude/Latitude 投影 Gauss-Krivger 投影

从上图可以看出,用拓扑关系表示,不论怎么变化,其邻接、关联、包含等关系都不改变。拓扑关系能够从质的方面和整体的概念上反映空间实体的空间结构关系。

研究拓扑关系对于地图数据处理和正确显示将是十分重要的。

Page 16: 空间数据与地图数据库

2.3 拓扑关系的基本概念 地图要素可以抽象为点、线、面来表示,这种归纳正好适合于建立拓扑关系和建立拓扑表示。

1.若地图平面上反映一定意义的零维图形的附近没有其它图形与之联系,则称这个零维图形为独立点( Point )。如水井

3. 地图平面上连接两结点的有一定意义的一维图形称为边(Edge ) ,也叫弧段( Arc )。例如:连个城市之间的道路

4. 由一些边围成的有一定意义的闭合区域称为面( Area )。

2.若在某个有一定意义的零维图形附近还存在另外有意义的零维图形与之联系,则称这个零维图形为结点( Node )。

Page 17: 空间数据与地图数据库

2.4 基本的拓扑关系

拓扑邻接和拓扑关联是用来描述网结构元素(比如结点、弧段、面域)之间的两类二元关系。

基本拓扑关系分为拓扑邻接关系、拓扑关联关系和拓扑包含关系。

拓扑邻接关系存在于同类型元素之间(注意是“偶对集合”)。一般用来描述面域邻接。 拓扑关联关系存在于不同类型元素之间。一般用来描述结点与边、边与面的关系。

拓扑包含关系用来说明面域包含于其中的点、弧段、面域的对应关系。包含关系有同类的,也有不同类的。

Page 18: 空间数据与地图数据库

2.5 拓扑关系的表示拓扑关系的表示分为:显示表示和隐式表示。1.显示表示:就是将网结构元素(结点、弧段、面域)间的拓扑关系数据化,并作为地图数据的一部分给以存储,这就叫拓扑关系的显式表示。2.隐式表示:不直接存储拓扑关系,而是由几何数据临时推导生成所需的拓扑关系,这就叫拓扑关系的隐式表示。 计算导出耗时的那部分拓扑关系用显式表示;其余的用隐式表示。

例子 1 :隐式表示(书上 P196 )

例子 2 :显示表示,美国人口统计局的双重独立地图编码。

Page 19: 空间数据与地图数据库

e11

e10

e9

e8

e7

e6

e5

e4

e3

e2

e1

线段号 始结点 终结点 左多边形 右多边形e1 3 1 NULL A

e2 4 3 NULL B

e3 3 2 A B

e4 1 2 NULL A

e5 4 2 B C

e6 2 5 NULL C

e7 5 6 E C

e8 6 4 D C

e9 7 6 D E

e10 7 4 NULL D

e11 5 7 NULL E

结点号 X 坐标 Y 坐标

1 X1 Y1

2 X2 Y2

3 X3 Y3

4 X4 Y4

5 X5 Y5

6 X6 Y6

7 X7 Y7

1. 地图网络编码

3. 拓扑结构文件

2. 结 点 坐 标 文件

双重独立地图编码( DIME)

Page 20: 空间数据与地图数据库

弧段 起点 终点e1 2 1

e2 1 4

e3 1 3

e4 2 3

e5 4 3

e6 3 6

e7

e8

e9

e10

e11

e12

弧 段 e1 e2 e3 e4 …

坐标序列 … … …(5 , 5) 、 (9 ,

5)…

1.Arc/Info 中的“弧段与结点之间的拓扑结构”

Page 21: 空间数据与地图数据库

多边形 弧 段

B4 - 6 - 7 - 10- 8

C 3 - 10 - 9

D 7 - 5 - 2 - 9

E 1 - 5 - 6

F8 (一条弧线组成)

Polygon - arc表

弧线 坐标序列

e1 5,3 5,5 8,5

… …

e6 7,4 6,3 …

… …

Arc 坐标表

2.Arc/Info 多边形与弧线拓扑结构

Page 22: 空间数据与地图数据库

弧 线 左多边形 右多边形e1 A E

e2 A D

e3 A C

e4 A B

e5 E D

e6 B E

e7 B D

e8 B F

e9 D C

e10 C B弧线 坐标序列

e1 5,3 5,5 8,5

… …

e6 7,4 6,3 …

… …

Arc 坐标表

左右多边形表

3.Arc/Info 中左右多边形拓扑结构(存储在 Arc 文件中)

Page 23: 空间数据与地图数据库

2.6 Arc/ Info 拓扑结构小结 Arc/Info 利用拓扑结构在两个简单的坐标要素——弧线和结点的基础上表示附加的地理信息。也就是说:地理数据作为 X , Y 坐标对序列来存储,分别代表点、线、多边形。这些地理特征之间的关系通过拓扑结构来表达。相关的表格数据存储在表格中,通过内部标识号连接到地理特征上。

拓扑结构数据模型可以更有效地存储数据,它提供了进行高级地理分析框架。例如:拓扑结构模型由组成多边形边界的弧的列表来构建多边形。当两个多边形共享一条公共边时,系统只存储公共弧坐标值一次。 一个非拓扑结构数据模型把每个封闭的多边形作为一个独立的实体存储,邻接多边形公用的一条弧必须输入并存储两次,这通常通过数字化两次或者弧的拷贝来完成。这种重复数据是地理分析更为困难,因为系统不能够观察出这两个多边形的拓扑关系。非拓扑结构模型是许多 CAD 、绘图和制图系统支持的常见模型。

Page 24: 空间数据与地图数据库

2.7 拓扑关系是空间数据处理

拓扑关系的建立属于空间数据处理的内容。

空间数据获取有各种不同的方法,但无论哪种方法获取的数据都可能存在这样或者那样的问题和误差,如数字化错误、数据格式不一致、比例尺或投影不统一、数据冗余等。

因此:只有通过空间数据的处理才能使空间数据符合 GIS数据库的要求,才能实现 GIS 的各种功能。

空间数据处理的主要内容包括:图形编辑、自动拓扑、坐标变换、数据压缩、结构转换、数据内插等。

Page 25: 空间数据与地图数据库

三 建立多边形拓扑

3.1 弧段的组织

3.2 结点的匹配

3.3 检查多边形是否闭合

3.4 建立多边形

Page 26: 空间数据与地图数据库

3.1 弧段的组织 边(弧段)的组织:把弧段按一定顺序存储,如 X坐标或者 Y 坐标的顺序,便于检索和查找,然后按顺序编号。

弧段的中间相交:

要求中间断开

弧段的端点相交:

要求结点匹配

Page 27: 空间数据与地图数据库

3.2 结点匹配

结点匹配

结点匹配是指把一定限产诶的弧段的端点作为一个节点,其坐标值取多个端点的平均值,如图,然后,对结点顺序编号。

Page 28: 空间数据与地图数据库

3.3 检查多边形是否闭合

P

检查多边形闭合可以通过判断一条弧的端点是否有与之匹配的端点来进行。

图中弧段 a 的端点 P没有与之匹配的端点,因此无法使用这条弧与其它弧组成闭合多边形。

可能的原因是:结点匹配限差的问题造成端点未匹配;数字化误差较大,甚至数字化错误,这些都可以通过图形编辑或重新匹配来确定。另外如果该弧段本来就是悬挂弧线,不需要拓扑,做一个标记即可。

Page 29: 空间数据与地图数据库

3.4 构建拓扑多边形

3.4.1 基本常识

3.4.2 多边形拓扑关系自动建立的两个算法

3.4.2.1 弧段跟踪法

3.4.2.2 栅格填充法

Page 30: 空间数据与地图数据库

3.4.1 基本常识( 1 )

1. 顺时针方向构建多边形 所谓顺时针方向构建多边形是指多边形在弧段的右侧。这需要定义弧线的方向。

A

B左边

右边 左边右边

A

B

Page 31: 空间数据与地图数据库

3.4.1 基本常识( 2 )

2.最靠右边的弧段

a

c d

b

最靠右边的弧段是指从弧段的一个端点出发,在这个弧段的方向上最靠右边的一条弧段。

如图:弧段 a最靠右边的弧段是 d.

找最靠右边的弧段可以通过计算弧段的方向和夹角来实现。

Page 32: 空间数据与地图数据库

3.4.1 基本常识( 3 )

3. 多边形面积的计算

设构成多边形的坐标串为( Xi , Yi )( i=1 , 2 , 3 ,… n) ,则多边形的面积可以用如下公式求出:

n

iiiiiA xxyyS

1112

1

n

iiiiiA xxyyS

1112

1

n

iiiiiA xxyyS

1112

1

其中,当 i=n 时, yn+1= y1 , xn+1=x1;当 i=1 时 ,y0

= yn 。根据该公式,当多边形右顺时针方向构成时,面积为正;否则为负。

正 负

Page 33: 空间数据与地图数据库

3.4.2.1 弧段跟踪法 此法是基于弧段的邻接关系,按照一定规则沿弧段跟踪形成各个闭合环,然后采用内点匹配法得到各个环与内点的包含关系,最后根据多边形结构特点,确定环与内点的圈定关系,即是建立多边形面域与弧段的关联关系。

具体分为如下几步:

1. 弧段邻接关系的建立

2.环的生成

3. 建立环与内点的包含关系

4. 建立环与内点的圈定关系

Page 34: 空间数据与地图数据库

弧段邻接关系的建立 如果两条弧段具有相同的端点,则定义这两条弧段具有邻接关系。

记录规则:邻接于弧段同一端点的各个邻接弧段按顺时针方向顺序记录;按照数字化方向,如果邻接弧段是首点邻接,则在其前面冠以正号,否则冠以负号。

1首 + 5 ,- 2

末 - 4 ,+ 6

2首 - 7 ,- 3

末 + 1 ,+ 5

3首 + 8 ,+ 4

末 + 2 ,- 7

4首 + 3 ,+ 8

末 + 6 ,- 1

弧段邻接关系表

Page 35: 空间数据与地图数据库

环的生成

弧 段2

前端

后端

弧 段3弧 段1

最靠左边的弧段

弧 段1

前端

后端

弧 段2弧 段4

最靠左边的弧段

弧 段4

前端

后端

弧 段1弧 段3

最靠左边的弧段

弧 段3

前端

后端

弧 段4弧 段2

最靠左边的弧段

从弧段 2开始跟踪,则圈定多边形 A的环记录为: (+2 ,+ 1 ,- 4 ,+ 3)

Page 36: 空间数据与地图数据库

建立环与内点的包含关系

1

2 3

45

6

Ⅵ ⅤⅣ

环 号 内点数目 内 点

Ⅰ 61 , 2 , 3 , 4 , 5 ,6

Ⅱ 3 2 , 4 , 5

Ⅲ 2 3 , 6

Ⅳ 2 3 , 6

Ⅴ 1 6

Ⅵ 1 2

Ⅶ 2 4 , 5

Ⅷ 1 5

Ⅸ 1 5

Ⅹ 1 6

按环记录中的关键字,可将该环上各弧段坐标数据读出,对所有内点匹配,便能确定环与各内点的包含关系。

Page 37: 空间数据与地图数据库

环号与内点的圈定关系 1

1

2 3

45

6

Ⅵ ⅤⅣ

从图中可以看出:一个多边形可能有一个或多个环,但是一个多边形只有一个内点(数字化的时候输入)。所以,环与内点的拓扑关系可能是一对一或多对一的关系。

按照右图建立的环与内点的包含关系是纯几何上,也就是多对多的几何包含关系。

拓扑结构需要确定一对一的点环关系,就是一个内点就要代表一个多边形。所以需要找出环是属于某一内点所代表的多边形的。即是建立多边形与轮廓的关联关系。

Page 38: 空间数据与地图数据库

环号与内点的圈定关系 2

Ⅱ Ⅲ

Ⅶ Ⅳ

65 4 132

点与环的对应关系就确定了。

将包含关系表示成一颗形式化的树。

从底层向上在关系树中不断搜索环与内点的圈定关系(一对一或多对一的关系),并从关系树中“剪去”的过程。

Page 39: 空间数据与地图数据库

3.4.2.2 栅格填充法

1.这是一种矢量-栅格混合处理方法。

根据多边形轮廓边(弧段)几何信息以及多边形“内点”信息,利用栅格填充法从“内点”出发向四周搜索,找出包围该面域的各个轮廓边,从而构成面与各边的关联关系,由各多边形的关联关系便能方便地导出“边”的左右侧面域的邻接关系。

2.栅格填充法的基本思想参考书籍《计算机地图制图原理》 P201

Page 40: 空间数据与地图数据库

理解栅格填充法的难点

1.栅格填充法的基本假设

2. 算法中的分级填充

3. 算法中的结点处理

4. 算法中的方向判断

见教材《计算机地图制图原理》 P203

Page 41: 空间数据与地图数据库

第二部分 地图数据结构

一 . 地图要素的有向图表示

二 . 地图数据结构的基本单元

三 . 目表的结构表示

Page 42: 空间数据与地图数据库

地图要素的有向图表示

1. 地图要素的分类(按几何特征)

2. 地图要素的概括 P204

3. 地图要素的实地分布图—抽象为一个有向图

D=( V , E ) P204

2.1 什么叫内点?

2.2 为什么可以用内点抽象代表整个面域? P204

4. 地图要素的有向图表示-- P205 图 5.13

Page 43: 空间数据与地图数据库

地图数据结构的基本单元

Page 44: 空间数据与地图数据库

目标的结构表示

Page 45: 空间数据与地图数据库

第三部分 地图数据库系统

一 . 数据库的概念

二 . 地图数据库在机助制图系统中的作用

三 . 地图数据库管理系统介绍

四 . 地图数据的完整性

五 . 地图符号库与汉字库

地图制图是一种信息传输过程,也是地理数据的处理过程。这个过程必须以数据库为中心,以便更加有效地实现地图信息采集、存储、检索、分析处理和图形输出等系统化。地图数据库是计算机地图制系统的核心,也是地理信息系统的重要组成部分。

Page 46: 空间数据与地图数据库

一 . 数据库的概念

1.1 数据库技术的产生

1.2 数据库系统的构成

1.3 数据模型(层次、网状、关系)

1.4 数据库的抽象分级

1.5 数据库管理系统的功能和组成

1.6 用户访问数据库的过程

Page 47: 空间数据与地图数据库

1.1 数据库技术的产生

◆人工管理: 50 年代中期以前(这时计算机还没有完整的操作系统)◆文件系统: 50 年代后期到 60 年代中期◆数据库系统: 60 年代后期开始( DBMS 广泛应用)

所谓数据处理就是对数据的收集、整理、存储、分类、排序、检索、维护、加工、统计和传输等一系列工作全部过程的概述。数据处理的目的就是使我们能够从浩瀚的信息数据海洋中,提取出有用的数据信息,作为我们工作、生活等各方面的决策依据。数据管理则是指对数据的组织、编码、分类、存储、检索和维护,它是数据处理的一个重要内容中心。

数据处理工作由来以久,早在 1880 年美国进行人口普查统计时,就已采用穿孔卡片来存储人口普查数据,并采用机械设备来完成对这些普查数据所进行的处理工作。电子计算机的出现以及其后其硬件、软件的迅速发展,加之数据库理论和技术的发展,为数据管理进入一个革命性阶段提供有力的支持。根据数据和应用程序相互依赖关系、数据共享以及数据的操作方式,数据管理的发展可以分为三个具有代表性的阶段,即人工管理阶段、文件管理阶段和数据库管理阶段。

Page 48: 空间数据与地图数据库

1.1.1 文件系统与数据库系统文件系统: 在 DBMS出现以前,把需要管理的数据存放在永久性的系统文件中,同时为了能够操作这些文件里的数据,系统里还有针对这些文件编写的应用程序[书上 P211 图 5.16 ]。如银行为了保存所有客户及储蓄帐户的信息,可能包括如下应用程序:

◆创建新帐户的程序◆处理某帐户的借 /贷程序◆查询帐户余额的程序◆产生每月财务报告的程序

这种典型的文件处理系统是传统的操作系统所能支持的。随着银行业务的发展,需求不断增长,随之新的数据文件和应用程序就会不断地加入到系统中来。例如支票帐户的信息与特殊处理(透支)。

Page 49: 空间数据与地图数据库

1.1.2 文件系统的弊端 11 、数据冗余和不一致: 数据冗余是指相同的信息可能在不同的地方(文件)重复存储。如某个客户的地址和电话号码既可能在由储蓄帐户记录组成的文件里出现,也可能在由支票帐户记录组成的文件中出现;数据冗余还可能导致数据不一致,即同一数据的不同副本不一致。由于数据分散在不同的文件中,这些文件又可能具有不同的格式,而且数据和数据之间的联系很难表达。如某个客户地址的更改可能只是在储蓄帐户文件里得到反映而在系统的其他文件中没有得到反映。

2 、数据缺乏独立性: 文件系统的数据结构依赖于应用程序的要求,数据的逻辑结构是在具体应用程序的限制下进行优化的。因此,要改变数据结构或者改变应用程序,都互相制约,造成困难。在实际情况中,由于数据使用者的要求不断变化,需要不断地增加和修改程序才能满足新的要求。比如银行的高级行政管理人员今天可能需要储蓄帐户中余额不少于 1000元的客户清单,明天又可能需要所有居住在邮编为 100084 的地区的客户清单。 传统的文件处理环境不能支持以一种方便而有效的方式去获得所需数据,需要开发通用的、能对变化的需求作出更快反应的数据检索系统。

Page 50: 空间数据与地图数据库

1.1.2 文件系统的弊端 23、缺乏对数据的统一控制和管理:

使应用程序的编制相当繁琐,对数据的完整性、安全性等缺乏有效的控制和管理。

完整性问题:文件中所存储数据的值必须满足某种一致性约束。例如银行帐户的余额永远不会低于某个预定的值—— 10元。开发者通过在不同的应用程序中加入适当的代码来体现系统中的这些约束。但当新的约束加入系统时,很难通过修改程序来体现这些新的约束。尤其是当约束涉及到不同文件中的多个数据项时,问题就变得更加复杂了——如何表达和实现约束?

安全性问题:并非系统的所有用户都可以访问所有的数据。例如在银行系统中,银行员工的工资发放人员只需要看到数据文件中有关银行员工的那部分信息,他们绝对不需要访问关于客户帐户的信息。由于应用程序总是即兴加入到系统中来,这样的安全性约束在文件处理系统中难以实现。

Page 51: 空间数据与地图数据库

1.1.3 数据库技术的目的

数据库管理系统的目的就是为了解决上面提到的和未提到的在文件系统中存在的问题:数据冗余和不一致数据缺乏独立性缺乏对数据的统一控制和管理 由于这些问题,数据库管理系统提出了很多新的概念和算法,加速了 DBMS 的发展。

Page 52: 空间数据与地图数据库

1.1.4 数据库系统的定义 由于数据库系统是一个由许多基本概念、技术方法和其应用对象所组成的复杂的有机整体。很难用一两句话将其描述清楚。但为了对它有一个总体的了解,首先这里我们试着给出一个关于数据库系统的定义,即数据库系统中的数据库是一个已被规格化和结构化且相互关联的数据集合,这些数据中不存在有害的或无意义的冗余;数据的组织与存储结构与使用这些数据的程序相互独立;数据库中的数据可同时为多个应用服务;数据库中的数据定义、输入、修改和检索等所有操作均是按一种公用的且可控的方式进行。根据这一数据库定义以及实际应用的具体数据库系统的情况,可以认为一个数据库系统实际上是由三部分内容组成,它们是数据库、多种应用和数据库管理系统。

图 数据库系统组成

用户 1

用户 2

用户 n

数据库管理系统 数据库

Page 53: 空间数据与地图数据库

1.1.5 数据库系统三个部分数据库:相互关联的且具有最小冗余的数据在其中按照一定物理组织结构存放,并且从用户和数据库管理系统角度来看,这些数据又是按一定逻辑结构组织的。这种物理组织结构和逻辑组织结构在最大程度上与用户所编制的应用程序相互独立。

多种应用:数据库中的数据,在数据库管理系统的控制与管理之下,可以同时为多种不同内容的应用提供服务,即可以为多个不同目的用户服务,各用户所操作使用的数据可以是相互交叉的。用户的操作方式既可以按以数据输入 / 输出和数据维护为主的数据流量较大的批处理方式进行;也可以按以查询为主的数据流量较小的联机处理方式进行,必要时还可以通过编程来完成对数据库中数据的各种操作。

数据库管理系统:它一方面负责对数据库中的数据进行管理和维护;一方面为用户操作数据库中的数据提供一种公用的操作方法,接收用户的操作命令,帮助完成有关的对数据库的操作并保障数据库的安全。

Page 54: 空间数据与地图数据库

1.1.6 数据库系统的特点 1特点一:数据库系统是从整体角度考虑数据的组织,因此它必须有能力描述能够反映客观事物及其相互联系的复杂数据模型,使用它能够对数据本身及相互间的各种关系进行充分描述,这也是人们为什么要采用数据库系统来进行数据管理的主要原因之一。目前数据库系统共提供了四种数据模型,它们是层次数据模型、网状数据模型、关系数据模型和对象数据模型,一种类型数据库系统通常只提供上述其中一种数据模型描述方法,即只支持其中一种数据模型的数据逻辑组织结构。

特点二:数据库中数据的独立性。为了说明这一点,首先我们介绍两个概念,( 1 )数据在物理存储设备上的组织结构被称为数据的物理组织;( 2 )数据在用户或应用程序面前所表现出的组织结构被称为数据的逻辑组织;一种数据的逻辑组织,可以采用不同的物理组织来实现,物理组织的好坏影响着系统的性能和效率。在运行阶段中,由于性能的要求或存储设备的改变,从而引起数据物理组织的改变,这种改变称为数据的再组织。用户在编制应用程序时,则是根据数据的逻辑组织对数据进行操作的。因此数据物理组织的变化,不会影响数据的逻辑组织,因而也就不会影响已有的应用程序,这种情况就被称为数据的物理独立性;而数据的逻辑独立性是指当数据的逻辑组织发生变化时,如数据模型中增加了新的记录类型,某一记录类型中增加了新的数据项等,原有应用程序的执行不受影响或影响最小。数据的独立性,包括物理和逻辑的独立性,都是由数据库管理系统进行维护的。

Page 55: 空间数据与地图数据库

1.1.6 数据库系统的特点 2

特点三:数据共享,由于数据库是从整体的角度对数据进行组织的,并在保证数据一致性的情形之下,使数据库中的数据为尽可能多的用户提供应用服务。这些用户所使用的数据可以是交叉的,即数据可以共享。如果数据不能共享,数据库中则必然会出现大量的冗余数据,这样不仅造成存储空间的浪费,更主要的是由此可能带来数据不一致的隐患。

特点四:数据库系统的安全可靠与完整,一个数据库系统的可靠性体现在它的软件系统运行故障率很小以及在数据库系统由于各种意外而出现故障时,数据库中的数据的损失最小;安全性是指数据库系统对其所存储的数据的保护能力,能够有效地防止数据有意无意地泄露或篡改,控制数据的授权访问等。而数据库系统的完整性则是指在多用户操作数据情况下,数据能够保持一致性。这些特性可以从以下几个方面进行说明 :

Page 56: 空间数据与地图数据库

1.1.6 数据库系统的特点 3〈 1〉安全性控制:安全性控制主要指的是数据库的保密性。并不是每个用户都能够存取数据库中所有数据的,负责人和全体工作人员允许掌握的数据范围显然是有区别的,数据库系统把各用户存取数据的权利分成若干等级,如教学人员作为一个用户可以登录学生的成绩,而学生作为一个用户则仅可以查阅成绩而无法对它进行修改或删除。通过对各个用户授于不同的使用权限,以确保数据库免遭损害和被非法使用,通常是通过采用口令密码以及数据库中数据访问授权等方法对使用者操作数据的合法权进行检验,以实现对数据库中数据安全性的保护控制。

〈 2〉完整性控制:所谓完整性包括数据的正确性、有效性和相容性。正确的数据不一定是有效的。如若用两位阿拉伯数字来表示月份,在输入 14 来代表月份时显然是无效的。数据库系统应提供尽可能多的检验措施,以确保数据库中的数据满足用户所要求的各种约束要求。

〈 3〉并发控制:在多用户操作使用数据库系统的情况下,不同用户并行地操作数据库就可能引起对数据库的干扰,从而使得数据库中的数据发生不一致的问题。如当甲用户从数据库中预定了仅剩的一张机票之后,若在数据库尚来不及将剩余的机票数改为零时,乙用户又请求订票时怎么办?显然对这种并发的操作要采取某种控制措施,最常用的方法是封锁技术,以排除和避免这种错误的发生,保证数据库中数据的操作能够正确完成执行。

〈 4〉故障的发现与恢复:由于数据库系统在运行过程中很难保证不产生故障、出现意义或受到破坏,而且往往这些情况的发生的时间都是随机的,如断电、用户误操作等,而重建一个数据库往往要花费很大的精力和代价,有时甚至是不可能的,因此数据库系统应提供应急保护设施,一旦系统的软硬件发生故障或用户误操作导致系统异常时,系统应能够以尽量小的代价,尽快地恢复数据库的内容和系统的正常运行。

Page 57: 空间数据与地图数据库

1.2 数据库系统的构成

硬件CPU

数据库DateBase

数据库系统中的硬件与软件

参见《数据库系统定义》和《数据库系统的三个部分》

Page 58: 空间数据与地图数据库

1.3 数据模型

数据库结构的基础就是数据模型。它是对客观事物及其联系的数据描述,也就是实体模型的数据化。实体模型和数据模型是对客观事物及其联系的两级抽象描述,前者是后者的先导。

基于对象的逻辑模型

数据模型 基于记录的逻辑模型 网状模型层次模型

关系模型

面向对象模型

实体联系模型

(逻辑层和概念层)

逻辑数据模型

物理数据模型(物理层)

一、概述

Page 59: 空间数据与地图数据库

主要内容

从现实世界到数据世界的转换 数据模型的体系结构 数据模型 GIS 中的数据模型

二、主要内容

Page 60: 空间数据与地图数据库

1.3.1 现实世界到数据世界

客观事物变化多样,要研究、认识它们,就必须对它们进行抽象和概括,需要经历一个信息的获取、分析、处理、利用的过程。

认识抽象

信息世界概念模型

( 不依赖计算机 )

转换 机器世界DBMS 支持的

数据模型

现实世界的信息

Page 61: 空间数据与地图数据库

信息控制系统

信息规范

数据库

客观事物

控制决策机构(用户)

询问

向应数据化

信息

决策

数据世界

信息世界

现实世界

策略措施

观测机构

信息控制系统

Page 62: 空间数据与地图数据库

1.3.2 数据模型的体系结构

1. 概念模型 2.逻辑模型 3. 物理模型

Page 63: 空间数据与地图数据库

1.3.2.1 概念模型

概念模型确定所感兴趣的现象的基本特性 / 要素 / 属性,描述现象中要素间的相互联系,从而确定数据库内容 。概念模型是现实世界到机器世界的一个中间层次。用于信息世界的建模,是现实世界到信息世界的第一层抽象。是数据库设计人员进行数据库设计的有利工具。实体 --关系法( E-R 模型)是建立空间概念数据模型时采用的主要方法 。

一、一般意义上的概念模型

Page 64: 空间数据与地图数据库

实体 --关系法( E-R 模型)

表示概念模型最常用的方法是实体 - 联系方法( Entity-Relationship Approach ),它是 P. P. S. Chen于 1976 年提出的。这个方法直接从现实世界抽象出实体及其相互间的联系,并用实体 - 联系图( E-R 图)来描述某一组织的概念模型。 E-R模型的基本元素有:实体、属性和联系。 基本元素的表示方法:1. 实体型:用矩形框表示,矩形框内写明实体名2. 属性:用椭圆形表示,椭圆形内书写属性的名称,并用一条直线与其对应的实体型相连接。例如,实体型学生(学号、姓名、年龄、性别、年级、系、专业)和实体型成绩(学号、课号、成绩、学分),可以表示为:

学生实体及属性

学生学生

学号学号

姓名姓名

年龄年龄

性别性别

年级年级

系系 专业专业

二、 E-R模型

Page 65: 空间数据与地图数据库

面向对象模型与 E-R 模型

面向对象模型与 E-R 模型的差别: 分别用于逻辑层和概念层。与 E-R 模型中的实体不同,面向对象模型中的每个对象都有一个与其所包含值无关的唯一标识。因此,包含相同值的两个对象仍然是有区别的,但在 E-R模型中它们可能是同一实体。这种不同对象的区别是通过在物理层赋给对象唯一的对象标识符来实现的。

Page 66: 空间数据与地图数据库

GIS中的概念模型

确定所感兴趣的现象的基本特性,描述实体间的相互联系,从而确定空间数据库的信息内容。目前广为采用的基于平面图的点、线、面数据模型和基于连续铺盖( Tessellation )的栅格数据模型。基于平面图的点、线、面数据模型的一个核心问题是描述和表达点、线、面空间目标及其相互间的拓扑空间关系 [Laurini,1992] 。实体 -- 关系法是建立空间概念数据模型时采用的主要方法 [Caron ,1993;Webster,1992],如果将某些实体进一步细分的话,则得到 ECR模型( Entity--Category--Relationship Model ) [Armstrong,1990] 。

概念数据模型很好地描述了二维平面图基本特征和简单关系,美国国家数字制图委员会于 1986 年提出了制图单元的要素分类,定义了 0--维要素(点、结点)、 1--维要素(线段、连线、有向连线、线串、链、弧、环)、 2--维要素(区域、多边形、象元、网格单元)和特殊要素(特征点、标识点、区域点、区域链、完整链、网络链) [苏亚芳, 1994]

仅仅利用概念数据模型很难完成相关的 GIS 计算,如矢栅一体化、三维空间计算、时态 GIS 计算、效率较高的空间分析和分布式 GIS 计算等,但概念数据模型为所有的 GIS 系统提供了认识基础。

Page 67: 空间数据与地图数据库

1.3.2.2 逻辑模型

逻辑数据模型是根据概念数据模型确定的数据库内容(对象特性及相互关系),来具体地表达数据项、记录等之间的关系,因而可以有若干不同的实现方法。一般而言,可将逻辑数据模型分为结构化模型、面向操作的模型,这些模型是建立在层次结构、网络结构和关系模型的基础上的,一般说来表现复杂关系的能力较差或本身的关系过于复杂不便计算。

一、一般意义上的逻辑模型

Page 68: 空间数据与地图数据库

GIS中的逻辑模型二 .GIS里面的逻辑模型

逻辑数据模型是根据概念数据模型确定空间数据库信息内容(空间实体及相互关系),具体地表达数据项、记录等之间的关系,因而可以有若干不同的实现方法。一般而言,可将空间逻辑数据模型分为结构化模型、面向操作的模型[Armstrong,1990] ,这些模型是建立在层次结构、网络结构和关系模型的基础上的,一般说来表现复杂关系的能力较差或本身的关系过于复杂不便计算,这是早期 GIS 系统采用的模型方法。

将所选用的概念模型转换为逻辑模型是设计 GIS 空间数据库的核心任务,除去经典的地学关系 (ARC/INFO 、 MGE 等采用 ) 等模型,一些新的研究成果同样引起了人们的关注,如:面向对象的空间数据模型 [ 龚健雅, 1993 , 1995; 唐小明等, 1994 ;扬树强, 1997] 、时空数据模型 [Langrane G,1993] 、 Voronoi 动态空间数据模型 [C.M.Gold 1991] 、三维空间数据模型 [Molennar M,1990] 、分布式空间数据模型 [Shong XianFeng,1997;R.M.Jones,1997]] 和基于超图模型的空间数据模型

Page 69: 空间数据与地图数据库

1.3.2.3 物理模型 逻辑数据模型不涉及最低层的物理实现细节,但在研究和应用的过程中,必须将逻辑数据模型转换为物理数据模型,即要设计数据的物理组织、存取方法、数据库总体存储结构等 。

空间逻辑数据模型并不涉及最低层的物理实现细节,众所周知,必须将空间逻辑数据模型转换为物理数据模型,即要设计空间数据的物理组织、空间存取方法、数据库总体存储结构等。数据存取和查询优化是这一领域的重要研究课题 [Kriegel HP,1991;Lee YC,1993] 。

超图模型为空间存取(尤其是分布式存取)和查询优化提供了新的方法,超图数据模型的图论抽象表示方法,表达了数据组织和抽象的各种信息,方便了概念设计和逻辑设计,凡图示所表示的联系,均可用作检索路径,数据完整性约束可作为类的附加属性加以说明

GIS里面的物理模型

Page 70: 空间数据与地图数据库

1.3.3 数据模型

表示实体及实体间联系的模型叫数据模型。数据模型主要有以下几种:

1.层次模型2. 网络模型3. 关系模型4. 面向对象模型

Page 71: 空间数据与地图数据库

1.3.3.1 层次模型

层次模型是一种树结构模型,它把数据按其自然的层次关系组织起来,以反映数据之间的隶属关系。在这种数据模型中只能表示逐层的 1: N (包括 1 : 1 )联系。层次模型应满足条件:

1. 有且仅有一个结点无“双亲节点”,这个结点称为树的根;

2. 其它的结点有且仅有一个“双亲结点”。其它性质有:

.所有结点的连接都是从父结点到子结点;

. 两个结点之间最多有一种连接;

.没有回路存在。 所谓双亲结点是指即有“父亲”又有“儿子”的结点。

层次数据模型是定义在E-R数据模型基础之上一种数据模型,它与层次数据库系统中数据逻辑组织结构是一致的。

Page 72: 空间数据与地图数据库

层次模型示意图用树形结构来表示实体关系的模型叫层次模型。如:

大学

研究所矿院处

科 1 测绘系 地科系 研究室科 2

教研室 1 教研室 2

Page 73: 空间数据与地图数据库

1.3.3.2 网络模型

网络模型是数据模型的另一种重要结构,它反映着现实世界中实体间更为复杂的联系,其基本特征表现在记录间没有明确的主从联系,任意一个记录可与任意其它多个记录建立联系。在网络模型中,其数据结构的实质为若干层次结构的并,从而有较大的灵活性与较强的关系定义能力。网络模型应满足条件:

1. 基本层次联系集合中可以有一个以上的结点无双亲;

2.该集合中至少有一个结点有多于一个的双亲。

其它性质有:

.允许两个结点有两种或多种联系,这种联系称为复合链;

.可能有回路存在。

网状数据模型也是定义在E-R数据模型基础之上一种数据模型,它与网状数据库系统中数据逻辑组织结构是一致的。

Page 74: 空间数据与地图数据库

网络模型示意图 任意一个实体可以与任意其它多个实体建立联系的模型叫网状模型。如:

沈阳

北京

南京

上海

广州

西安

成都武汉

Page 75: 空间数据与地图数据库

层次与网络模型的区别网状数据模型与层次数据模型有两点不同: ( 1 )层次数据模型从子女实体到其双亲实体之间的联系是唯一的。即一个子女实体对应于一个双亲实体;而在网状数据模型中,从子女实体到其双亲实体之间的联系可以不是唯一的,如图 (a) 中, R4 实体就有两个双亲 R2 和 R3 。因此在网状数据模型中,就不能再用指定双亲的方式来定义联系了。 ( 2 )网状数据模型中容许有复合链。即两个实体型之间可以有两种以上联系,如图 (b) 所示。 R1 实体和 R2 实体之间有两种联系 SET1 和 SET2 。如 R1 实体为工人, R2 实体为机器, SET1 为“使用”联系, SET2 为“保养”联系。

R1

R2

R4

R3

R1 R2

R3

R4

R1

R2

SET1 SET2

图 a 图 b 图 b

Page 76: 空间数据与地图数据库

1.3.3.3 关系模型

关系模型是根据数学概念建立的,它把数据模型看成关系的结合,是将数据结构归结为满足一定条件的二维表形式。此处,实体本身的信息以及实体之间的联系均表现为二维表即关系。表格是同类实体各种属性的集合,在数学上把这种二维表格叫做关系。二维表的表头,既表格的格式是关系内容的框架,这种框架叫做模式,它包括关系名、属性名、主关键字等,关系由许多同类的实体所组成,每个实体对应表中的一行,叫做一个元组,表中的每一列表示同一种属性,叫做域。表中若有 n 个域,则表中的每一行叫做一个 n元组,这样的关系叫做 n 度关系,或叫 n元关系。

关系模型是 1970 年 IBM公司的 E.F.Codd 在论文《一个通用的关系数据库系统模型》提出的。之后, E.F.Codd 以及其它数据库的专家又定义了关系数据库的基本概念,引进了规范化理论,提出了关系代数和关系演算等数据操纵语言,为数据库的发展奠定了坚实的基础,由于关系数据库是建立在较完善的关系理论数学基础之上,同时它简单明了,便于用户理解和使用,自八十年代以来,关系数据库系统已成为数据库领域中最为活跃的一个分支。

关系数据模型是定义在E-R数据模型和关系的数学定义基础之上一种数据模型。

Page 77: 空间数据与地图数据库

关系模型示意图

用二维表格的形式来表示实体之间的关系的模型叫关系模型。

姓名 性别 出生日期 职务张三 男 1957/12/01 处长李四 女 1965/11/25 科长王五 男 1978/04/08 科员

表头

表格

数据库的总体设计称作数据库的模式,如上面的“表头”。随着时间的推移,数据库中的数据会发生变化。特定时刻存储在数据库中信息的集合称作数据库的一个实例,如表中的“表格”。

Page 78: 空间数据与地图数据库

关系模型相关概念

关系:二维表模式:二维表表头的格式元组:二维表中的一行叫一个元组域:二维表中的一列单纯域:一个域仅表示一种属性值关键字:设 K 为 R 中的一个属性组合,若 K 能唯一标识 R 的元组,同时不包含多余的属性,则称 K 为 R 的关键字。

Page 79: 空间数据与地图数据库

关系代数 关系代数是由一组以关系作为运算对象的特定的运算所组成的。用户通过这组运算,对一个或多个关系不断地进行组合与分割而得到所需的数据。关系代数常用的运算有:并运算、交运算、差运算、笛卡尔积、投影运算、选择运算、联接运算、除运算等。

选择运算( SELECTION )。选择运算是将关系作为元组的集合,从中选择出满足一定要求的元组,其运算结果是一个新的关系。简单地说就是对关系表的行进行选择操作。从中选择出满足一定要求的行组成一个新关系表。选择运算可以表示为: SELECT〈关系表名〉WHERE〈选择条件〉。

投影运算( PROJECTION )。投影运算是从构成一个关系的若干基本属性集合出发,从中选取某些基本属性集合,重新构造成出另一关系,因此其运算结果也是产生一个新的关系。简单地说就是对关系表的列进行选择操作。从中选择出若干列组成一个新关系表。投影运算可以表示为: PROJECT〈关系表名〉ON〈属性名〉。

连接运算( JOIN )。连接运算是对两个关系进行运算,从构成这两个关系的所有基本属性集合中,选择出满足一定要求的基本属性集合,重新构造一个新关系,因此其运算结果也是产生一个新的关系。简单地说就是对两张关系表的行进行合并操作,从中选择出满足对列一定要求的行,组成一个新关系表。连接运算可以表示为: JOIN〈关系表名 1〉 AND〈关系表名 2〉WHERE〈连接条件〉。

选择运算、投影运算和连接运算是关系代数中,最基本的数据操作运算,这些基本运算为建立关系数据库系统的操作语言奠定了基础。无论要检索满足何种条件的数据,其检索过程涉及到几个关系(表),运用这三种运算操作,都可以实现。目前实际上应用的关系数据库的数据操作语言都是基于这三种关系代数运算而构造的。

Page 80: 空间数据与地图数据库

关系模型的规范化

•Normalization 的主要目的是消除数据冗余、避免更新异常。它的理论基础是 Normal Form 理论。 •Functional Dependence (函数依赖)

•1. 第一范式•2. 第二范式•3. 第三范式•4. 第四范式•5. 第五范式

规范化是关系模型中的一个重要概念,是关系理论的核心部分。所谓的规范化是用更单纯的、结构更规则的关系逐步取代原有关系的过程,或者说是把一个低一级范式的关系,通过投影运算分解为若干更高一级范式的关系的集合,使之适合关系代数和关系演算的要求。规范化理论是建立在这种思想的基础上。使确定的一组关系在插入、更新与删除方面比包含同样数据的其它一些关系具有较好的性能,这样会使数据结构具有稳定性和灵活性,以适应数据库的发展和扩充的需要。

Page 81: 空间数据与地图数据库

第一范式

第一范式要求表中的每个域都是单纯域(表中不能套表),即消除重复组。解决的办法:分解表,将非单纯域化为单纯域。

第一范式( 1NF ):如果关系模式 R ,其所有的域为单纯域,即其元素不可在分,则称 R 是规范化的关系,或称第一范式( 1NF )

Page 82: 空间数据与地图数据库

第二范式

•第二范式要求一个关系中的所有非主属性都完全依赖于主关键字。•完全函数依赖: A'真包含于 A ,若 A'则 B ,那么 B完全函数依赖于 A 。•主属性:包含在候选关键字中的属性称为主属性。•解决的办法:分解表,消除所有非主属性对主关键字的非完全函数依赖。

Student-id Student-name Course-id score

0001 A 01 86

0001 A 02 90

0001 A 03 88

关键字为( student-id, course-id )

而 student-name 部分依赖于 student-id. 因此不是 2NF

第二范式( 2NF ):如果关系模式 R 为第一范式,且每个非主属性完全涵数依赖于主关键字,则模式 R 称为第二模式。

Page 83: 空间数据与地图数据库

第三范式

Course-id Teacher-id Room-id Students

01 0001 3202 40

01 0002 5202 50

01 0003 4303 50

关键字为( room-id, teacher-id )

而 teacher-id -> course-id. course-id -> Students.

因此不是 3NF

•第三范式要求非主属性相互独立,即非主属性与主关键字之间不能存在传递依赖关系。•传递依赖:若 S1则 S2 , S2 不一定 S1 , S2则 S3 ,那么称 S3传递依赖于 S1 。•解决的办法:用投影的方法消除非主属性对主关键字的任何传递函数依赖。

第三范式( 3NF ):如果关系模式 R 为第二范式,且每个非主属性 A 非传递依赖于主关键字 X ,即不存在满足 X→Y , Y→X , Y→A 的属性或属性集 Y ,则称关系模式为第三范式。

Page 84: 空间数据与地图数据库

第三范式的说明

1. 第三范式是数据库设计的基本要求。2. 有些复杂的数据库需要满足第五范式才不会出现插入、删除异常,保证数据的一致性。3. 有些简单的数据库,不满足第三范式也能够进行操作。 结论:需要具体问题具体分析。

Page 85: 空间数据与地图数据库

第四范式

BCNF ( Boyce-Codd Normal Form )范式是第三范式的改进,它建立于第一范式的基础上。关系模式 R 为第一范式,满足涵数依赖集合 F , X 和 A均为 R 的属性集合,且 X 不包含 A 。如果 R满足 X→A ,且 X 包含 R的主关键字,称关系模式 R 为 BCNF范式。

第四范式( 4NF ):第四范式是 BCNF 的推广,它适用于具有多值依赖的关系模式,定义为:设 R 为一关系模式, D 为 R所满足的依赖集合。如果 R 的 D 中存在一个多值依赖 X→→Y ,其中 X 不是空集也不是子集,且X , Y并未包含 R 的全部属性,则 X 中必包含 R 的主关键字。

Page 86: 空间数据与地图数据库

第五范式

第五范式( 5NF ):如果关系 R ,其每个联接依赖均由模式 R 的侯选关键字所蕴涵,则说模式 R 为第五范式。

Page 87: 空间数据与地图数据库

1.3.3.4 面向对象模型

和 E-R 模型一样,面向对象模型是一个基于对象的集合。一个对象既包括对象内存储在实例变量中的值,又包括对此对象进行操作的代码体,代码体称作方法。 对象划分为不同的类,含有相同类型的值和相同方法的对象属于同一个类。类可以看作是对象的类型定义。这种将数据和方法相结合的类型类似于程序设计语言中的抽象数据类型。

一个对象访问另一个对象数据的唯一途径是激发被访问对象的方法,这一行为称作向对象发送消息。因此,对象方法的调用接口定义了该对象的外部可见部分,对象的内部(实例变量和方法代码)对外部是不可见的。

我们来看一个表示银行帐户的对象。这样的一个对象包括实例变量( account-number和 balance )及方法(付息 pay-interest ,即在帐户余额上加上利息)。假设银行原来对所有帐户均付 6%的利息,而现在改为少于 1000元的帐户只付给 5%的利息,不少于 1000元的帐户才付给 6%的利息。对大多数的数据模型而言,这样的更改将涉及到一个或多个应用程序代码的修改;而对面向对象的数据模型而言,只需要在 pay-interest 方法内部做修改,而对象的外部接口保持不变。

Page 88: 空间数据与地图数据库

1.4 数据库的抽象分级

数据库管理系统的一个主要作用就是隐藏关于数据存储和维护的某些细节,而为用户提供数据在不同层次上的抽象视图,即不同的使用者从不同的角度去观察数据库中的数据所得到的结果—数据抽象。

Page 89: 空间数据与地图数据库

数据抽象-物理层

数据抽象—物理层: 对用户来说,了解数据库中用来表示数据的复杂的数据结构没有太大的必要。数据库管理系统通过物理层、逻辑层、概念层等三个层次的抽象来向用户屏蔽复杂性,简化系统的用户界面。 物理层:最低层次的抽象,描述数据实际上是如何存储的。物理层详细描述复杂的低层数据结构,是开发 DBMS 的数据库供应商应该研究的事情。

Page 90: 空间数据与地图数据库

数据抽象-逻辑层

逻辑层:比物理层稍高层次的抽象,描述数据库中存储什么数据以及这些数据间存在什么关系。因而整个数据库可通过少量相对简单的结构来描述。虽然简单的逻辑层结构的实现涉及到复杂的物理层结构,但逻辑层的用户不必知道这种复杂性。 逻辑层抽象是由数据库管理员和数据库应用开发人员使用的,他们必须确定数据库中应该保存哪些信息。

Page 91: 空间数据与地图数据库

数据抽象—概念层

概念层(也叫视图层):最高层次的抽象,但只描述整个数据库的某个部分。尽管在逻辑层使用了比较简单的结构,但由于数据库的规模巨大,所以仍存在一定程度的复杂性。

数据库系统的最终用户并不需要关心所有的信息,而只需要访问数据库的一部分。视图抽象层的定义正是为了使用户与系统的交互更简单。系统可以为同一数据库提供多个视图,而视图又保证了数据的安全性。

Page 92: 空间数据与地图数据库

数据抽象的三个层次

视图 1 视图 2 视图 3 视图 n...

逻辑层

物理层

Page 93: 空间数据与地图数据库

数据库抽象分级体系

数据库的应用

数据库的管理

数据库的分析设计 系统设计人员

系统管理员

用 户 子模式

模 式

存贮模式

用户数据库

概念数据库

物理数据库

在计算机中,上述的三级数据库中,实际上存在的只有物理数据库,它是数据库访问的基础,概念数据库只不过是物理数据库的一种抽象描述。用户数据库是用户与数据库的接口。用户根据子模式进行操作。用户数据库是概念数据库的一个子集。

Page 94: 空间数据与地图数据库

1.5 数据库管理系统的功能与组成

参见教材《计算机地图制图原理》 P216

Page 95: 空间数据与地图数据库

1.6 用户访问数据库的过程

参见教材《计算机地图制图原理》 P217

Page 96: 空间数据与地图数据库

二 . 数据库在制图中的作用

地图数据库本身可以认为是地理现实世界的多面模型,它是整个机助制图过程的核心,它接受各种地图数据的输入,并能根据用户的需要派生出不同类型的产品。

主要作用如下: (教材 P219 )

1. 数据获取过程,它用来存贮和管理地图信息。

2. 数据处理过程,它是资料的提供者,也是处理结果的接受者。

3. 检索与输出过程,它是形成绘图文件或各类地理数据文件的数据源。

Page 97: 空间数据与地图数据库

三 . 地图数据库管理系统

3.1 以层次型为主的地图数据库管理系统

数据库辅助索引文件:

标题索引、栅格索引和地名索引( P224 )

3.2 以关系型为主的地图数据库管理系统

Page 98: 空间数据与地图数据库

四 . 地图数据的完整性

参考教材《计算机地图制图原理》 P228

Page 99: 空间数据与地图数据库

五 . 地图符号库与汉字库

5.1 地图符号库设计的一般原则(见书 P229 )

5.2 矢量符号库(见书 P231 )

5.3 栅格符号库(见书 P233 )

5.4 符号库与地图数据库的接口(见书 P234 )

5.5 由符号信息块绘制符号的过程(见书 P235)

5.6 汉字库(见书 P238 )

地图符号库与汉字库都是机助制图系统或者是地理信息系统的重要组成部分。空间数据的检索功能只有与地图符号库系统、汉字库系统有机结合起来,才能够使空间数据符号化。

Page 100: 空间数据与地图数据库

符号库设计的一般原则

原则如下:

1.符合国家规定的地图图式

2.设计符号遵循的各种图案标准

3.符号信息块的选择

直接信息法和间接信息法( P230 )

4.符号库可扩充

Page 101: 空间数据与地图数据库

矢量符号库

矢量符号库的建立

1. 点状符号信息块( P231 )

2. 线状符号信息块( P231 )

3. 面状符号信息块( P232 )