收藏 分享(赏)

第一章数据库及数据模型.doc

上传人:dcjskn 文档编号:5154147 上传时间:2019-02-10 格式:DOC 页数:220 大小:3MB
下载 相关 举报
第一章数据库及数据模型.doc_第1页
第1页 / 共220页
第一章数据库及数据模型.doc_第2页
第2页 / 共220页
第一章数据库及数据模型.doc_第3页
第3页 / 共220页
第一章数据库及数据模型.doc_第4页
第4页 / 共220页
第一章数据库及数据模型.doc_第5页
第5页 / 共220页
点击查看更多>>
资源描述

1、1空 间 数 据 库郭际元 周顺平 刘修国 编著中国地质大学(武汉)信息工程学院2前 言空间数据库(地图数据库)是地理信息系统的重要组成部分,因为地图是地理信息系统的主要载体。地理信息系统是一种以地图为基础,供资源、环境以及区域调查、规划、管理和决策用的空间信息系统。在数据获取过程中,空间数据库用于存贮和管理地图信息;在数据处理系统中,它既是资料的提供者,也可以是处理结果的归宿处;在检索和输出过程中,它是形成绘图文件或各类地理数据的数据源。然而,地理与地图数据以其惊人的数据量与空间相关的复杂性,使得通用的数据库系统难以胜任。为此,就要用当代的系统方法,在地理学、地图学原理的指导下,对地理环境进

2、行科学的认识与抽象,将地理数据库化为计算机处理时所需的形式与结构,形成综合性的信息系统。目前,已形成商品的 GIS 系统中,多数是基于二维地图数据上进行存储、处理和分析。随着 GIS 应用领域的不断扩大,应用功能的不断增强,系统对空间数据的要求也越来越高。因此,传统 GIS 中空间数据库的管理能力已不能满足当前 GIS 对空间数据管理的需要。现今,GIS 业内人士在空间数据库的研究上正在进行新的探索和尝试,以求得能满足 GIS 各种需要的空间数据的管理模式和数据模型。例如,三维空间数据模型、时态 GIS 空间数据模型、空间数据关系化模型、网络 GIS 空间数据模型等。本教材主要是围绕 GIS

3、系统中各种空间数据的管理模式和3数据模型予以介绍,其中包括传统 GIS 系统中用到的各种数据模型,例如矢量数据模型、栅格数据模型、符号库、海量空间数据的管理等;同时也对上述的 GIS 专业人员正在研究的一些新的数据模型进行了叙述;教材中还融入了我院近年的部分科研成果。通过本教材的学习,读者既可以掌握已成熟的空间数据库的管理模式和数据模型,也可以了解当前空间数据库的最新动态和发展趋势。本教材是在 2001 年编写的空间数据库讲义的基础上,经过三年的教学实践,在广泛征求意见的前提下,进行第三次修编的。在教材的编写过程中,始终得到吴信才教授的关心和指导,并为本教材编写的指导思想和内容组织提出建议;谢

4、忠教授也为本教材提出了修改意见,在这里向他们表示感谢。由于本书的很多内容正处于研究探索之中,再加上我们水平有限,编写时间仓促,所以书中错误在所难免,欢迎同行专家和读者批评指正。作 者2004 年 5 月 12 日4目 录第一章 数据库概述11.1 数据库的概念11.2 数据模型31.3 数据库设计的三个步骤171.4 新型数据库系统261.5 空间数据挖掘技术及应用41习题49第二章 矢量地图数据库502.1 地图数据模型总论502.2 矢量数据模型572.3 空间索引63习题87第三章 栅格地图数据库883.1 栅格数据的基本概念883.2 栅格数据的组织与存储893.3 栅格数据库的检索9

5、93.4 海量影像数据库101习题103第四章 地图符号库1044.1 地图符号库概述1044.2 地图符号数据结构1074.3 地图符号的显示1095习题114第五章 三维空间数据模型1155.1 空间维数讨论1155.2 空间构模技术分类1175.3 基于面模型的准 3D 空间构模1185.4 基于体模型的真 3D 空间构模1205.5 基于面-体混合的 3D 空间构模1385.6 三维空间拓扑关系141习题145第六章 海量空间数据组织与管理1466.1 数据库中图幅的组织方法1476.2 图幅间被分割目标的组织方法1476.3 跨图幅地图漫游149习题152第七章 时态 GIS 数据库

