空间数据库 第二章空间数据库的设计原理和实例课件.ppt

上传人:小飞机 文档编号:1825838 上传时间:2022-12-20 格式:PPT 页数:104 大小:3.70MB
返回 下载 相关 举报
空间数据库 第二章空间数据库的设计原理和实例课件.ppt_第1页
第1页 / 共104页
空间数据库 第二章空间数据库的设计原理和实例课件.ppt_第2页
第2页 / 共104页
空间数据库 第二章空间数据库的设计原理和实例课件.ppt_第3页
第3页 / 共104页
空间数据库 第二章空间数据库的设计原理和实例课件.ppt_第4页
第4页 / 共104页
空间数据库 第二章空间数据库的设计原理和实例课件.ppt_第5页
第5页 / 共104页
点击查看更多>>
资源描述

《空间数据库 第二章空间数据库的设计原理和实例课件.ppt》由会员分享,可在线阅读,更多相关《空间数据库 第二章空间数据库的设计原理和实例课件.ppt(104页珍藏版)》请在三一办公上搜索。

1、武汉理工大学资源与环境工程学院,空间数据库The Spatial Database System第二章 空间数据库设计,2022/12/20,2,软件生存期,数据库生存期,2022/12/20,3,处理需求,DBMS特征,总体信息需求,硬件和OS特征,物理数据库结构,需求说明书,信息结构(独立于硬件、软件),逻辑数据库结构(DBMS能处理的)应用程序说明书,数据库设计的输入输出,2022/12/20,4,2.1 数据库设计的三个步骤,数据库应用通过三个设计步骤来进行建模。首先,采用高层次的概念数据模型(conceptual data model)来组织所有与应用相关的可用信息。实体-联系(en

2、tity relationship, ER)模型是所有概念设计工具中最为流行的一种。 第二步,也称为逻辑建模阶段,与概念数据模型在商用DBMS上的具体实现有关。实现模型的例子有:层次模型、网状模型和关系模型。其中关系模型是目前商用数据库实现的最为广泛的模型之一。 最后,数据库设计的第三个步骤是物理设计的建模,它解决数据库应用在计算机中具体实现时方方面面细节。有关存储、索引和内存管理等问题都在这一阶段考虑和解决。,2022/12/20,5,一概念数据建模ER模型,对于概念数据建模来说,有许多可用的设计工具,ER模型是其中最为流行的工具之一。ER模型同关系模型无缝地整合在一起,而关系数据模型又是三

3、个数据库设计阶段的第二步中最流行的逻辑模型之一。我们在这里使用ER模型对State-Park例子进行建模。,2022/12/20,6,2.2概念结构-review,什么是概念结构设计需求分析阶段描述的用户应用需求是现实世界的具体需求将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。概念结构设计是整个数据库设计的关键,2022/12/20,7,2.2概念结构(续),需求分析,概念结构设计,逻辑结构设计,物理结构设计,2022/12/20,8,2.2概念结构(续),概念结构设计的特点(1)能真实、

