《第九章 空间数据库设计.ppt》由会员分享,可在线阅读,更多相关《第九章 空间数据库设计.ppt(65页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第九章第九章 空间数据库设计空间数据库设计9.9.空间数据库设计空间数据库设计q9.1 空间数据库设计概述空间数据库设计概述q9.2 需求分析需求分析q9.3 概念结构设计概念结构设计q9.4 逻辑结构设计逻辑结构设计q9.5 空间数据库物理设计空间数据库物理设计q9.6 空间数据库的实施和维护空间数据库的实施和维护q9.7 空间数据库建库空间数据库建库9.1 9.1 空间数据库设计概述空间数据库设计概述q9.1.1 9.1.1 空间数据库设计原则空间数据库设计原则q9.1.2 9.1.2 空间数据库设计过程空间数据库设计过程9.1.1 9.1.1 空间数据库设计原则空间数据库设计原则q1 1
2、)空间数据库设计与应用系统设计相结合的原则)空间数据库设计与应用系统设计相结合的原则q2 2)数据独立性原则)数据独立性原则q3 3)共享度高、冗余度低原则)共享度高、冗余度低原则q4 4)用户与系统的接口简单性原则)用户与系统的接口简单性原则q5 5)系统可靠性、安全性与完整性原则)系统可靠性、安全性与完整性原则q6 6)系统具有重新组织、可修改与可扩充性原则)系统具有重新组织、可修改与可扩充性原则9.1.2 9.1.2 空间空间数据库设计数据库设计过程过程9.2 9.2 需求分析需求分析q9.2.1 9.2.1 需求分析的任务与方法需求分析的任务与方法q9.2.2 9.2.2 数据流图与数
3、据字典数据流图与数据字典9.2.1 9.2.1 需求需求分析的任务分析的任务与方法与方法9.2.2 9.2.2 数据流图与数据字典数据流图与数据字典q1 1数据流图的基本成分数据流图的基本成分2数据流图分层数据流图分层q3 3数据字典数据字典1 1)数据项)数据项数据项的描述通常包括以下内容数据项的描述通常包括以下内容:数据项名,数据项数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系,数据项之间的联系含义,与其他数据项的逻辑关系,数据项之间的联系“取值范围取值范围”,“与其他数据项的逻辑关系与其他数据项的逻
4、辑关系”。2 2)数据结构)数据结构数据结构反映了数据之间的组合关系。一个数据结构数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。对数组成,或由若干个数据项和数据结构混合组成。对数据结构的描述通常包括以下内容:数据结构名,含义据结构的描述通常包括以下内容:数据结构名,含义说明,组成:数据项或数据结构。说明,组成:数据项或数据结构。3 3)数据流)数据流是数据结构在系统内传播的路径。对数据流的描述通常包括以下是数据结构在系统内传播的路径。对数据流的描述通常包括以下内
5、容:数据流名,说明,数据流来源,数据流去向,组成:数据内容:数据流名,说明,数据流来源,数据流去向,组成:数据结构,平均流量,高峰期流量。结构,平均流量,高峰期流量。4 4)数据存储)数据存储数据存储是数据结构停留或保存的地方,也是数据流的来源和去数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。它可以是手工文档或手工凭单,也可以是计算机文档。向之一。它可以是手工文档或手工凭单,也可以是计算机文档。对数据存储的描述通常包括以下内容对数据存储的描述通常包括以下内容:数据存储名,说明,编号,数据存储名,说明,编号,输入的数据流,输出的数据流数据结构,数据量,存取频度,存输入的数据流,
6、输出的数据流数据结构,数据量,存取频度,存取方式。取方式。5 5)处理过程)处理过程处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字典中只需要描述处理过程的说明性信息,通常包括以下内容:处典中只需要描述处理过程的说明性信息,通常包括以下内容:处理过程名,说明,输入:数据流,输出:数据流,处理:简要说理过程名,说明,输入:数据流,输出:数据流,处理:简要说明。明。9.3 9.3 概念结构设计概念结构设计q9.3.1 9.3.1 利用利用E-RE-R模型设计模型设计q9.3.2 9.3.2 利用利用UMLUML模型设计模型设计9.3.
7、1 9.3.1 利用利用E-RE-R模型设计模型设计qERER模型是最为流行的建模工具之一。模型是最为流行的建模工具之一。q实体和属性实体和属性实体是物理上或者概念上独立存在的事物或对象。实体是物理上或者概念上独立存在的事物或对象。实体由属性来刻画性质,属性可以是单值或多值的。实体由属性来刻画性质,属性可以是单值或多值的。q联系联系一对一(一对一(1111)u在一对一的联系中,一个实体中每个实例只能与其在一对一的联系中,一个实体中每个实例只能与其他参与实体的一个实例相联系。他参与实体的一个实例相联系。u例如,实体例如,实体MANAGERMANAGER和和FORESTFOREST之间的联系之间的
8、联系managesmanages就就是一个一对一的联系。是一个一对一的联系。多对一(多对一(M1M1)u多对一联系可将一个实体的多个实例与另一个参与该联系的多对一联系可将一个实体的多个实例与另一个参与该联系的实体的一个实例相连接。实体的一个实例相连接。uBelongs_toBelongs_to是实体是实体FACILITYFACILITY与与FORESTFOREST之间的一个多对一联系,之间的一个多对一联系,这里假定每个设施仅仅属于一个森林,但每个森林可以有多这里假定每个设施仅仅属于一个森林,但每个森林可以有多个设施。个设施。多对多(多对多(MNMN)u一个实体的多个实例会与另一个参与该联系的实
9、体的多个实一个实体的多个实例会与另一个参与该联系的实体的多个实例相联系。例相联系。u实体实体RIVERRIVER和和FACILITYFACILITY之间的联系之间的联系supplies_water_tosupplies_water_to正是这正是这样的一个联系。样的一个联系。qERER图图用象形图扩展ER模型实体象形图实体象形图 (1 1)象形图)象形图 象形图是一种将对象插在方框内的微缩图表示,这些微缩图象形图是一种将对象插在方框内的微缩图表示,这些微缩图用来扩展用来扩展ERER图,并插到实体矩形框中的适当位置。图,并插到实体矩形框中的适当位置。(2 2)形状)形状 形状是象形图中的基本图形
10、元素,它代表着空间数据模型中形状是象形图中的基本图形元素,它代表着空间数据模型中的元素。的元素。一个模型元素可以是基本形状、复合形状、导出形状或备选一个模型元素可以是基本形状、复合形状、导出形状或备选形状。形状。(3 3)基本形状)基本形状 /基本形状的语法基本形状的语法点点/线线面面基本形状的象形图基本形状的象形图(4 4)复合形状)复合形状 为了处理那些不能用某个基本形状表示的对象,为了处理那些不能用某个基本形状表示的对象,我们定义了一组聚合的形状,并用基数来量化这我们定义了一组聚合的形状,并用基数来量化这些复合形状。些复合形状。(5 5)导出形状)导出形状 如果一个对象的形状是由其他对象
11、的形状导出的,如果一个对象的形状是由其他对象的形状导出的,那么就用斜体形式来表示这个象形图。那么就用斜体形式来表示这个象形图。0.111,n基数的语法基数的语法 0,n n使用了基数的多重形使用了基数的多重形状的象形图状的象形图0,nn基本形状的语法基本形状的语法/导出形状的象形图导出形状的象形图(6 6)备选形状)备选形状备选形状可以用于表示某种条件下的同一个对象。备选形状可以用于表示某种条件下的同一个对象。例如,根据比例尺,一条河流可以表示成一个多边形或一例如,根据比例尺,一条河流可以表示成一个多边形或一条线。条线。备选形状的语法备选形状的语法 备选形状的象形图备选形状的象形图 (7 7)
12、任意形状)任意形状对于形状的组合,我们用通配符(对于形状的组合,我们用通配符(*)表示,它表示各种)表示,它表示各种形状。形状。例如,一个灌溉网是由泵站(点)、水渠(线)以及水库例如,一个灌溉网是由泵站(点)、水渠(线)以及水库(多边形)所组成的。(多边形)所组成的。(8 8)用户自定义形状)用户自定义形状 除了点、线和多边形这些基本形状外,用户还可以定义自除了点、线和多边形这些基本形状外,用户还可以定义自己的形状。己的形状。例如,为了表达更多的信息,用户可能更愿意使用感叹号例如,为了表达更多的信息,用户可能更愿意使用感叹号之类的象形图来表示灌溉网。之类的象形图来表示灌溉网。联系象形图联系象形
13、图联系象形图用来构建实体间联系的模型。联系象形图用来构建实体间联系的模型。例如,例如,part-ofpart-of用于构建道路与路网之间联系的模用于构建道路与路网之间联系的模型,或是用于把森林划分成林分的建模。型,或是用于把森林划分成林分的建模。Part_ofPart_of(网络)网络)Part_ofPart_of(分区)分区)联系的象形图联系的象形图 带象形符号的带象形符号的ERER图图利用ER模型设计的步骤9.3.2利用利用UML模型设计模型设计qUMLUML模型是另一个流行的概念建模工具。是模型是另一个流行的概念建模工具。是用于面向对象软用于面向对象软件设计的概念层建模件设计的概念层建模
14、的新兴标准之一。它是一种综合型语言,的新兴标准之一。它是一种综合型语言,用于在概念层对结构化模式和动态行为进行建模。用于在概念层对结构化模式和动态行为进行建模。qUMLUML是一种通用的是一种通用的可视化建模语言可视化建模语言,用于对软件进行描述、,用于对软件进行描述、可视化处理理解、构造和建立软件制品的文档。可视化处理理解、构造和建立软件制品的文档。q作为一种建模语言,作为一种建模语言,UMLUML的定义包括的定义包括UMLUML语义和语义和UMLUML表示法两个部分:表示法两个部分:q(1 1)UMLUML语义,描述基于语义,描述基于UMLUML的精确元模型定义。元模型为的精确元模型定义。
15、元模型为UMLUML的所有的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。响。q(2 2)UMLUML表示法,定义表示法,定义UMLUML符号的表示法,为开发者或开发工具使用符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是字所表达的是应用级的模型,在语
16、义上它是UMLUML元模型的实例。元模型的实例。UMLUML包包含含五五类图类图,用例图用例图、静态图、对象图、行为图、交互图和实现图、静态图、对象图、行为图、交互图和实现图。这。这里我们采用静态图当中的类图。里我们采用静态图当中的类图。表表9-1 UML9-1 UML类图类图表示法表示法 9.4 9.4 逻辑结构设计逻辑结构设计q9.4.1 关系数据模型关系数据模型q9.4.2 E-R模型向关系模型转换模型向关系模型转换q9.4.3 面向实体的逻辑模型设计面向实体的逻辑模型设计9.4.1 9.4.1 关系数据模型关系数据模型q关系模型的基本思想是用二维表形式表示实体及关系模型的基本思想是用二
17、维表形式表示实体及其联系(其联系(见示例见示例)。二维表中的每一列对应实体)。二维表中的每一列对应实体的一个属性,其中给出相应的属性值;每一行形的一个属性,其中给出相应的属性值;每一行形成一个,由多种属性组成的多元组,或称元组,成一个,由多种属性组成的多元组,或称元组,与一特定实体相对应。实体间联系和各二维表间与一特定实体相对应。实体间联系和各二维表间联系采用关系描述或通过关系直接运算建立。联系采用关系描述或通过关系直接运算建立。q关系模型中应遵循以下条件:关系模型中应遵循以下条件:(1 1)二维表中同一列的属性是相同的;)二维表中同一列的属性是相同的;(2 2)赋予表中各列不同名字(属性名)
18、;)赋予表中各列不同名字(属性名);(3 3)二维表中各列的次序是无关紧要的;)二维表中各列的次序是无关紧要的;(4 4)没有相同内容的元组,即无重复元组;)没有相同内容的元组,即无重复元组;(5 5)元组在二维表中的次序是无关紧要的。)元组在二维表中的次序是无关紧要的。q关关系系模模型型的的优优点点:(1 1)结结构构灵灵活活,可可满满足足所所有有用用布布尔尔逻逻辑辑运运算算和和数数字字运运算算规规则则形形成成的的询询问问要要求求;(2 2)能能搜搜索索、组组合合和和比比较较不不同同类类型型的的数数据据;(3 3)加加入入和和删删除除数数据据方方便便;(4 4)适适宜宜地地理理属属性性数数据
19、据的的模模型型。关关系系模模型型的的缺缺点点:许许多多操操作作都都要要求求在在文文件件中中顺顺序序查查找找满满足足特特定定关关系系的的数数据据,若若数数据据库很大的话,这一查找过程要花很多时间。库很大的话,这一查找过程要花很多时间。q以以地图地图M M为例:为例:q地图地图M M中有两个面实体中有两个面实体 q多边形由多边形由a,b,ea,b,e组成组成 M Mq多边形由多边形由b,c,db,c,d组成组成 1 1 a a qa a边的边的两个端点是两个端点是1 1,2 2 e e 2 2 qb b边的两个端点是边的两个端点是2 2,4 4 4 4 b b c cqc c边的两个端点是边的两个
20、端点是2 2,3 3 d d qd d边的两个端点是边的两个端点是3 3,4 34 3qe e边的两个端点是边的两个端点是1 1,4 4关系模型例关系模型例9.4.2 E-R9.4.2 E-R模型向关系模型转换模型向关系模型转换q将将E-R图转换为关系模型实际上就是要将实体、实体的属图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式,这种转换一般遵性和实体之间的联系转化为关系模式,这种转换一般遵循如下循如下原则原则:(1)一个实体型转换为一个关系模式。实体的属性就是关系的)一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。属性,实体的码就是
21、关系的码。(2)一个)一个M:N联系转换为一个关系模式。与该联系相连的各实联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。各实体码的组合。(3)一个)一个1:N联系可以转换为一个独立的关系模式,也可以与联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关
22、系的码为性,而关系的码为n端实体的码。端实体的码。(4)一个)一个1:1联系可以转换为一个独立的关系模式,也联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。可以与任意一端对应的关系模式合并。(5)三个或三个以上实体间的一个多元联系转换为一)三个或三个以上实体间的一个多元联系转换为一个关系模式。与该多元联系相连的各实体的码以及联个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。实体码的组合。(6)同一实体集的实体间的联系,即自联系,也可按)同一实体集的实体间的联系,即自联系
23、,也可按上述上述1:1、1:N和和M:N三种情况分别处理。三种情况分别处理。(7)具有相同码的关系模式可合并。)具有相同码的关系模式可合并。E-R图向关系模型的转换(续)图向关系模型的转换(续)q转换原则转换原则 一个实体型转换为一个关系模式一个实体型转换为一个关系模式。关系的属性关系的属性关系的属性关系的属性:实体型的属性:实体型的属性关系的码关系的码关系的码关系的码:实体型的码:实体型的码例,学生实体可以转换为如下关系模式:例,学生实体可以转换为如下关系模式:学生(学生(学号学号,姓名,出生日期,所在系,姓名,出生日期,所在系,年级,平均成绩)年级,平均成绩)性别、宿舍、班级、档案材料、教
24、师、课程、教室、性别、宿舍、班级、档案材料、教师、课程、教室、教科书都分别转换为一个关系模式。教科书都分别转换为一个关系模式。E-R图向关系模型的转换(续)图向关系模型的转换(续)一个一个m:n联系转换为一个关系模式。联系转换为一个关系模式。关系的属性关系的属性关系的属性关系的属性:与该联系相连的各实体的码以:与该联系相连的各实体的码以及联系本身的属性及联系本身的属性关系的码关系的码关系的码关系的码:各实体码的组合:各实体码的组合例,例,“选修选修”联系是一个联系是一个m:n联系,可以将它联系,可以将它转换为如下关系模式,其中学号与课程号为关转换为如下关系模式,其中学号与课程号为关系的组合码:
25、系的组合码:选修(选修(学号学号,课程号课程号,成绩),成绩)E-R图向关系模型的转换(续)图向关系模型的转换(续)一个一个1:n联系可以转换为一个独立的关系模式,联系可以转换为一个独立的关系模式,也可以与也可以与n端对应的关系模式合并。端对应的关系模式合并。1)转换为一个独立的关系模式转换为一个独立的关系模式uu关系的属性关系的属性关系的属性关系的属性:与该联系相连的各实体的码:与该联系相连的各实体的码以及联系本身的属性以及联系本身的属性uu关系的码关系的码关系的码关系的码:n端实体的码端实体的码E-R图向关系模型的转换(续)图向关系模型的转换(续)一个一个1:n联系可以转换为一个独立的关系
26、模式,联系可以转换为一个独立的关系模式,也可以与也可以与n端对应的关系模式合并。端对应的关系模式合并。2)与与n端对应的关系模式合并端对应的关系模式合并uu合并后关系的属性合并后关系的属性合并后关系的属性合并后关系的属性:在:在n端关系中加入端关系中加入1端关系的码和联系本身的属性端关系的码和联系本身的属性uu合并后关系的码合并后关系的码合并后关系的码合并后关系的码:不变:不变可以减少系统中的关系个数,一般情况下更可以减少系统中的关系个数,一般情况下更倾向于采用这种方法倾向于采用这种方法E-R图向关系模型的转换(续)图向关系模型的转换(续)例,例,“组成组成”联系为联系为1:n联系。联系。将其
27、转换为关系模式的两种方法:将其转换为关系模式的两种方法:1)使其成为一个独立的关系模式:使其成为一个独立的关系模式:组成(组成(学号学号,班级号),班级号)2)将其学生关系模式合并:将其学生关系模式合并:学生(学生(学号学号,姓名,出生日期,所在系,姓名,出生日期,所在系,年级,年级,班级号班级号,平均成绩),平均成绩)E-R图向关系模型的转换(续)图向关系模型的转换(续)一个一个1:1联系可以转换为一个独立的关系模式,联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。也可以与任意一端对应的关系模式合并。1)转换为一个独立的关系模式转换为一个独立的关系模式uu关系的属性关系
28、的属性关系的属性关系的属性:与该联系相连的各实体的码:与该联系相连的各实体的码以及联系本身的属性以及联系本身的属性uu关系的候选码关系的候选码关系的候选码关系的候选码:每个实体的码均是该关系:每个实体的码均是该关系的候选码的候选码E-R图向关系模型的转换(续)图向关系模型的转换(续)一个一个1:1联系可以转换为一个独立的关系模式,联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。也可以与任意一端对应的关系模式合并。2)与某一端对应的关系模式合并与某一端对应的关系模式合并uu合并后关系的属性合并后关系的属性合并后关系的属性合并后关系的属性:加入对应关系的码和:加入对应关系的码
29、和联系本身的属性联系本身的属性uu合并后关系的码合并后关系的码合并后关系的码合并后关系的码:不变:不变E-R图向关系模型的转换(续)图向关系模型的转换(续)例,例,“管理管理”联系为联系为1:1联系,可以有三种转换方法:联系,可以有三种转换方法:(1)转换为一个独立的关系模式转换为一个独立的关系模式:管理(管理(职工号职工号,班级号),班级号)或或管理(职工号,管理(职工号,班级号班级号)(2)“管理管理”联系与班级关系模式合并联系与班级关系模式合并,则只需在班级关系中,则只需在班级关系中加入教师关系的码,即职工号:加入教师关系的码,即职工号:班级:(班级:(班级号班级号,学生人数,学生人数,
30、职工号职工号)(3)“管理管理”联系与教师关系模式合并联系与教师关系模式合并,则只需在教师关系中,则只需在教师关系中加入班级关系的码,即班级号:加入班级关系的码,即班级号:教师:(教师:(职工号职工号,姓名,性别,职称,姓名,性别,职称,班级号班级号,是否为优秀班主任)是否为优秀班主任)E-R图向关系模型的转换(续)图向关系模型的转换(续)注意:注意:u从理论上讲,从理论上讲,1:1联系可以与任意一端对应的关系模联系可以与任意一端对应的关系模式合并。式合并。u但在一些情况下,与不同的关系模式合并效率会大但在一些情况下,与不同的关系模式合并效率会大不一样。因此究竟应该与哪端的关系模式合并需要不一
31、样。因此究竟应该与哪端的关系模式合并需要依应用的具体情况而定。依应用的具体情况而定。u由于连接操作是最费时的操作,所以一般应以尽量由于连接操作是最费时的操作,所以一般应以尽量减少连接操作为目标。减少连接操作为目标。例如,如果经常要查询某个班级的班主任姓名,则例如,如果经常要查询某个班级的班主任姓名,则将管理联系与教师关系合并更好些。将管理联系与教师关系合并更好些。E-R图向关系模型的转换(续)图向关系模型的转换(续)三个或三个以上实体间的一个多元联系转换为三个或三个以上实体间的一个多元联系转换为一个关系模式。一个关系模式。关系的属性关系的属性关系的属性关系的属性:与该多元联系相连的各实体的:与
32、该多元联系相连的各实体的码以及联系本身的属性码以及联系本身的属性关系的码关系的码关系的码关系的码:各实体码的组合:各实体码的组合例,例,“讲授讲授”联系是一个三元联系,可以将它转联系是一个三元联系,可以将它转换为如下关系模式,其中课程号、职工号和书号换为如下关系模式,其中课程号、职工号和书号为关系的组合码:为关系的组合码:讲授(讲授(课程号,职工号,书号课程号,职工号,书号)E-R图向关系模型的转换(续)图向关系模型的转换(续)同一实体集的实体间的联系,即同一实体集的实体间的联系,即自联系自联系,也可,也可按上述按上述1:1、1:n和和m:n三种情况分别处理。三种情况分别处理。例,例,如果教师
33、实体集内部存在领导与被领导的如果教师实体集内部存在领导与被领导的1:n自联系,我们可以将该联系与教师实体合并,自联系,我们可以将该联系与教师实体合并,这时主码职工号将多次出现,但作用不同,可这时主码职工号将多次出现,但作用不同,可用不同的属性名加以区分:用不同的属性名加以区分:教师:教师:职工号职工号,姓名,性别,职称,姓名,性别,职称,系主任系主任E-R图向关系模型的转换(续)图向关系模型的转换(续)具有相同码的关系模式可合并。具有相同码的关系模式可合并。目的目的:减少系统中的关系个数。:减少系统中的关系个数。合并方法合并方法:将其中一个关系模式的全部属性:将其中一个关系模式的全部属性加入到
34、另一个关系模式中,然后去掉其中的加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),并适同义属性(可能同名也可能不同名),并适当调整属性的次序。当调整属性的次序。E-R图向关系模型的转换(续)图向关系模型的转换(续)例,例,“拥有拥有”关系模式:关系模式:拥有(拥有(学号学号,性别),性别)与学生关系模式:与学生关系模式:学生(学生(学号学号,姓名,出生日期,所在系,年级,姓名,出生日期,所在系,年级,班级号,平均成绩)班级号,平均成绩)都以学号为码,可以将它们合并为一个关系模式:都以学号为码,可以将它们合并为一个关系模式:学生(学生(学号学号,姓名,性别,出生日期,所在系
35、,姓名,性别,出生日期,所在系,年级,班级号,平均成绩)年级,班级号,平均成绩)应应用用q例:例:q在著书工作中,一位作者可以编写多本图书,一在著书工作中,一位作者可以编写多本图书,一本书可以由多位作者编写。本书可以由多位作者编写。设作者的属性有:作者号,姓名,单位,电话;设作者的属性有:作者号,姓名,单位,电话;书的属性有:书号,书名,出版社,书的属性有:书号,书名,出版社,日期。试完成如下问题:日期。试完成如下问题:q(1)设计该系统的)设计该系统的E-R图;图;q(2)将该)将该E-R图转换为关系模型结构;图转换为关系模型结构;q(3)指出转换结果中每一个关系模式的候选码。)指出转换结果
36、中每一个关系模式的候选码。(1)E-R图(2)将该)将该E-R图转换为关系模型结构如下:图转换为关系模型结构如下:作者(作者(作者号作者号,姓名,单位,电话),姓名,单位,电话)图书(图书(书号书号,书名,出版社,日期),书名,出版社,日期)编写(编写(作者号,书号作者号,书号)(3)以上关系模式中带下划线的为该关系模式的候选码)以上关系模式中带下划线的为该关系模式的候选码作者号姓名单位电话出版社书号书名日期作者图书编写mn9.4.3 9.4.3 面向实体的逻辑模型设计面向实体的逻辑模型设计q地理实体在模型中表示为地理实体在模型中表示为要素要素。要素是由几何实体和属性组成的。它。要素是由几何实
37、体和属性组成的。它包括包括简单类型简单类型,例如,一个界址点、一个行政界线、一块土地;它们,例如,一个界址点、一个行政界线、一块土地;它们的几何形态分别为简单点,简单线和简单区。还有一些的几何形态分别为简单点,简单线和简单区。还有一些复杂类型的实复杂类型的实体体,例如,一个河流的流域。它的几何特性对应的是多种形态的几何,例如,一个河流的流域。它的几何特性对应的是多种形态的几何实体,所以它的几何特性是一个复合类型。换句话说,通过原子几何实体,所以它的几何特性是一个复合类型。换句话说,通过原子几何实体(点、线、区)的任意组合可表达和描述任意几何复杂度的实体。实体(点、线、区)的任意组合可表达和描述
38、任意几何复杂度的实体。q什么是几何实体什么是几何实体?它是地理对象的外观特征或可视化形状。地理实体?它是地理对象的外观特征或可视化形状。地理实体可以用三种几何实体表示在地图上:点、线、多边形。继续细分下去,可以用三种几何实体表示在地图上:点、线、多边形。继续细分下去,几何形态包括单点、多点、单弧段、多弧段、多边形等。几何形态包括单点、多点、单弧段、多弧段、多边形等。1要素类的要素类的建模与表达建模与表达2注记类的建注记类的建模与表达模与表达3关系类的建模与表达关系类的建模与表达4规则的建模与表达规则的建模与表达9.5 9.5 空间数据库物理设计空间数据库物理设计q9.5.1 空间数据库存储策略
39、空间数据库存储策略q9.5.2 空间数据库关系模式设计空间数据库关系模式设计9.5.1 空间数据库存储策略对象对象-关系数据库管理,基于商业数据库进行存储,关系数据库管理,基于商业数据库进行存储,其存储策略如下:其存储策略如下:数据存储层对象管理层并发控制 管理器安全管理器地 理 数 据 库 管 理 器 接 口数据库对象类、要素类、关系类、注记类等地理数据库层数据管理层SDE 接口SDE客户端SDE服务器CSSQLSQL9.5.2 9.5.2 空间数据库关系模式设计空间数据库关系模式设计q空间数据库主要包含空间数据库主要包含空间数据和元数据信息空间数据和元数据信息两个两个部分。部分。q空间数据
40、空间数据以以“地理数据库地理数据库要素数据集要素数据集类类”的的层次进行组织。例如,类层次的对象有要素类、层次进行组织。例如,类层次的对象有要素类、注记类、对象类、关系类和规则等,每一种对象注记类、对象类、关系类和规则等,每一种对象在空间数据库当中需要用一个表集来描述其信息在空间数据库当中需要用一个表集来描述其信息和内部关系。和内部关系。q元数据信息元数据信息则描述前面所有空间数据的元数据信则描述前面所有空间数据的元数据信息,使用数据字典进行表达。息,使用数据字典进行表达。q1 1地理数据库数据字典表关系地理数据库数据字典表关系q2 2要素类的关系模式要素类的关系模式表表 9-3 9-3 要素
41、类信息关系表说明要素类信息关系表说明表表 9-4 9-4 几何实体信息关系表说明几何实体信息关系表说明表表 9-5 9-5 点信息关系表说明点信息关系表说明表表 9-6 9-6 弧段信息关系表说明弧段信息关系表说明表表 9-7 9-7 弧段拓扑信息关系表说明弧段拓扑信息关系表说明表表 9-8 9-8 点图形参数关系表说明点图形参数关系表说明表表 9-9 9-9 线图形参数关系表说明线图形参数关系表说明表表 9-10 9-10 区图形参数关系表说明区图形参数关系表说明q3 3注记类的关系模式注记类的关系模式表表 9-11 9-11 注记信息关系表说明注记信息关系表说明q4 4关系类的关系模式关系
42、类的关系模式表表 9-12 9-12 关系类信息关系表说明关系类信息关系表说明q5 5规则的关系模式规则的关系模式表表 9-13 9-13 有效规则关系表说明有效规则关系表说明表表 9-14 9-14 属性规则关系表说明属性规则关系表说明表表 9-15 9-15 关系规则关系表说明关系规则关系表说明表表 9-16 9-16 拓扑规则关系表说明拓扑规则关系表说明表表 9-17 9-17 空间规则关系表说明空间规则关系表说明9.6 9.6 空间数据库的实施和维护空间数据库的实施和维护q9.6.1 空间数据库系统实施空间数据库系统实施q9.6.2 空间数据库系统维护空间数据库系统维护9.6.1 9.
43、6.1 空间数据库系统实施空间数据库系统实施 空间数据库的概念设计、逻辑设计和物理设计修改以空间数据库的概念设计、逻辑设计和物理设计修改以后,便可以开始正式的进行数据库实施了。实施的过程,应后,便可以开始正式的进行数据库实施了。实施的过程,应当以实施计划为指南,尽量按照计划进行实施。但是再好的当以实施计划为指南,尽量按照计划进行实施。但是再好的计划也是不可能完全准确的,在实施过程中常常需要对实施计划也是不可能完全准确的,在实施过程中常常需要对实施计划做或多或少的改动。任何方面的改动都应当以书面形式计划做或多或少的改动。任何方面的改动都应当以书面形式备案,做到有案可查(吴信才等,备案,做到有案可
44、查(吴信才等,20022002)。空间数据库的实)。空间数据库的实施一般过程如下:施一般过程如下:(1 1)数据录入)数据录入:数据录入的数据源应包括系统设计的各:数据录入的数据源应包括系统设计的各类源数据,以检测各输出软件的可行性和数据转换格式类源数据,以检测各输出软件的可行性和数据转换格式的正确性。的正确性。(2 2)数据编辑)数据编辑:对录入的数据在进入数据库以前的:对录入的数据在进入数据库以前的编辑和预处理要尽可能测试各种编辑功能和操作,检编辑和预处理要尽可能测试各种编辑功能和操作,检测其安全性和可操作性。测其安全性和可操作性。(3 3)数据库建立)数据库建立:应保证所选择的试验小区的
45、数据:应保证所选择的试验小区的数据足以建立一个完整的空间数据库和属性数据库,以检足以建立一个完整的空间数据库和属性数据库,以检测其结构的合理性和拓扑关系的正确性以及数据连接测其结构的合理性和拓扑关系的正确性以及数据连接的正确性等,同时对数据库管理系统的功能也应进行的正确性等,同时对数据库管理系统的功能也应进行全面测试。全面测试。(4 4)数据分析与处理)数据分析与处理:利用所建立的数据库的数据:利用所建立的数据库的数据对应用型对应用型GISGIS的基本分析功能,特别是对应用模型进的基本分析功能,特别是对应用模型进行测试,检查模型的正确性和可靠性。行测试,检查模型的正确性和可靠性。(5 5)数据
46、输出)数据输出:输出结果能否满足所设计的要求和:输出结果能否满足所设计的要求和用户的需要。用户的需要。9.6.2 9.6.2 空间数据库系统维护空间数据库系统维护q1 1维护的内容维护的内容q1 1)程序的维护)程序的维护在系统维护阶段,会有一部分程序需要改动。根据运行在系统维护阶段,会有一部分程序需要改动。根据运行记录,发现程序的错误,这时需要改正;或者随着用户记录,发现程序的错误,这时需要改正;或者随着用户对系统的熟悉,用户有更高的要求,部分程序需要改进;对系统的熟悉,用户有更高的要求,部分程序需要改进;或者环境发生变化,部分程序需要修改。或者环境发生变化,部分程序需要修改。q2 2)数据
47、文件的维护)数据文件的维护业务发生了变化,从而需要建立新文件,或者对现有文业务发生了变化,从而需要建立新文件,或者对现有文件的结构进行修改。件的结构进行修改。q3 3)代码的维护)代码的维护随着环境的变化,旧的代码不能适应新的要求,必须随着环境的变化,旧的代码不能适应新的要求,必须进行改造,制定新的代码或修改旧的代码体系。代码进行改造,制定新的代码或修改旧的代码体系。代码维护的困难主要是新代码的贯彻,因此各个部门要有维护的困难主要是新代码的贯彻,因此各个部门要有专人负责代码管理。专人负责代码管理。q4 4)机器、设备的维护)机器、设备的维护包括机器、设备的日常维护与管理。一旦发生小故障,包括机
48、器、设备的日常维护与管理。一旦发生小故障,要有专人进行修理,保证系统的正常运行。要有专人进行修理,保证系统的正常运行。q2 2维护的类型维护的类型q1 1)更正性维护)更正性维护这是指由于发现系统中的错误而引起的维护。工作内这是指由于发现系统中的错误而引起的维护。工作内容包括诊断问题与修正错误。容包括诊断问题与修正错误。q2 2)适应性维护)适应性维护这是指为了适应外界环境的变化而增加或修改系统部这是指为了适应外界环境的变化而增加或修改系统部分功能的维护工作。例如,新的硬件系统问世,操作分功能的维护工作。例如,新的硬件系统问世,操作系统版本更新,应用范围扩大。为适应这些变化,应系统版本更新,应
49、用范围扩大。为适应这些变化,应有型地理信息系统需要进行维护。有型地理信息系统需要进行维护。q3 3)完善性维护)完善性维护这是指为了改善系统功能或应用户的需要而增加新的这是指为了改善系统功能或应用户的需要而增加新的功能的维护工作。系统经过一个时期的运行之后,某功能的维护工作。系统经过一个时期的运行之后,某些地方效率需要提高,或者使用的方便性还可以提高,些地方效率需要提高,或者使用的方便性还可以提高,或者需要增加某些安全措施等等。这类维护工作占维或者需要增加某些安全措施等等。这类维护工作占维护工作的绝大部分。护工作的绝大部分。q4 4)预防性维护)预防性维护这是主动性的预防措施。对一些使用寿命较长,目前这是主动性的预防措施。对一些使用寿命较长,目前尚能正常运行,但可能要发生变化的部分进行维护,尚能正常运行,但可能要发生变化的部分进行维护,以适应将来的修改或调整。例如,将专用报表功能改以适应将来的修改或调整。例如,将专用报表功能改成通用报表生成功能,以适应将来报表格式的变化。成通用报表生成功能,以适应将来报表格式的变化。9.7 空间数据库建库End!