6、1547.1 地理信息的时态性分析1547.2 时态 GIS 数据模型1567.3 时态 GIS 实现方法1587.4 元组级基态修正法161习题164第八章 空间数据的关系化管理1658.1 基于关系数据库的空间数据模型1658.2 基于关系数据库的空间实体数据结构1678.3 空间数据访问模型1698.4 关系化空间数据的安全管理1708.5 大型关系型数据库管理系统分布式体系结构的应用1726习题173第九章 网络 GIS 空间数据管理1749.1 网络 GIS 主要构造模型1759.2 分布式地理信息共享形式1839.3 分布式空间数据管理技术1889.4 网络 GIS 中地理空间元数

7、据管理194习题204参考文献2057第一章 数据库概述1.1 数据库的概念数据库的英文是 DATA BASE,其意义为数据基地,即统一存贮和集中管理数据的基地。这有些类似资料库,实际上资料库的许多特征都可以从数据库中找到。在资料库中,各类资料都有严格的分类系统和编码表,并存放在规定的资料架上,为管理和查找资料提供了极大的方便。当资料的数据形式存放于计算机时,它已经失去直观性,更需要建立严密的分类和编码系统,实现数据的标准化和规范化。一、数据管理的文件方式数据库系统是运用计算机技术管理数据的最新成就,在这之前,计算机数据管理经历了文件管理方式时期,亦称为文件管理系统,它包含在计算机的操作系统中

8、。文件方式是把数据的存取抽象为一种模型:使用时只要给出文件名称、格式和存取方式等,其余的一切组织与存取过程由专用软件文件管理系统来完成(见图 1-1-1)。应用程序 文件管理系统 数据文件P1 F1 8P2 FMS F2 Pn Fn 图 1-1-1 文件管理系统文件管理系统的特点是:1数据文件是大量数据的集合形式。每个文件包含有大量的记录,每个记录包含若干个甚至多达几十个以上的数据项。文件和文件名面向用户并存贮在计算机的贮存设备上,可以反复利用。 2面向用户的数据文件,用户可通过它进行查询、修改、插入、删除等操作。3数据文件与对应的程序具有一定的独立性,即程序员可以不关心数据的物理存贮状态,只

9、需考虑数据的逻辑存贮结构,从而可以大量地节省修改和维护程序的工作量。4数据文件的缺点是只能对应于一个或几个应用程序,不能摆脱程序的依赖性。数据文件之间不能建立关系,呈现出无结构的信息集合状态,往往冗余度大,不易扩充,维护和修改。二、数据库系统管理数据方式数据库管理系统(DBMS)是在文件管理系统的基础上进一步发展的系统。DBMS 在用户应用程序和数据文件之间起到了桥梁作用。DBMS 的最大优点是提供了两者之间的数据独立性。即应用程序访问数据文件时,不必知道数据文件的物理存贮结构。当数据文件的存贮结构改变时,不必改变应用程序(见图1-1-2) 。数据库管理系统的特点可概括如下:1数据管理方式建立

10、在复杂的数据结构设计的基础上,将相互关联的数据集一文件并赋于某种固有的内在联系。各个相关文件可以通过公共数据项联系起来。92数据库中的数据完全独立,不仅是物理状态的独立,而且是逻辑结构的独立,即程序访问的数据只需提供数据项名称。3 数 据 共 享 成 为 现 实 , 数 据 库 系 统 的 并 发 功 能 保 证 了 多 个用 户 可 以 同 时 使 用 同 一 个 数 据 文 件 , 而 且 数 据 处 于 安 全 保 护 状 态 。4数据的完整性,有效性和相容性保证其冗余度最小,有利于数据的快速查询和维护。 应用程序 数据库管理员的 物理数据库的逻辑文件 全面逻辑数据描述局部 全局逻辑观点