4、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。,2022/12/20,9,2.2概念结构(续),概念结构设计的特点(续)(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。(4)易于向关系、网状、层次等各种数据模型转换。,2022/12/20,10,2.2概念结构(续),描述概念模型的工具E-R模型ER模型的基本元素实体联系属性例子,实体,联系,属性,ER模型图例,2022/12/20,11,2.2实例,2022/12/20

5、,12,2.2.1 ER模型,1实体和属性在ER模型中,微型世界被划分成一个个实体(entity),由属性(attribute)来描述实体性质,并通过联系互相关联。实体是物理上或者概念上独立存在的事物或对象。在State-Park例子中,Forest、RIVER、FOREST-STAND ROAD以及FIRE-STATION都是实体。DBMS中必须有一个机制来保证这种约束。,2022/12/20,13,2.2.1 ER模型,实体由属性来刻画性质。例如,name是实体FOREST的属性。唯一标识实体实例的属性(或属性集)称为码(key)。在我们的例子中,假定任意两条道路均不能同名的话,实体ROA

6、D的name属性就是一个码。本例中数据库的所有ROAD实例都有唯一的名称。尽管这不是概念设计的问题,但DBMS中必须有一个机制来保证这种约束。,2022/12/20,14,属性可以是单值或多值的。Species(树种)是FOREST- STAND的单值属性。我们利用本例的情况来解释多值属性。FACILITY实体有一个Pointid属性,它是该实体实例的空间位置的唯一标识。我们假定,由于地图比例尺的缘故,所有FACILITY实例都要用点来表示。一个给定的设施可能会跨越两个点对应的位置,这时Pointid属性就是多值的。其他实体也会有类似情况。假设要存储有关FOREST的elevation(高程)

7、信息,由于elevation的值在FOREST实体内部会变化,我们将该属性作为多值属性,因为不支持场数据类型。,2022/12/20,15,2联系除了实体和属性外,构成ER模型的第三个要素是联系(relationship)。实体之间通过联系相互作用和关联。虽然多个实体可以同时参与一个给定的联系,但我们只讨论二元(binary)联系,即两个实体间的联系。有三种基于基数约束的联系:一对一、一对多和多对多。,2022/12/20,16,(1)一对一(11)在一对一的联系中,一个实体中每个实例只能与其他参与实体的一个实例相联系。例如,实体MANAGER和FOREST之间的联系manages就是一个一对

8、一的联系,即一个FOREST只能有一处MANAGER,而一个MANAGER只能管理一个FOREST。,2022/12/20,17,(2)多对一(M1)多对一联系可将一个实体的多个实例与另一个参与该联系的实体的一个实例相连接。Belongs_to是实体FACILITY与FOREST之间的一个多对一联系,这里假定每个设施仅仅属于一个森林,但每个森林可以有多个设施。,M,2022/12/20,18,(3)多对多(MN)有时候一个实体的多个实例会与另一个参与该联系的实体的多个实例相联系。实体RIVER和FACILITY之间的联系supplies_water_to正是这样的一个联系。有时候,联系也可以拥

9、有属性。Supplies-water-to有一个Volume属性,用来跟踪一条河流向一个设施供水的水量。,2022/12/20,19,3ER图与ER模型相关的是ER图,ER图为概念模型提供了图形化的表示方法。在ER图中,实体用矩形表示:属性表示为椭圆,并用直线与表示实体的矩形相连;联系则表示为菱形。联系的基数(cardinality)(包括11、M1或MN)标注在菱形的旁边。码的属性加下划线,而多值属性用双椭圆表示。,2022/12/20,20,2.2.2视图集成,各个局部视图建立好后,还需要对它们进行合并,集成为一个整体的数据概念结构,即总E-R图。集成局部E-R图型,设计全局E-R模型的步

10、骤如图8-12所示。,2022/12/20,21,2.2.2视图集成,2022/12/20,22,2.2.2视图集成,1合并局部E-R图,生成初步E-R图(1)属性冲突。属性域冲突,属性值类型、取值范围或取值集合不同。 属性取值单位冲突。 (2)命名冲突。同名异义。 异名同义(一义多名)。 (3)结构冲突。,结构冲突 同一对象在不同应用中具有不同的抽象。例如“课程”在某一局部应用中被当作实体,而在另一局部应用中则被当作属性。 同一实体在不同局部视图中所包含的属性不完全相同,或者属性的排列次序不完全相同。 实体之间的联系在不同局部视图中呈现不同的类型。例如实体E1与E2在局部应用A中是多对多联系

11、,而在局部应用B中是一对多联系;又如在局部应用X中E1与E2发生联系,而在局部应用Y中E1、E2、E3三者之间有联系。,2022/12/20,23,解决方法是根据应用的语义对实体联系的类型进行综合或调整。下面我们来看看如何生成学校管理系统的初步E-R图。我们着重介绍学籍管理局部视图与课程管理局部视图的合并。这两个分E-R图存在着多方面的冲突:教师:职工号,姓名,性别,职称班主任:职工号,姓名,性别,优秀班主任,2022/12/20,24,班主任实际上也属于教师,也就是说学籍管理中的班主任实体与课程管理中的教师实体在一定程度上属于异名同义,可以应将学籍管理中的班主任实体与课程管理中的教师实体统一

12、称为教师,统一后教师实体的属性构成为:教师:职工号,姓名,性别,职称,优秀班主任,2022/12/20,25,将班主任改为教师后,教师与学生之间的联系在两个局部视图中呈现两种不同的类型,一种是学籍管理中教师与学生之间的指导联系,一种是课程管理中教师与学生之间的教学联系。,2022/12/20,26,2022/12/20,27,2.2.2视图集成,2修改和重构初步E-R图,消除冗余,生成基本E-R图(1)用分析的方法消除冗余。分析方法是消除冗余的主要方法。(2)用规范化理论消除冗余。,2022/12/20,28,2022/12/20,29,2.2.2 State-Park例子的ER图,M,202

13、2/12/20,30,2.2.2 State-Park例子的ER图,State-Park例子的ER图如图所示,其中有7个实体,即FOREST- STAND、RIVER、ROAD、FACILITY、FOREST、FIER、STATION和MANAGER。实体FOREST的属性有name、elevation和polygonid。Name是唯一的标识,即每片森林有唯一的名称。图中还给出了8个联系。实体FOREST参与了6个联系,而实体FIER-STATION只参与了一个名为monitors的联系。基数约束表明每个消除站只监控一片森林,但一片森林可被许多消防站监控。有些联系是空间上固有的,包括cros

14、s(穿过)、within(在内部)和part-of(部分),而图中许多其他空间联系是隐含的。例如,一条河流穿过一条道路在图中是标明的,而一条河流穿过一片森林则是隐含的。,2022/12/20,31,图 数据库的各级模式,应用1,应用3,应用2,概念模式,概念要求,概念要求,概念要求,应用1,应用3,应用2,逻辑模式,内模式,外模式3,外模式2,外模式1,综合,转换,映像,映像,2022/12/20,32,2.3逻辑结构设计,逻辑结构设计的任务概念结构是各种数据模型的共同基础为了能够用某一DBMS实现用户需求,还必须将概念结构进一步转化为相应的数据模型,这正是数据库逻辑结构设计所要完成的任务。,

15、2022/12/20,33,2.3逻辑结构设计,逻辑结构设计的步骤将概念结构转化为一般的关系、网状、层次模型将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换对数据模型进行优化,2022/12/20,34,2.3逻辑结构设计,2022/12/20,35,2.3逻辑结构设计,2.3.1 E-R图向关系模型的转换2.3.2 向特定DBMS规定的模型进行转换2.3.3 数据模型的优化2.3.4 设计用户子模式,2022/12/20,36,2.3.1 E-R图向关系模型的转换,转换内容转换原则,2022/12/20,37,E-R图向关系模型的转换(续),转换内容E-R图由实体、实体的属性

16、和实体之间的联系三个要素组成关系模型的逻辑结构是一组关系模式的集合将E-R图转换为关系模型:将实体、实体的属性和实体之间的联系转化为关系模式。,2022/12/20,38,Review 什么是关系模式?,关系模式可以形式化地表示为: R(U,D,dom,F) R 关系名U 组成该关系的属性名集合D 属性组U中属性所来自的域dom 属性向域的映象集合F 属性间的数据依赖关系集合,2022/12/20,39,关系模式通常可以简记为R (U) 或 R (A1,A2,An)R 关系名A1,A2,An 属性名注:域名及属性向域的映象常常直接说明为 属性的类型、长度,2022/12/20,40,E-R图向

17、关系模型的转换(续),转换原则 一个实体型转换为一个关系模式。关系的属性:实体型的属性关系的码:实体型的码,2022/12/20,41,例,学生实体可以转换为如下关系模式:学生(学号,姓名,出生日期,所在系, 年级,平均成绩) 性别、宿舍、班级、档案材料、教师、课程、教室、教科书都分别转换为一个关系模式。,2022/12/20,42,E-R图向关系模型的转换(续), 一个m:n联系转换为一个关系模式。关系的属性:与该联系相连的各实体的码以及联系本身的属性关系的码:各实体码的组合例,“选修”联系是一个m:n联系,可以将它转换为如下关系模式,其中学号与课程号为关系的组合码:选修(学号,课程号,成绩

18、),2022/12/20,43,E-R图向关系模型的转换(续), 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。1) 转换为一个独立的关系模式关系的属性:与该联系相连的各实体的码以及联系本身的属性关系的码:n端实体的码,2022/12/20,44,E-R图向关系模型的转换(续), 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。2) 与n端对应的关系模式合并合并后关系的属性:在n端关系中加入1端关系的码和联系本身的属性合并后关系的码:不变可以减少系统中的关系个数,一般情况下更倾向于采用这种方法,2022/12/20,45,E-R图向关系

