概念结构设计,是对用户信息需求的综合分析、归纳,形成一个不依赖于空间数据库管理系统的信息结构设计。它是从用户的角度对现实世界的一种信息描述,因而它不依赖于任何空间数据库软件和硬件环境。由于概念模型是一种信息结构,所以它由现实世界的基本元素以及这些元素之间的联系信息所组成。
概念模型是对现实世界抽象产生的通用信息模型,独立于系统实现的细节。概念模型是系统设计者和用户之间对系统的认识进行沟通的有效手段。概念模型的设计应满足下述要求:
①提供一个便于非专家理解的系统结构框架。
②包含丰富的结构类型,能够尽可能完整地描述系统的复杂性。
③能够转换成与实施相关的模型(例如逻辑和物理数据模型),以便能够设计和实施系统。
概念设计是逻辑设计和物理设计的基础,应该重视概念设计工作。
3.3.1 概念结构设计的一般步骤和方法
概念设计的核心内容是确定数据库的数据组成、数据类型之间的关系、建立概念数据模型,并在此基础上形成书面文档。
概念设计可以按下列步骤展开。
(1)确定应用领域
数据库设计必须有明确的应用领域,以便于确定系统边界。应用领域越明确、越狭窄,相应的模型就越简单。大多数数据设计都有明确的应用领域,例如,土地利用管理等。如果数据库将要包含多个领域的应用,应该对各个应用领域分开进行分析处理。
(2)确定用户需求
每个应用领域都有特定的用户需求,例如,完成某项任务、生产某种产品等,这些需求的实现都建立在相应的数据基础之上。例如,土地利用审批、规划、监察,都以特定的数据为依据,并产生相应的数据输出,例如,宗地图、土地利用现状图、土地利用规划图等。
(3)选择对象类型
每个用户需求识别了多个对象类型及其属性,只有相关的数据应该录入数据库,而且对象类型的数量应该受到限制。这时就要求建立客观的标准来决定数据库应包含哪些对象。这里,成本—收益分析是一个有效手段。不过,在数据库规模较小的情况下不存在选择对象类型的问题,需求分析确认的数据类型都可以纳入数据库模型,允许录入数据库。
(4)对象类型定义和属性描述
对选取的对象类型进行定义,并描述其属性。具体包括指定名称、下定义,并描述其属性。属性是对象的描述。每个属性有一个名称和一个允许的取值范围。下面以道路对象来说明。
①对象类型: 道路。
②定义: 所有汽车可以通行的道路,但不包括长度小于50m的道路。
③属性: 道路承载量。
④允许的取值范围: 最小为0t(吨),最大为20t(吨)。
(5)对象类型的调整
当对象类型较多时,对象类型的划分及其定义难免有矛盾和冲突之处,这就需要进行协调。对象类型调整后,其属性也应进行相应的调整。对象的所有属性应该归纳在一起,分别指定允许的取值范围。
(6)几何表示
确定对象的几何表示类型,以及使用哪些基本几何要素。原则上,数据库的应用领域决定了对象的几何如何表示。不过,成本和更新等因素也有影响。在实践中,通常是两者选一。
①矢量表示: 点、线、面。
②栅格表示。
(7)关系
定义对象之间的。可能的关系包括以下三种。
①对象的组成关系。例如,省由县组成、县由镇组成,等等。
②对象之间的继承关系。例如,在已有的水体对象基础上,可以有继承产生的河流、湖泊等对象。
③对象之间的拓扑关系。例如,某个地址与某条街道关联,某个阀门位于某条管道上,某个建筑物位于某个宗地上,某两个宗地彼此相邻,等等。
有些关系(例如,拓扑关系)可以通过计算得到,而有些只能作为属性录入。
根据用户需求进一步分析各种关系,决定将哪些关系描述和表示在数据库中。不使用的关系不需要描述在数据库中。
(8)质量
确定数据的质量标准,主要内容包括: 空间位置精度。属性精度、空间分辨率、空间数据和属性数据连接的一致性、现势性、内容完整性和空间范围上的覆盖率。
(9)编键
编制几何对象类型名称的编键列表,并设计联系几何和属性的标识符。
完成上述步骤(1) ~(9),产生一个对象目录,包含将进入数据库的所有对象的描述和代键。
对于概念模型来说,有许多可用的设计工具,比较流行的建模工具有B-R模型(实体—联系模型)和统一建模语言(UML)模型。
3.3.2 E-R模型设计
1. E-R模型
实体—联系模型简称E-R模型,是概念模型设计最有力的工具,也是使用最广泛的概念设计方法。E-R模型包含三个基本成分,即实体、联系和属性。概念设计的结果可以用E-R模型进行直观的描述和表达。
(1)实体
客观存在并可相互区别的事物称为实体。实体有广义和狭义的两种理解。广义的实体是指现实世界中客观存在的,并可相互区别的事物。实体可以指个体,也可以指总体,即个体的集合。例如,一条道路是一个实体,多条道路也可看做一个道路实体; 狭义的实体是指现实生活中的地理特征和地理现象,可根据各自的特征加以区分。实体的特征至少有空间位置参考信息和非空间位置信息两个组成部分。空间特征描述实体的位置、形状,在模型中表现为一组几何实体; 非空间特征描述的是实体的名字、长度等与空间位置无关的属性。
实体类型是对实体的抽象,表示一类相似的对象的集合。同一实体类型具有相同属性,也具有共同的特征和性质。同类型实体的集合称为实体集。识别实体类型是建立E-R模型的起点。例如,如果我们要设计一个土地利用数据库,我们会首先识别出各种土地利用要素,包括行政区划、权属区、地形、土地利用、道路、河流、湖泊,等等。这些土地利用要素实际上是一些实体的集合,即实体类型。上述例子中,提到的一些实体类型可描述为城镇、行政村、高程点、图斑、道路、河流,等等。实体类型是实体的抽象,而不是具体的某个实体。也就是说,实体类型不同于实体类型的实例。例如,对于城镇实体类型,可能有盐步镇、沙头镇、九江镇等城镇类型的实例。但是,为了叙述的方便,我们下面不再用类型和实体的术语加以区分,统称为实体。
(2)属性
属性(Attribute)是用来描述实体性质,并通过联系互相关联。实体是物理上或者概念上独立存在的事物或对象。唯一标识实体的属性集称为键。属性的取值范围称为该属性的域。
实体由属性来刻画性质。例如,城镇实体可以有名称、编号、人口数、几何中心等属性,道路实体有道路名称、编号、类型、起点、终点、道路中心线、长度等属性; 表示城镇实体与道路实体之间相互关系的有长度、空间关系等属性,长度属性记录穿过城镇的道路长度,空间关系属性记录道路从市中心穿过还是从外围绕过。
(3)联系
联系指实体之间相互关系的抽象表示。客观事物联系可概括成两种: 实体内部各属性之间的联系,反映在数据上是记录内部联系; 实体之间的联系,反映在数据上则是记录之间的联系。实体之间通过联系相互作用和关联,假设有两个均包含有若干个体的实体A和实体B,其间建立了某种联系。可将联系方式分为一对一(1∶ 1)的联系; 一对多(1∶ N)的联系; 多对多(M∶ N)的联系。
①一对一(1∶ 1)。如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体B集具有一对一联系,记为1∶ 1,如图3.2(a)所示。例如,实体省和省会之间的联系就是一个一对一的联系,即一个省只能有一个省会城市,而一个省会城市只能属于一个省。
②一对多(1∶ N)。如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体A与实体B有一对多联系,记为1∶ N,如图3.2(b)所示。行政区域就是一对多的联系,一个省对应有多个县,一个县有多个镇,一个镇有多个村。
③多对多(M∶ N)。如果对于实体集A中的每一个实体,实体集B中有N个实体(N≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有M个实体(M≥0)与之联系,则称实体集A与实体集B具有多对多联系,记为M∶ N,如图3.2(c)所示。空间实体中的多对多联系是很多的,例如土壤类型与种植的作物之间有多对多的联系,同一种土壤类型与可以种植不同的作物,同一作物又可种植在不同的土壤类型上。
图3.2
2. 实体、属性和联系的设计
E-R模型是一种概念简单、易于接受的概念模型。E-R模型将现实世界理解为由许多实体组成的有机体,模型重点关注实体及其相互关系,实体则通过实体属性表达实质内容,是一种面向实体属性及其相互关系的模型。实体、联系、属性是E-R模型的三个基本成分。基于这样三个成分的识别,可以构造初步的E-R模型,并用E-R图表示。E-R图为概念模型提供了图形化的表示方法,E-R图直观地表示模式的内部联系。E-R图主要由实体、属性、联系和关联的基数组成。实体用矩形框表示,框中有实体名; 属性表示为椭圆,椭圆框中含有属性名,并用直线与表示实体的矩形相连; 联系则表示为菱形。联系的基数(包括1∶ 1、1∶ M或M∶ N)标注在菱形的旁边。键的属性加下画线,而多值属性用双椭圆表示。具体内容如表3.2所示,假定上述例子中只包含城镇和道路两个实体,其E-R模型可表示为图3.3。
图3.3 简单的E-R模型图
表3.2 E-R图中的主要构件
3.3.3 E-R模型设计方法与步骤
1. 设计方法
设计概念结构的E-R模型可采用四种方法:
(1)自顶向下
先定义全局概念结构E-R模型的框架,再逐步细化。
(2)自底向上
先定义各局部应用的概念结构E-R模型,然后将它们集成,得到全局概念结构E-R模型(见图3.4)。
(3)逐步扩张
先定义最重要的核心概念E-R模型,然后向外扩充,以滚雪球的方式逐步生成其他概念结构E-R模型。(www.daowen.com)
(4)混合策略
该方法采用自顶向下和自底向上相结合的方法,先自顶向下定义全局框架,再以它为骨架集成自底向上方法中设计的各个局部概念结构。
最常用的方法是自底向上。即自顶向下地进行需求分析,再自底向上地设计概念结构。
图3.4 自底向上方法的设计步骤
2. 设计步骤
采用E-R模型进行数据库的概念设计可以分为以下3个步骤。
(1)设计局部的E-R模型
首先要根据需求分析得到的结果(数据流图、数据字典等)对现实世界进行抽象,设计各个局部E-R模型。设计局部E-R模型的关键就是正确划分实体和属性。定义局部范围内的实体、联系和属性,形成局部的E-R模型。首先确定实体,然后确定联系,最后确定实体与联系的属性。
(2)设计全局的E-R模型
这一步骤是将所有局部的ER模型合并成一个全局的E-R模型。其基本过程是两两合并,直到所有的局部E-R模型被合并到一个完整的全局E-R模型。在合并过程中,两个模型之间可能存在冲突,需要识别、消除冲突。三类基本的冲突是命名冲突、属性冲突和结构冲突。命名冲突,包括实体类型名、联系类型名之间异名同义,或异义同名等。属性冲突,包括数据类型、数据长度、取值范围、度量单位等方面的不一致。结构冲突包括三种情况: ①不同局部E-R模型中同一实体类型的属性个数不同或排列顺序不同; ②同一联系在不同的局部模型中采用了不同的类型,例如,在一个模型中是一对多、在另一个模型则表示为多对多类型; ③同一客体在两个模型中具有不同的抽象,例如,在一个模型中表示为实体,在另一个模型中表示为属性。在合并过程中,需要对E-R模型进行各种操作,例如,实体的分裂和合并,联系的分裂和合并,实体和联系的增加、删除,实体和属性的转位等。
(3)全局E-R模型的优化
一个好的全局E-R模型除能正确刻画现实世界之外,还应满足下列条件: 实体类型个数尽可能少,实体类型间联系无冗余,实体类型包含的属性尽可能少以达到这三个要求。全局E-R模型的优化就是通过消除冗余实体、冗余联系和冗余属性以达到这三个要求。
3. E-R模型设计实例
根据城市地价与土地集约利用数据库对数据的要求,进行了E-R模型的设计与构建(见图3.5)。首先抽象数据实体类型或实体集,并确定各自的属性类型。
图3.5 城市地价与土地利用实体类型及属性类型图(部分)
在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体内部的联系和实体之间的联系。实体之间的联系可以分为多种类型,包括为一对一、一对多和多对多三种情况。根据实体之间的关系,建立实体—联系模型,在E-R图中,这三类联系用数字或字母加以区分,即在联系线的两端用数字或字母(1、m、n)表示联系的数量关系。
根据城市地价与土地集约利用实体之间的关系,建立实体—联系模型,见图3.6。由于以上实体具有空间特性,它们之间的联系多表现为空间关系,包括“相邻”、“相离”、“相交”、“包含”、“重合”等。
图3.6 实体联系图(局部)
E-R模型是数据库概念设计中最广泛使用的建模工具。它基于实体、联系、属性等简单有力的概念,便于非专家理解。同时,E-R模型也容易转换成逻辑模型,能够方便地映射到关系模式。不过E-R模型也有不足之处,主要是缺少足够强力的建模构造。正因为如此,在E-R模型基础上又发展了实体—联系扩展模型,提供了更丰富的建模构造,弥补E-R模型结构类型方面的缺陷。但是,建模能力扩展使其部分地丧失了E-R模型自然、简单的优点。
3.3.4 空间E-R模型
由于E-R模型强调实体属性,忽略实体的空间特性,所以只能通过属性表达实体的简单空间特性,如实体的中心坐标、具有空间含义的编键或名称等; 而对于复杂的空间特性,如实体的空间分布、形状、空间关系(如相对方位、相互距离、重叠和分离程度)等,则难以表达。GIS是强调空间特性及其表达的信息系统,因此必须研究具有强大的空间表达能力来表达现实世界的空间数据抽象模型,以及面向计算机的空间数据组织模型。根据空间数据的空间特性对基本ER方法和扩展ER方法进行改进,这种方法便称之为空间E-R方法,最初由Calkins提出,在GTS中具有较成功的应用。下面介绍空间E-R方法。
1. 空间实体及其表达
空间数据描述的实体(空间实体)与一般实体不同之处是它具有宅间特性,即它除了作为一般实体的普通属性外,还具有不同于一般实体的空间属性。空间属性一般用点、线、面或Grid-cell、Tin、Image像元表示。
Calkins定义了三种空间实体关系: 有空间属性对应的一般实体; 有空间属性对应的需用多种空间尺度(类型)表达的实体,如道路在一些GIS中既表达为线,又表达为面;有空间属性对应的需表达多时段的实体,如10年的土地利用。在基本E-R方法中或一般扩展E-R方法中,用矩形表达实体,只能描述和表达地理实体的一个层面,即只能表达物理/概念实体或只能表达空间实体。Calkins在1996年将物理/概念实体名称和空间实体类型同时表达在一个特定的矩形框中,对上面三种空间实体分别用单个特定矩形框、两个交叠的特定矩形框,三个重叠的特定矩形框表示。基本E-R方法与空间E-R方法比较见表3.3。
表3.3 基本E-R方法和空间E-R方法比较
续表
2. 空间实体的关系及其表达
与空间实体一样,空间实体间的关系也具有双重性,既具有一般实体间的关系,如拥有/属于关系,父、子关系等,也具有空间实体所特有的关系,如拓扑关系(包括点与点的相离、相等,点与线的相离、相接、包含于,面与面的分离、交叠、相接、包含、包含于、相等、覆盖、被覆盖等)。Calkins把空间实体间的关系归纳为三类: ①一般关系(一般数据库均具有); ②拓扑关系(相邻、联结、包含); ③空间操作导出的关系(邻近、交叠、空间位置的一致性),并分别用菱形、六边形、双线六边形表示。
图3.7是用空间E-R方法建立GIS支持下的海洋渔业数据库中的渔政管理E-R图的实例。图中矩形框代表的是实体,如“渔业公司”、“渔政局”、“渔船”、“共管区”等,其中,普通矩形框代表的是一般实体,如“渔业公司”; 带有空间实体类型、坐标和拓扑关系的是空间实体,如“共管区”实体,该空间实体的空间实体类型是多边形,G存放的是该实体空间坐标,T存放的是该实体的拓扑关系。图中的菱形框、六边形框和双线六边形框是表示实体间的关系,其中,菱形代表实体间的一般关系,如“管理”。
图3.7 GIS支持下的海洋渔业数据库中的渔政管理E-R图
六边形代表的是空间实体间的拓扑关系,如“包含于”; 双线六边形代表空间操作导出的关系,如“重叠”。
3.3.5 UML模型
1. UML模型概述
E-R模型是使用最广泛的概念设计方法,但是E-R图的一个不足之处是它们的表现形式会被设计方法左右。现今,大部分面向对象的建模者已经开始采用统一建模语言(UML),UML是一种用来表达对象模型的标准表示方法。UML模型是另一个流行的概念建模工具,是用于面向对象软件设计的概念层建模的新兴标准之一。它是一种综合型语言,用于在概念层对结构化模式和动态行为进行建模。UML标准由三部分组成,即: 构造块(如对象、类、消息),构造块间的关系(如关联、泛化)和图(如活动图)。
UML是一种通用的可视化建模语言,用于对软件进行描述、可视化处理理解、构造和建立软件制品的文档。作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。
(1)UML语义
描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。
(2)UML表示法
定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法和为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML,元模型的实例。UML包含六类图: 用例图、静态图、对象图、行为图、交互图和实现图。这里我们采用静态图中的类图。
2. UML类图
UML类图描述系统中类的静态结构。定义系统中的类,不仅表示类之间的联系如关联、依赖等,也包括类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效的,如表3.4所示。
表3.4 UML类图表示法
续表
需要注意的是,虽然在系统设计的不同阶段都使用类图,但这些类图表示了不同层次的抽象。在概念抽象阶段,类图描述研究领域的概念; 在设计阶段,类图描述类与类之间的接口; 而在实现阶段,类图描述软件系统中类的实现。类图的三种层次和模型中的概念模型、逻辑模型和物理模型相对应。
3. UML模型设计
本部分以城市地价与土地集约利用数据库建立为例进行UML模型设计,根据本数据库对数据的要求,首先进行UML数据模型的设计中不同类型的类的设计。对象类(Object Class)对应于Geodatabase中的一个二维表,并在表中有一个只读的OBJECTID标识符; 要素类(Feature Class)是一种特殊化的对象,在Geodatabase中也对应于一个表,并且在表中有一用于存储几何对象的列,它也可以和值域和子类相关联; 抽象类(Abstract Class)在Geodatabase中并不对应任何表,它的属性和操作由其子类所继承,这种技术减少了类图中的多余的元素。
(1)关系类型的设计
在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体内部的联系和实体之间的联系。实体之间的联系可以分为多种类型,包括为一对一、一对多和多对多三种情况。根据实体之间的关系,建立实体—联系模型,在E-R图中,这三类联系用数字或字母加以区分,即在联系线的两端用数字或字母(1、M、N)表示联系的数量关系。根据城市地价与土地集约利用实体之间的关系,进行关系类型的设计,主要包括“联系”、“类继承”、“聚合”、“组成”、“关系类”。
①联系(Association)联系描述了类之间的关联。在两端的类中可以定义多重性(Multiplicity)关联。
如图3.8所示,多重性关联就是限制对象类与其他对象关联的数目关系。以下是用于多重性关联的符号:
图3.8 数据库设计之UML图形——联系(局部)
1——一个并且只有一个,这种多样性是可选的; 如果不标明,则默认为“1”
0…1——零个或一个
M…N——从M到N(正整数)
* 或者0…* ——从零到任意正整数
1…* ——从一到任意正整数
②类继承(Typeinheritance)定义了专门的类,它们拥有超类的属性和方法,并且同时也有自身的属性和方法。
如图3.9所示,组织(Organization)的属性和操作由正式组织(Formal Organization)和非正式组织(Informal Organization)继承。
图3.9 数据库设计之UML图形——类继承(局部)
③聚合(Aggregation)是一种不对称的关联方式,在这种方式下一个类的对象被认为是一个“整体”,而另一个类的对象被认为是“部件”。部件和整体相关联,当部件移除后,整体依然能够存在。如图3.10所示。
图3.10 数据库设计之UML图形——聚合(局部)
④组成(Composition)是一种更为强壮的聚合方式,此种方式下,“整体”对象控制着“部分”对象的生存时间。当整体对象被移除后,部分对象就不能再用了。如图3.11所示。
图3.11 数据库设计之UML图形——组成(局部)
⑤关系类(Relationshipclass),在关联建模中,存在一些情况下,你需要包括其他类,因为它包含了关于关联的有价值的信息。对于这种情况,你会使用关联类来绑定你的基本关联。关联类和一般类一样表示。不同的是,主类和关联类之间用一条相交的点线连接。
(2)模型的设计
根据以上分析,构建城市地价与土地集约利用数据的UML模型。城市地价与土地集约利用数据UML模型的静态结构图如图3.12所示。
图3.12 城市地价与土地利用实体类型及属性类型(部分)图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。