11、 逻辑观点逻辑数据 物理数据变换 变换图 1-1-2 数据库系统三、数据库系统的构成综合上述,我们可以把与数据库有关的几个概念理解为:数据库是存贮在计算机内的有结构的数据集合;数据库管理系统是一个软件,用以维护数据库、接受并完成用户对数据库的一切操作;数据库系统指由硬件设备、软件系统、专业领域的数据体和管理人员构成的一个运行系统。101.2 数据模型数据模型是描述数据内容和数据之间联系的工具,它是衡量数据库能力强弱的主要标志之一。数据模型是一组描述数据库的概念。这些概念精确地描述数据、数据之间的关系、数据的语义和完整性约束。很多数据模型还包括一个操作集合。这些操作用来说明对数据库的存取和更新。

12、数据模型应满足三方面要求:一是能真实地模拟现实世界;二是容易为人们理解;三是便于在计算机上实现。数据库设计的核心问题之一就是设计一个好的数据模型。目前在数据库领域,常用的数据模型有:层次模型、网络模型、关系模型以及最近兴起的面向目标模型。下面以两个简单的空间实体为例( 图 1-2-1),简述这几个数据模型中的数据组织形式及其特点。M1 ae 2b 4 cd 3图 1-2-1 地图 M 及其空间实体 一、层次模型层次数据库模型是将数据组织成一对多(或双亲与子女) 关系的结构,其特点为: (1)有且仅有一个结点无双亲,这个结点即树的根;(2)其它结点有且仅有一个双亲。对于图 1-2-1 所示多11

13、边形地图可以构造出图 1-2-2 所示的层次模型层次数据库结构特别适用于文献目录,土壤分类、部门机构等分级数据的组织。例如全国省县乡是一棵十分标准的有向树,其中“全国”是根节点,省以下的行政区划单元都是子节点。这种数据模型的优点是层次和关系清楚,检索路线明确。层次模型不能表示多对多的联系,这是令人遗憾的缺陷。在 GIS 中,若采用这种层次模型将难以顾及公共点,线数据共享和实体元素间的拓扑关系,导致数据冗余度增加,而且给拓扑查询带来困难。M a b e b c d 1 2 2 4 1 4 2 4 2 3 3 4 图 1-2-2 层次模型二、网络模型在网络模型中,各记录类型间可具有任意连接的联系。

14、一个子结点可有多个父结点;可有一个以上的结点无父特点;父结点与某个子结点记录之间可以有多种联系(一对多、多对一、多对多)。图 1-2-3 是图 1-2-1 的网络模型。网络数据库结构特别适用于数据间相互关系非常复杂的情12况,除了上面说的图形数据外,不同企业部门之间的生产,消耗联系也可以很方便地用网状结构来表示。网络数据库结构的缺点是:由于数据间联系要通过指针表示,指针数据项的存在使数据量大大增加,当数据间关系复杂时指针部分会占大量数据库存贮空间。另外,修改数据库中的数据 ,指针也必须随着变化。因此,网络数据库中指针的建立和维护可能成为相当大的额外负担。M a b c d e1 2 3 4图

15、1-2-3 网络模型三、关系模型关系模型的基本思想是用二维表形式表示实体及其联系。二维表中的每一列对应实体的一个属性,其中给出相应的属性值,每一行形成一个,由多种属性组成的多元组,或称元组(tupple),与一特定实体相对应。实体间联系和各二维表间联系13采用关系描述或通过关系直接运算建立。元组(或记录) 是由一个或多个属性(数据项)来标识,这一个或一组属性称为关键字,一个关系表的关键字称为主关键字,各关键字中的属性称为元属性。关系模型可由多张二维表形式组成,每张二维表的“表头”称为关系框架,故关系模型即是若干关系框架组成的集合。如图 1-2-1 所示的多边形地图,可用表 1-2-1 所示关系

16、表示多边形与边界及结点之间的关系。关系模型中应遵循以下条件:(1) 二维表中同一列的属性是相同的;(2) 赋予表中各列不同名字( 属性名);表 1-2-1 关系表关系 1:边界关系 关系 2:边界结点关系 关系:结点坐标关系多边形号(P)边号(E)边长边号(E)起结点号(SN)终结点号(EN)结点号(N)X Y abc304030abcde1223424341123419.838.626.79.534.225.08.215.714bcd402528(3) 二维表中各列的次序是无关紧要的;(4) 没有相同内容的元组,即无重复元组;(5) 元组在二维表中的次序是无关紧要的。关系数据库结构的最大优点