19、模型的转换(续),例,“组成”联系为1:n联系。将其转换为关系模式的两种方法: 1)使其成为一个独立的关系模式:组成(学号,班级号) 2)将其学生关系模式合并:学生(学号,姓名,出生日期,所在系, 年级,班级号,平均成绩),此处班级号表示什么类型的完整性约束?,参照完整性约束,2022/12/20,46,E-R图向关系模型的转换(续), 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。1) 转换为一个独立的关系模式关系的属性:与该联系相连的各实体的码以及联系本身的属性关系的候选码:每个实体的码均是该关系的候选码,2022/12/20,47,E-R图向关系模型的转

20、换(续), 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。2) 与某一端对应的关系模式合并合并后关系的属性:加入对应关系的码和联系本身的属性合并后关系的码:不变,2022/12/20,48,E-R图向关系模型的转换(续),例,“管理”联系为1:1联系,可以有三种转换方法:(1)转换为一个独立的关系模式: 管理(职工号,班级号) 或管理(职工号,班级号)(2)“管理”联系与班级关系模式合并,则只需在班级关系中加入教师关系的码,即职工号:班级:(班级号,学生人数,职工号)(3)“管理”联系与教师关系模式合并,则只需在教师关系中加入班级关系的码,即班级号:教师:(职

21、工号,姓名,性别,职称,班级号, 是否为优秀班主任),2022/12/20,49,E-R图向关系模型的转换(续),注意:从理论上讲,1:1联系可以与任意一端对应的关系模式合并。但在一些情况下,与不同的关系模式合并效率会大不一样。因此究竟应该与哪端的关系模式合并需要依应用的具体情况而定。由于连接操作是最费时的操作,所以一般应以尽量减少连接操作为目标。 例如,如果经常要查询某个班级的班主任姓名,则将管理联系与教师关系合并更好些。,2022/12/20,50,E-R图向关系模型的转换(续), 三个或三个以上实体间的一个多元联系转换为一个关系模式。关系的属性:与该多元联系相连的各实体的码以及联系本身的