17、是它的结构特别灵活,可满足所有用布尔逻辑运算和数学运算规则形成的询问要求;关系数据还能搜索、组合和比较不同类型的数据,加入和删除数据都非常方便。关系模型用于设计地理属性数据的模型较为适宜。因为在目前,地理要素之间的相互联系是难以描述的,只能独立地建立多个关系表,例如:地形关系,包含的属性有高度、坡度、坡向,其基本存贮单元可以是栅格方式或地形表面的三角面;人口关系,含的属性有人的数量,男女人口数,劳动力,抚养人口数等。基本存贮单元通常是对应于某一级的行政区划单元。关系数据库的缺点是许多操作都要求在文件中顺序查找满足特定关系的数据,如果数据库很大的话,这一查找过程要花很多时间。搜索速度是关系数据库

18、的主要技术标准,也是建立关系数据库花费高的主要原因。四、面向对象模型面向对象的定义是指无论怎样复杂的事例都可以准确地由一个对象表示。每个对象都是包含了数据集和操作集的实体,即是说,面向对象的模型具有封装性的特点。1面向对象的概念15(1)对象与封装性(encapsulation)面向对象的系统中,每个概念实体都可以模型化为对象。对于多边形地图上的一个结点、一条弧段、一条河流、一个区域或一个省都可看成对象。一个对象是由描述该对象状态的一组数据和表达它的行为的一组操作(方法)组成的。例如,河流的坐标数据描述了它的位置和形状,而河流的变迁则表达了它的行为。由此可见,对象是数据和行为的统一体。一个对象

19、 object 可定义成一个三元组:object=(ID,S,M)其中,ID 为对象标识, M 为方法集, S 为对象的内部状态,它可以直接是一属性值,也可以是另外一组对象的集合,因而它明显地表现出对象的递归。(2)分类(classification )类是关于同类对象的集合,具有相同属性和操作的对象组合在一起。属于同一类的所有对象共享相同的属性项和操作方法,每个对象都是这个类的一个实例,即每个对象可能有不同的属性值。可以用一个三元组来建立一个类型:class=(CID,CS,CM)其中,CID 为类标识或类型名, CS 为状态描述部分,CM 为应用于该类的操作。显然有,SCS 和 MCM 当

20、 objectclass 时因此,在实际的系统中,仅需对每个类型定义一组操作,供该类中的每个对象应用。由于每个对象的内部状态不完全相同,所以要分别存储每个对象的属性值。例如,一个城市的 GIS 中,包括了建筑物、街道、公园、电力设施等类型。而洪山路一号楼则是建筑物类中的一个实例,即对象。建筑物类中可能有建筑物的用途、地址、房主、建筑日期等属性,并可能需要显示建筑物、更新属性数据等操作。16每个建筑物都使用建筑物类中操作过程的程序代码,代入各自的属性值操作该对象。(3)概括(generalization )在定义类型时,将几种类型中某些具有公共特征的属性和操作抽象出来,形成一种更一般的超类。例如

21、,将 GIS 中的地物抽象为点状对象、线状对象、面状对象以及由这三种对象组成的复杂对象,因而这四种类型可以作为 GIS 中各种地物类型的超类。比如,设有两种类型Class1=(CID 1,CS A,CS B,CM A,CM B)Class2=(CID 2,CS A,CS C,CM A,CM C)Class1 和 Class2 中都带有相同的属性子集 CSA 和操作子集 CMA并且CSACS 1 和 CSACS 2 及 CMACM 1 和 CMACM 2因而将它们抽象出来,形成一种超类Superclass =(SID,CS A,CM A)这里的 SID 为超类的标识号。在定义了超类以后,Clas

22、s 1 和 Class2 可表示为Class1=(CID 1,CS B,CM B)Class2=(CID 2,CS C,CM C)此时,Class 1 和 Class2 称为 Superclass 的子类(Subclass) 。例如,建筑物是饭店的超类,因为饭店也是建筑物。子类还可以进一步分类,如饭店类可以进一步分为小餐馆、普通旅社、宾馆、招待所等类型。所以,一个类可能是某个或某几个超类的子类,同时又可能是几个子类的超类。建立超类实际上是一种概括,避免了说明和存储上的大量冗余。由于超类和子类的分开表示,所以就需要一种机制,在获取子类对象的状态和操作时,能自动得到它的超类的状态和17操作。这就是

23、面向对象方法中的模型工具继承,它提供了对世界简明而精确的描述,以利于共享说明和应用的实现。(4)联合(association)在定义对象时,将同一类对象中的几个具有相同属性值的对象组合起来,为了避免重复,设立一个更高水平的对象表示那些相同的属性值。假设有两个对象Object1 =(ID 1,S A,S B,M)Object2 =(ID 2,S A,S C,M)其中,这两个对象具有一部分相同的属性值,可设立新对象Object3 包含 Object1 和 Object2,Object3 =(ID 3,S A,Object 1,Object 2,M)此时,Object 1 和 Object2 可变为

24、Object1 =(ID 1,S B,M)Object2 =(ID 2,S C,M)Object1 和 Object2 称为“分子对象” ,它们的联合所得到的对象称为“组合对象” 。联合的一个特征是它的分子对象应属于一个类型。(5)聚集(aggregation)聚集是将几个不同特征的对象组合成一个更高水平的对象。每个不同特征的对象是该复合对象的一部分,它们有自己的属性描述数据和操作,这些是不能为复合对象所公用的,但复合对象可以从它们那里派生得到一些信息。例如,弧段聚集成线状地物或面状地物,简单地物组成复杂地物。例如,设有两种不同特征的分子对象Object1 =(ID 1,S 1,M 1)Obj

25、ect2 =(ID 2,S 2,M 2)用它们组成一个新的复合对象18Object3 =(ID 3,S 3, Object1(S u),Object 2(S v) ,M 3)其中 SuS 1,S VS 2,从式中可见,复合对象 Object3 拥有自己的属性值和操作,它仅是从分子对象中提取部分属性值,且一般不继承子对象的操作。在联合和聚集这两种对象中,是用“传播”作为传递子对象的属性到复杂对象的工具。即是说,复杂对象的某些属性值不单独存于数据库中,而是从它的子对象中提取或派生。例如,一个多边形的位置坐标数据,并不直接存于多边形文件中,而是存于弧段和结点文件中,多边形文件仅提供一种组合对象的功能

26、和机制,通过建立聚集对象,借助于传播的工具可以得到多边形的位置信息。2面向对象数据库(OODB)模型的特征(1)对象和对象标识符:任一现实世界中的实体都模拟成一个对象,由唯一对象标识符与之对应。(2)属性和方法:属性有单值的,也有多值的。属性不受第一范式的约束,不必是原子的,可是另一个对象。方法是作用在对象上的方法集合。(3)类:同一类对象共用相同的属性集和方法集。(4)类层次和继承:类是低层次的概括;而子类继承了高层次类的所有属性和方法,亦有自己特有的属性和方法。3面向对象数据库的设计方法面向对象数据库的设计主要是定义对象类或对象集合,定义对象属性,定义操作。(1)确定对象及对象类a从真实世

27、界中抽取有意义的物体和概念作为对象,并将某类作为数据库系统的基础类;b根据数据抽象化的原则,如果表示一组物体的对象集合具备系统所需要的相似特性和操作,那么该集合应用类来表示。19(2)确定操作要详细分析系统的需求,研究对各类对象起作用的操作,包括对象自身的操作和该对象对另一类对象起作用的操作。a构造操作又称创建操作:在 OODB 中产生该类的一个新的对象或实例,并赋予属性值。b访问操作:提供附加访问的功能,能产生该类的实例的某些特征。c变更操作:用来改变特定对象的属性值。4GIS 中的面向对象模型(1)空间地物的几何数据模型GIS 中面向对象的几何数据模型如图 1-2-4 所示。从几何方面划分