22、属性关系的码:各实体码的组合例,“讲授”联系是一个三元联系,可以将它转换为如下关系模式,其中课程号、职工号和书号为关系的组合码:讲授(课程号,职工号,书号),2022/12/20,51,E-R图向关系模型的转换(续), 同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。例,如果教师实体集内部存在领导与被领导的1:n自联系,我们可以将该联系与教师实体合并,这时主码职工号将多次出现,但作用不同,可用不同的属性名加以区分:教师:职工号,姓名,性别,职称,系主任,2022/12/20,52,E-R图向关系模型的转换(续), 具有相同码的关系模式可合并。目的:减少系统

23、中的关系个数。合并方法:将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性的次序。,2022/12/20,53,E-R图向关系模型的转换(续),例,“拥有”关系模式:拥有(学号,性别)与学生关系模式: 学生(学号,姓名,出生日期,所在系,年级, 班级号,平均成绩)都以学号为码,可以将它们合并为一个关系模式:学生(学号,姓名,性别,出生日期,所在系, 年级,班级号,平均成绩),2022/12/20,54,E-R图向关系模型的转换(续),实例按照上述七条原则,学生管理子系统中的18个实体和联系可以转换为下列关系模型: 学生(学号,姓名

24、,性别,出生日期,所在系, 年级,班级号,平均成绩,档案号)性别(性别,宿舍楼) 宿舍(宿舍编号,地址,性别,人数)班级(班级号,学生人数) 教师(职工号,姓名,性别,职称,班级号, 是否为优秀班主任),2022/12/20,55,E-R图向关系模型的转换(续),教学(职工号,学号)课程(课程号,课程名,学分,教室号)选修(学号,课程号,成绩)教科书(书号,书名,价钱)教室(教室编号,地址,容量)讲授(课程号,教师号,书号)档案材料(档案号,),2022/12/20,56,E-R图向关系模型的转换(续),该关系模型由12个关系模式组成。其中:学生关系模式包含了“拥有”联系、“组成”联系、“归档