28、,GIS 的各种地物可抽象为:点状地物、线状地物、面状地物以及由它们混合组成的复杂地物。每一种几何地物又可能由一些更简单的几何图形元素构成。例如,一个面状地物是由周边弧段和中间面域组成,弧段又涉及到结点和中间点坐空间地物复杂地物 简单 地物 点状地物 线状地物 面状地物结 点 弧 段 面 域 20图 1-2-4 面向对象的几何数据模型标。或者说,结点的坐标传播给弧段,弧段聚集成线状地物或面状地物,简单地物组成复杂地物。(2)拓扑关系与面向对象模型通常地物之间的相邻、关联关系可通过公共结点、公共弧段的数据共享来隐含表达。在面向对象数据模型中,数据共享是其重要的特征。将每条弧段的两个端点(通常它们

29、与另外的弧段公用)抽象出来,建立应该单独的结点对象类型,而在弧段的数据文件中,设立两个结点子对象标识号,即用“传播”的工具提取结点文件的信息,如图 1-2-5 所示。这一模型既解决了数据共享问题,又建立了弧段与结点的拓扑关系。同样,面状地物对弧段的聚集方式与数据共享、几何拓扑关系的建立亦达到一致。区 域 文 件 结 点 文 件区标识 弧段标识 结点标识 X Y Z1 21 11 100 90 1002 22,24,25,23 12 90 85 1203 23 13 60 88 1104 24,26,28 14 55 82 1505 25,26,27 15 30 80 13016 52 20 9

30、0弧 段 文 件21弧标识 起结点 终结点 中间点串21 11 11 22 12 15 23 13 13 24 14 12 25 15 14 26 16 14 27 16 15 28 16 12 图 1-2-5 拓扑关系与数据共享(3)面向对象的属性数据模型关系数据模型和关系数据库管理系统基本上适应于 GIS 中属性数据的表达与管理。若采用面向对象数据模型,语义将更加丰富,层次关系也更明了。可以说,面向对象数据模型是在包含关系数据库管理系统的功能基础上,增加面向对象数据模型的封装、继承、信息传播等功能。下面以土地利用管理 GIS 为例,如图 1-2-6 所示。GIS 中的地物可根据国家分类标准

31、或实际情况划分类型。如土地利用管理 GIS 的目标可分为耕地、园地、林地、牧草地、居民点、交通用地、水域、和未利用地等几大类,地物类型的每一大类又可以进一步分类,如居民点可再分为城镇、农村居民点、工矿用地等子类。另外,根据需要还可将具有相同属性和操作的类型综合成一个超类。例如工厂、农场、商店、饭店属于产业,它有收入和税收等属性,可把它们概括成一个更高水平的超类产业类。由于产业可能不仅与建筑物有关,还可能包含其它类型如土地等。所以可将产业类设计成一个独立的类,通过行政管理数据库来管理。在整个系统中,可采用双重22继承工具,当要查询饭店类的信息时,既要能够继承建筑物类的属性与操作,又要继承产业类的

32、属性与操作。属性数据管理中也需用到聚集的概念和传播的工具。例如,在饭店类中,可能不直接存储职工总人数、房间总数和床位总数等信息,它可能从该饭店的子对象职员数据库、房间床位数据库等数据库中派生得到。耕地园地 控制点林地 街道GIS 牧草地 城镇 公园 医院 居民点 农村居民点 电力设施 学校 交通用地 工矿用地 建筑物 居民住宅23水域 操作: 饭店 查询未用地 插入 工厂 删除 商店 属性: 标识码 银行 区号 街道号 邮局 房主 建筑日期功能图 1-2-6 面向对象的属性数据模型1.3 数据库设计的三个步骤数据库应用通过三个设计步骤来进行建模 47。首先,采用高层次的概念数据模型(conce

33、ptual data model)来组织所有与应用相关的可用信息。在概念层上,重点关注应用的数据类型及其联系和约束。设计过程的这个阶段不考虑具体实现细节。概念模型通常用浅湿文字,结合简单一致的图形符号来表示。实体- 联系(entity relationship, ER)模型是所有概念设计工具中最为流行的一种。第二步,也称为逻辑建模阶段,与概念数据模型在商用DBMS 上的具体实现有关。商用 DBMS 中的数据由实现模型来组织。实现模型的例子有:层次模型、网状模型和关系模型。24其中,关系模型是目前商用数据库所实现的最为广泛的模型之一。在关系模型中,数据类型、联系和约束都被建模为关系(relati

34、on) 。与关系模型联系紧密的是形式化查询语言的关系代数(relation algebra, RA) 。RA 由一些简单的操作组成,这些操作能够查询用关系方式组织的数据。关系模型并不能满足空间数据建模的要求, 48对此的解释如下:关系代数刻画了关系数据库的查询能力。关系数据库能够回答任何以关系代数表示的查询,从而成为普遍接受的关系数据库传统应用的模型。相反,还没有广为接受的地理信息数学模型,这给空间数据查询语言和空间数据库的设计造成了困难。此外,GIS 与关系数据库之间有着相当大的语义鸿沟,也导致了复杂性和不便之处。最后,数据库设计的第三个步骤是物理设计的建模,它解决数据库应用在计算机中具体实