25、”联系所对应的关系模式教师关系模式包含了“管理”联系所对应的关系模式;宿舍关系模式包含了“住宿”联系所对应的关系模式;课程关系模式包含了“开设”联系所对应的关系模式。,2022/12/20,57,将ER模型映射到关系模型,通过CASE工具包,可以把ER模型转化为关系模型。Oracle Designer 2000,Rational Rose等。整个过程有5个基本步骤:1)每个实体映射为一个单独的关系,实体属性映射为关系属性,实体的主码映射为关系的主码;,2022/12/20,58,Forest(ForName,Elevation,Polygonid)问题:Elevation和Polygonid是

26、多值属性,不满足第一范式,所以森林表如下:Forest(ForName):满足所有范式,2022/12/20,59,2)对1:1的联系,把任一个实体的主码作为相关关系的外码;,Manager(MName,Age, Gender,ForName),满足第三范式?其中,Mname受到什么约束?,2022/12/20,60,3)对M:1的联系,把1一侧的关系的主码作为M侧关系的外码;,Fire-Station(FireName, Forname),满足第三范式?其中,Mname受到什么约束?,2022/12/20,61,4) 对M:N联系,单独映射为一个新关系,关系名为联系名,关系的主码为参与实体的

27、主码对组成,联系的属性为关系的属性;,Supplies_Water_to(FacName,RivName,Volume),满足第三范式?,2022/12/20,62,5)对于多值属性,创建一个具有两个列的新关系:一列对应多值属性,另一列对应拥有该多值属性的实体的码。多值属性和对应实体的码构成新关系的码。,Forest_Geom(Name,Ploygonid),2022/12/20,63,高程elevation是一个多值属性:,2022/12/20,64,2022/12/20,65,2.3 逻辑结构设计,2.3.1 E-R图向关系模型的转换2.3.2 向特定DBMS规定的模型进行转换2.3.3

28、数据模型的优化2.3.4 设计用户子模式,2022/12/20,66,向特定DBMS规定的模型进行转换,一般的数据模型还需要向特定DBMS规定的模型进行转换。转换的主要依据是所选用的DBMS的功能及限制。没有通用规则。对于关系模型来说,这种转换通常都比较简单。,2022/12/20,67,CREATE TABLE Fire_Station(),2022/12/20,68,2.3 逻辑结构设计,2.3.1 E-R图向关系模型的转换2.3.2 向特定DBMS规定的模型进行转换2.3.3 数据模型的优化2.3.4 设计用户子模式,2022/12/20,69,2.3.3 数据模型的优化,数据库逻辑设计

29、的结果不是唯一的。得到初步数据模型后,还应该适当地修改、调整数据模型的结构,以进一步提高数据库应用系统的性能,这就是数据模型的优化。关系数据模型的优化通常以规范化理论为指导。,2022/12/20,70,数据模型的优化(续),优化数据模型的方法 确定数据依赖按需求分析阶段所得到的语义,分别写出每个关系模式内部各属性之间的数据依赖以及不同关系模式属性之间数据依赖。,2022/12/20,71,数据模型的优化(续),例:课程关系模式 (课程号,课程名,学分,教室号)内部存在下列数据依赖: 课程号课程名 课程号学分 课程号教室号 选修关系模式(学号,课程号,成绩)成绩中存在下列数据依赖: (学号,课

30、程号)成绩,2022/12/20,72,数据模型的优化(续),学生关系模式中存在下列数据依赖: 学号姓名 学号性别 学号出生日期 学号所在系 学号年级 学号班级号 学号平均成绩 学号档案号,学生(学号,姓名,性别,出生日期,所在系, 年级,班级号,平均成绩,档案号),2022/12/20,73,数据模型的优化(续),学生关系模式的学号与选修关系模式的学号之间存在数据依赖: 学生.学号选修.学号,2022/12/20,74,数据模型的优化(续), 对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。,2022/12/20,75,数据模型的优化(续), 按照数据依赖的理论对关系模式逐一进