35、现时方方面面细节。有关存储、索引和内存管理等问题都在这一阶段考虑和解决。下面介绍一下 ER 模型。一ER 模型数据库设计的第一步是提出“微型世界”的概念模型。构建概念模型的目的是以一种避开计算机隐喻的方式来表达这个微型世界,从而把应用中的概念与实现细节分离开来。对于概念数据建模来说,有许多可用的设计工具,ER 模型是其中最为流行的工具之一。ER 模型同关系模型无缝地整合在一起,而关系数据模型又是三个数据库设计阶段的第二步中最流行的逻辑模型之一。我们在这里使用 ER 模型对 State-Park 例子进行建模。251实体和属性在 ER 模型中,微型世界被划分成一个个实体( entity) ,由属

36、性(attribute)来描述实体性质,并通过联系互相关联。实体是物理上或者概念上独立存在的事物或对象。在 State-Park 例子中,Forest、RIVER、FOREST-STAND ROAD 以及 FIRE-STATION 都是实体。实体由属性来刻画性质。例如,name 是实体 FOREST 的属性。唯一标识实体实例的属性(或属性集)称为码(key) 。在我们的例子中,假定任意两条道路均不能同名的话,实体ROAD 的 name 属性就是一个码。本例中数据库的所有 ROAD实例都有唯一的名称。尽管这不是概念设计的问题,但 DBMS中必须有一个机制来保证这种约束。属性可以是单值或多值的。S

37、pecies(树种)是 FOREST- STAND 的单值属性。我们利用本例的情况来解释多值属性。FACILITY 实体有一个 Pointid 属性,它是该实体实例的空间位置的唯一标识。我们假定,由于地图比例尺的缘故,所有FACILITY 实例都要用点来表示。一个给定的设施可能会跨越两个点对应的位置,这时 Pointid 属性就是多值的。其他实体也会有类似情况。假设要存储有关 FOREST 的 elevation(高程)信息,由于elevation 的值在 FOREST 实体内部会变化,我们将该属性作为多值属性,因为不支持场数据类型。2联系除了实体和属性外,构成 ER 模型的第三个要素是联系(

38、relationship) 。实体之间通过联系相互作用和关联。虽然多个实体可以同时参与一个给定的联系,但我们只讨论二元(binary )联系,即两个实体间的联系。有三种基于基数约束的联系:一对一、多对一和多对多。26(1)一对一(11)在一对一的联系中,一个实体中每个实例只能与其他参与实体的一个实例相联系。例如,实体 MANAGER 和 FOREST之间的联系 manages 就是一个一对一的联系,即一个 FOREST只能有一处 MANAGER,而一个 MANAGER 只能管理一个FOREST。(2)多对一(M1)多对一联系可将一个实体的多个实例与另一个参与该联系的实体的一个实例相连接。Bel

39、ongs_to 是实体 FACILITY 与FOREST 之间的一个多对一联系,这里假定每个设施仅仅属于一个森林,但每个森林可以有多个设施。(3)多对多(MN)有时候一个实体的多个实例会与另一个参与该联系的实体的多个实例相联系。实体 RIVER 和 FACILITY 之间的联系supplies_water_to 正是这样的一个联系。有时候,联系也可以拥有属性。Supplies-water-to 有一个 Volume 属性,用来跟踪一条河流向一个设施供水的水量。3ER 图与 ER 模型相关的是 ER 图,ER 图为概念模型提供了图形化的表示方法。在 ER 图中,实体用矩形表示:属性表示为椭圆,并