31、行分析,考查是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。,2022/12/20,76,数据模型的优化(续), 按照需求分析阶段得到的各种应用对数据处理的要求,分析对于这样的应用环境这些模式是否合适,确定是否要对它们进行合并或分解。,2022/12/20,77,REVIEW 1NF,1NF的定义如果一个关系模式R的所有属性都是不可分的基本数据项,则R1NF。第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库。但是满足第一范式的关系模式并不一定是一个好的关系模式。,2022/12/20,78,REVIEW 2NF,2NF的定义定义5

32、.6 若关系模式R1NF,并且每一个非主属性都完全函数依赖于R的码,则R2NF。例:SLC(Sno, Sdept, Sloc, Cno, Grade) 1NF,2022/12/20,79,分解成2NF模式集的算法,设关系模式R(U),主键是W,R上还存在FD XZ,并且Z是非主属性和XW,那么WZ就是一个局部依赖。此时应把R分解成两个模式R1(X,Z),主键是X;R2(Y),其中Y=U-Z,主键仍是W,外键是X(REFERENCES R1)。利用外键和主键的联接可以从R1和R2重新得到R。如果R1和R2还不是2NF,则重复上述过程,一直到数据库模式中每一个关系模式都是2NF为止。,2022/1

33、2/20,80,SC(Sno,Cno, Grade) 2NFSL( Sno ,Sdept, Sloc) 2NF,2022/12/20,81,REVIEW 3NF,3NF的定义定义5.8 关系模式R 中若不存在这样的码X、属性组Y及非主属性Z(Z Y), 使得XY,Y X,YZ,成立,则称R 3NF。例, SL(Sno, Sdept, Sloc) 2NF,2022/12/20,82,分解成3NF模式集的算法,设关系模式R(U),主键是W,R上还存在FD XZ。并且Z是非主属性,Z X,X不是候选键,这样WZ就是一个传递依赖。此时应把R分解成两个模式:R1(X,Z),主键是X;R2(Y),其中Y=

34、U-Z,主键仍是W,外键是X(REFERENCES R1)。利用外键和主键相匹配机制,R1和R2通过联接可以重新得到R。如果R1和R2还不是3NF,则重复上述过程,一直到数据库模式中每一个关系模式都是3NF为止。,2022/12/20,83,SD(Sno, Sdept) 3NF DL(Sdept, Sloc) 3NF,2022/12/20,84,设关系模式R的属性集是U,X是U的一个子集。如果XU在R上成立,那么称X是R的一个超键。如果XU在R上成立,但对于X的任一真子集X1都有X1U不成立,那么称X是R上的一个候选键。本章的键都是指候选键。例 在学生选课、教师任课的关系模式中:R(S#,SN

35、AME,C#,GRADE,CNAME,TNAME,TAGE)如果规定:每个学生每学一门课只有一个成绩;每个学生只有一个姓名;每个课程号只有一个课程名;每门课程只有一个任课教师。根据这些规则,可以知道(S#,C#)能函数决定R的全部属性,并且是一个候选键。虽然(S#,SNAME,C#,TNAME)也能函数决定R的全部属性,但相比之下,只能说是一个超键,而不能说是候选键,因为其中含有多余属性。,Review 码与超码,2022/12/20,85,逻辑结构设计小结,优化数据模型的方法 确定数据依赖 对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。 确定各关系模式分别属于第几范式。 分析

36、对于应用环境这些模式是否合适,确定是否要对它们进行合并或分解。 对关系模式进行必要的分解或合并,2022/12/20,86,7. 4 . 4 逻辑设计,目标逻辑设计步骤,导出初始DBMS模式说明,概念模式,子模式设计,应用程序设计草图,模式评价,处理结束,模式需要修正,模式修正,进入物理设计阶段,返回到前面阶段,图7.3 逻辑设计步骤,是,是,否,否,2022/12/20,87,ER模型的不足之处,在直观上,ER模型不能表达空间建模中的特定语义。具体来说,ER模型的不足之处在于:(1)ER模型的最初设计隐含了基于对象模型的假设。因此,场模型无法用ER模型进行自然的映射。(2)在传统的ER模型中

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

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

39、用户自定义的形状。,2022/12/20,91,(2)形状形状是象形图中的基本图形元素,它代表着空间数据模型中的元素。一个模型元素可以是基本形状、复合形状、导出形状或备选形状。许多对象具有简单的基本形状。,2022/12/20,92,(3)基本形状在一个矢量模型中,基本元素有点、线和多边形。在一般的应用中,大多数空间实体是用简单形状来表示。在森林的例子中,我们把设施表示成点(0维),把河流或道路网表示成线(1维),把森林区域表示成多边形(2维)。,2022/12/20,93,4)复合形状为了处理那些不能用某个基本形状表示的对象,我们定义了一组聚合的形状,并用基数来量化这些复合形状。例如,河流网