40、用直线与表示实体的矩形相连;联系则表示为菱形。联系的基数(cardinality) (包括 11、M1 或 MN )标注在菱形的旁边。码的属性加下划线,而多值属性用双椭圆表示。State-Park 例子的 ER 图如图 1-3-1 所示,其中有 7 个实体,即FOREST- STAND、RIVER、ROAD、FACILITY、FOREST、FIER 、STATION 和 MANAGER。实体 FOREST 的属性有 name、elevation和27图 1-3-1 州立公园例子的 ER 图polygonid。Name 是唯一的标识,即每片森林有唯一的名称。图中还给出了 8 个联系。实体 FOR

41、EST 参与了 6 个联系,而实体 FIER-STATION 只参与了一个名为 monitors 的联系。基数约束表明每个消除站只监控一片森林,但一片森林可被许多消防站监控。有些联系是空间上固有的,包括 cross(穿过) 、within(在内部)和 part-of(部分) ,而图中许多其他空间联系是隐含的。例如,一条河流穿过一条道路在图中是标明的,而一条河流穿过一片森林则是隐含的。在直观上,ER 模型不能表达空间建模中的特定语义。具体来说,ER 模型的不足之处在于:(1)ER 模型的最初设计隐含了基于对象模型的假设。因此,场模型无法用 ER 模型进行自然的映射。(2)在传统的 ER 模型中,

42、实体之间的关系由所要开发的28应用来导出,而在空间建模中,空间对象之间总会有内在的联系。例如,所有拓扑关系都是两个空间实体之间联系的有效实例。如何将这些联系整合到 ER 模型中,而又不使 ER 图变得复杂呢?(3)建模空间对象所使用的实体类型和“地图”的比例尺有关。一个城市是用点还是用多边形表示和地图的分辨率有关。在概念模型中,如何表达同一个对象的多种表现形式?二用象形图扩展 ER 模型为了使空间应用的概念建模更加简单和直观,提出了许多对 ER 模型进行扩展的方法。其主要思想是增加某种结构来接受和表达空间推理的语义,同时保持图形表示的简洁性。最近,提出了用象形图(pictogram)来注释和扩

43、展 ER 图的方法。空间联系(包括拓扑的、立位的和度量的联系)隐含在任何两个具有空间成分的实体之间。例如,在实体 Forest 和 River之间很自然会考虑拓扑关系cross。在 ER 图中包含这种 cross联系并不能转达更多有关该应用建模的结构信息。下面将说明如何用象形图来表达空间数据类型、比例尺以及空间实体的隐含关系的。我们将以 BNF 范式(Bachus-Naur form)的语法符号来表示象形图的扩展。1实体象形图(1)象形图象形图是一种将对象插在方框内的微缩图表示,这些微缩图用来扩展 ER 图,并插到实体矩形框中的适当位置。一个象形图可以是基本的形状,也可以是用户自定义的形状。*

44、!29象形图的语法(2)形状形状是象形图中的基本图形元素,它代表着空间数据模型中的元素。一个模型元素可以是基本形状、复合形状、导出形状或备选形状。许多对象具有简单的基本形状。形状的语法(3)基本形状在一个矢量模型中,基本元素有点、线和多边形。在一般的应用中,大多数空间实体是用简单形状来表示。在森林的例子中,我们把设施表示成点(0 维) ,把河流或道路网表示成线(1 维) ,把森林区域表示成多边形(2 维) 。(4)复合形状为了处理那些不能用某个基本形状表示的对象,我们定义了一组聚合的形状,并用基数来量化这些复合形状。例如,河流网可以用线的象形图的连接表示且其基数为 n。类似地,对于一些无法在某

45、个给定比例尺下描绘的要素,我们用 0 作为其/基本形状的语法点/线面基本形状的象形图30基数。(5)导出形状如果一个对象的形状是由其他对象的形状导出的,那么就用斜体形式来表示这个象形图。例如,我们可以从美国的州界形状导出美国的形状。(6)备选形状备选形状可以用于表示某种条件下的同一个对象。例如,根据比例尺,一条河流可以表示成一个多边形或一条线。备选形状的语法备选形状的象形图(7)任意形状对于形状的组合,我们用通配符(*)表示,它表示各种形状,例如,一个灌溉网是由泵站(点) 、水渠(线)以及水库(多边形)所组成的。基本形状的语法 /导出形状的象形图 0.111,n基数的语法 0,n n使用了基数的多重形状的象形图0,n

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 数据库

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报