40、可以用线的象形图的连接表示且其基数为n。类似地,对于一些无法在某个给定比例尺下描绘的要素,我们用0作为其基数。,0.1,1,1,n,基数的语法, 0,n, n,使用了基数的多重形状的象形图,0,n,2022/12/20,94,(5)导出形状如果一个对象的形状是由其他对象的形状导出的,那么就用斜体形式来表示这个象形图。例如,我们可以从美国的州界形状导出美国的形状。,2022/12/20,95,(6)备选形状备选形状可以用于表示某种条件下的同一个对象。例如,根据比例尺,一条河流可以表示成一个多边形或一条线。,2022/12/20,96,(7)任意形状对于形状的组合,我们用通配符(*)表示,它表示各

41、种形状,例如,一个灌溉网是由泵站(点)、水渠(线)以及水库(多边形)所组成的。,2022/12/20,97,(8)用户自定义形状除了点、线和多边形这些基本形状外,用户还可以定义自己的形状。例如,为了表达更多的信息,用户可能更愿意使用感叹号之类的象形图来表示灌溉网。,2022/12/20,98,2联系象形图联系象形图用来构建实体间联系的模型。例如,part-of用于构建道路与路网之间联系的模型,或是用于把森林划分成林分的建模。,2022/12/20,99,使用象形图扩展的ER图见图。其中,Facility和Fire-Station实体用点的象形图表示,River和Road表示成线的象形图,而Fo

42、rest和Foreststand用多边形的象形图表示。Forest与Forest-stand之间的part_of联系在图中表示出来。这张图清楚地反映出象形图增强了ER图对空间语义的表达能力。,2022/12/20,100,2022/12/20,101,Part-of(分区)象形图暗含有3个空间完整性约束:1)forest-stand在空间上彼此“分离”,即空间中任意一点至多属于一个forest_stand。2)forest_stand在空间上位于森林“内部”,是森林的一部分(part_of)。3)所有forest_stand的几何并集在空间上“覆盖”它们所属的森林。,2022/12/20,102,图2并不显得杂乱,因为这里只有很少的显式联系和属性。空间联系和属性是隐含的。其次,图2显示了在空间联系上的更多的信息。例如,尽管图2没有显式列出“河流穿过森林”和“消防站在森林之中”这些联系,但是从图中可以看出这些隐含的联系。Part_of(分区)象形图所暗含的空间完整性约束也是原来没有的。最后,图2的关系模式要比图1的关系模式更为简单,由MN的空间联系生成的关系和空间数据类型都被省略。,作业,请用语言建立森林空间数据库。,2022/12/20,103,2022/12/20,104,下课了,谢谢!,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号