第3章GIS数据库设计与建立.ppt
《第3章GIS数据库设计与建立.ppt》由会员分享,可在线阅读,更多相关《第3章GIS数据库设计与建立.ppt(184页珍藏版)》请在三一办公上搜索。
1、第3章 GIS数据库设计与建立,主要内容,3.1 GIS数据库设计概述3.2 GIS数据库的概念设计3.3 关系型数据库设计3.4 面向对象的数据库设计3.5 地理信息元数据的设计3.6 基于Geodatabase的数据库设计3.7 空间数据采集建库,数据库设计的特点,数据库建设是硬件、软件和干件的结合三分技术,七分管理,十二分基础数据技术与管理的界面称之为“干件”数据库设计应该与应用系统设计相结合结构(数据)设计:设计数据库框架或数据库结构行为(处理)设计:设计应用程序、事务处理等,结构和行为分离的设计传统的软件工程忽视对应用中数据语义的分析和抽象,只要有可能就尽量推迟数据结构设计的决策早期
2、的数据库设计致力于数据模型和建模方法研究,忽视了对行为的设计,3.1 GIS数据库设计概述,3.1.1 GIS数据库设计的内容3.1.2 数据库设计目标,3.1.1 GIS数据库设计的内容,概念结构设计,逻辑结构设计,物理设计,3.1.2 数据库设计目标,满足用户需求良好的数据库性能准确模拟现实世界能够被某个数据库管理系统接受,3.2 GIS数据库的概念设计,3.2.1 概念设计的一般步骤与方法3.2.2 实体-联系模型(E-R)3.2.3 实体-联系扩展模型(EER)3.2.4 E-R模型设计步骤与方法3.2.5 E-R模型的操作3.2.6 空间数据分层,什么是概念结构?,面向用户的模型,按
3、照用户的观点,对数据和信息进行抽象建模。,什么是概念结构设计,需求分析阶段描述的用户应用需求是现实世界的具体需求将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。概念结构设计是整个数据库设计的关键,概念结构设计的特点,(1)能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。,(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和
4、扩充。(4)易于向关系、网状、层次等各种数据模型转换。,3.2.1 概念设计的一般步骤与方法,方法:自顶向下自底向上逐步扩张混合策略步骤:抽象数据并设计局部视图,集成局部视图,得到全局的概念结构,3.2.2 实体-联系模型(E-R),实体-联系模型(简称E-R模型)是由P.P.Chen于1976年首先提出的。它提供不受任何DBMS约束的面向用户的表达方法,在数据库设计中被广泛用作数据建模的工具。E-R数据模型问世后,经历了许多修改和扩充,这里仅介绍基本的E-R数据模型。,E-R模型的结构,E-R模型的构成成分是实体集、属性和联系集,其表示方法如下:(1)实体集用矩形框表示,矩形框内写上实体名。
5、(2)实体的属性用椭圆框表示,框内写上属性名,并用无向边与其实体集相连。(3)实体间的联系用菱形框表示,联系以适当的含义命名,名字写在菱形框中,用无向连线将参加联系的实体矩形框分别与菱形框相连,并在连线上标明联系的类型,即11、1M或MM。,实体的属性,3.2.3 实体-联系扩展模型(EER),EER模型是在标准E-R模型的基础上增加了一些新的要素,这些扩展包括子类、超类等新的构造。,姓名,编号,职称,地址,员工,秘书,业务员,研究人员,打字速度,业绩,研究项目,d,父类,子类,3.2.4 E-R模型设计步骤与方法,设计局部的E-R模型设计全局的E-R模型全局E-R模型的优化,设计局部的E-R
6、模型,数据抽象局部视图设计 选择局部应用 逐一设计分E-R模型,设计全局的E-R模型,概述:视图集成的方式视图集成的步骤集成的概念与方法:等同、聚合、抽取,设计全局的E-R模型-合并分E-R图,生成初步的E-R图,消除冲突:属性冲突 命名冲突 结构冲突,设计全局的E-R模型-消除不必要的冗余,设计基本的E-R图,,分析方法规范化理论,分析方法,以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余。,例,教师工资单中包括该教师的基本工资、各种补贴、应扣除的房租水电费以及实发工资。由于实发工资可以由前面各项推算出来,因此可以去掉,在需要查询实发工资时根据基本工资、各种补
7、贴、应扣除的房租水电费数据临时生成。,规范化理论,函数依赖的概念提供了消除冗余联系的形式化工具,确定分E-R图实体之间的数据依赖FL。实体之间一对一、一对多、多对多的联系可以用实体码之间的函数依赖来表示。例:班级和学生之间一对多的联系:学号班级号学生和课程之间多对多的联系:(学号,课程号)成绩,求FL的最小覆盖GL,差集为 D=FL-GL。逐一考察D中的函数依赖,确定是否是冗余的联系,若是,就把它去掉。,3.2.5 E-R模型的操作,实体/联系(类型)的分裂与合并实体/联系(类型)的增加与删除实体/联系(类型)的转位,3.2.6 空间数据分层,三个依据两个因素一些原则,3.3 关系型数据库设计
8、,3.3.1 关系模型的基本概念3.3.2 关系数据库设计理论3.3.3 关系数据库设计步骤与方法,关系数据库简介,系统而严格地提出关系模型的是美国IBM公司的E.F.Codd1970年提出关系数据模型E.F.Codd,“A Relational Model of Data for Large Shared Data Banks”,Communication of the ACM,1970之后,提出了关系代数和关系演算的概念1972年提出了关系的第一、第二、第三范式1974年提出了关系的BC范式,关系数据模型是一种数学化的模型,关系数据库应用数学方法来处理数据库中的数据80年代后,关系数据库系
9、统成为最重要、最流行的数据库系统,典型实验系统System RUniversity INGRES典型商用系统ORACLESYBASEINFORMIXDB2INGRES,3.3.1 关系模型的基本概念,关系:规范化了二维表,域是一组具有相同数据类型的值的集合。例:整数实数介于某个取值范围的整数长度指定长度的字符串集合男,女介于某个取值范围的日期,基本关系的性质 列是同质的(Homogeneous)每一列中的分量是同一类型的数据,来自同一个域 不同的列可出自同一个域其中的每一列称为一个属性不同的属性要给予不同的属性名,举例:,人(PERSON)=张清玫,刘逸,李勇,刘晨,王敏专业(SPECIALI
10、TY)=计算机专业,信息专业 SAP关系的导师属性和研究生属性都从PERSON域中取值。为了避免混淆,必须给这两个属性取不同的属性名,而不能直接使用域名。如定义:导师属性名为SUPERVISOR-PERSON(或SUPERVISOR)研究生属性名为POSTGRADUATE-PERSON(或POSTGRADUATE),列的顺序无所谓 列的次序可以任意交换。遵循这一性质的数据库产品(如ORACLE),增加新属性时,永远是插至最后一列但也有许多关系数据库产品没有遵循这一性质,例如FoxPro仍然区分了属性顺序。,任意两个元组不能完全相同 但许多关系数据库产品没有遵循这一性质。例如:Oracle,Fo
11、xPro等都允许关系表中存在两个完全相同的元组,除非用户特别定义了相应的约束条件。,行的顺序无所谓 行的次序可以任意交换 遵循这一性质的数据库产品(如ORACLE),插入一个元组时永远插至最后一行但也有许多关系数据库产品没有遵循这一性质,例如FoxPro仍然区分了元组的顺序,分量必须取原子值 每一个分量都必须是不可分的数据项。这是规范条件中最基本的一条,主键(码)若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码在最简单的情况下,候选码只包含一个属性在最极端的情况下,关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key),主码若一个关系有多个候选码,则选定其中一
12、个为主码(Primary key)主码的诸属性称为主属性(Prime attribute)不包含在任何侯选码中的属性称为非码属性(Non-key attribute),主键(码)的性质:唯一性非冗余性有效性,外键,R1,R2,关系模式:关系模式(Relation Schema)是型关系是值关系模式是对关系的描述元组集合的结构属性构成属性来自的域 属性与域之间的映象关系元组语义以及完整性约束条件属性间的数据依赖关系集合,关系模式可以形式化地表示为:R(U,D,dom,F)R 关系名U 组成该关系的属性名集合D 属性组U中属性所来自的域dom 属性向域的映象集合F 属性间的数据依赖关系集合,例:导
13、师和研究生出自同一个域人,取不同的属性名,并在模式中定义属性向域的映象,即说明它们分别出自哪个域:dom(SUPERVISOR-PERSON)=dom(POSTGRADUATE-PERSON)=PERSON,关系模式通常可以简记为 R(U)或 R(A1,A2,An)R 关系名A1,A2,An 属性名注:域名及属性向域的映象常常直接说明为属性的类型、长度,关系模式对关系的描述静态的、稳定的关系关系模式在某一时刻的状态或内容动态的、随时间不断变化的,关系模型:是由若干关系模式组成的集合是用二维表格结构表示数据及数据之间联系的数据模型。,3.3.2 关系数据库设计理论,数据依赖理论规范化理论,数据依
14、赖理论,什么是数据依赖,1.完整性约束的表现形式限定属性取值范围:例如学生成绩必须在0-100之间定义属性值间的相互关连(主要体现于值的相等与否),这就是数据依赖,它是数据库模式设计的关键,2.数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系是现实世界属性间相互联系的抽象是数据内在的性质是语义的体现,3.数据依赖的类型函数依赖(Functional Dependency,简记为FD)多值依赖(Multivalued Dependency,简记为MVD)其他,函数依赖,一、函数依赖二、平凡函数依赖与非平凡函数依赖三、完全函数依赖与部分函数依赖四、传递函数依赖,一、函数依赖,设
15、R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作XY。,1.函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。2.函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。例如“姓名年龄”这个函数依赖只有在不允许有同名人的条件下成立3.数据库设计者可以对现实世界作强制的规定。例如规定不允许同名人出现,函数依赖“姓名年龄”成立。所插入的元组必须满足规定的函数依赖,若发现有同名人存在,则拒绝装
16、入该元组。,例:Student(Sno,Sname,Ssex,Sage,Sdept)假设不允许重名,则有:Sno Ssex,Sno Sage,Sno Sdept,Sno Sname,Sname Ssex,Sname SageSname Sdept但Ssex Sage若XY,并且YX,则记为XY。若Y不函数依赖于X,则记为XY。,二、平凡函数依赖与非平凡函数依赖,在关系模式R(U)中,对于U的子集X和Y,如果XY,但Y X,则称XY是非平凡的函数依赖若XY,但Y X,则称XY是平凡的函数依赖例:在关系SC(Sno,Cno,Grade)中,非平凡函数依赖:(Sno,Cno)Grade 平凡函数依赖
17、:(Sno,Cno)Sno(Sno,Cno)Cno,于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义,因此若不特别声明,我们总是讨论非平凡函数依赖。,三、完全函数依赖与部分函数依赖,在关系模式R(U)中,如果XY,并且对于X的任何一个真子集X,都有 X Y,则称Y完全函数依赖于X,记作X Y。若XY,但Y不完全函数依赖于X,则称Y部分函数依赖于X,记作X P Y。,例:在关系SC(Sno,Cno,Grade)中,由于:Sno Grade,Cno Grade,因此:(Sno,Cno)Grade,四、传递函数依赖,在关系模式R(U)中,如果XY,YZ,且Y X,YX,则称Z传递函数依赖
18、于X。注:如果YX,即XY,则Z直接依赖于X。例:在关系Std(Sno,Sdept,Mname)中,有:Sno Sdept,Sdept Mname Mname传递函数依赖于Sno,多值依赖,规范化理论,规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。,范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。范式的种类:第一范式(1NF)第二范式(2NF)第三范式(3NF)BC范式(BCNF)第四范式(4NF)第五范式(5NF),各种范式之间存在联系:某一关系模式R为第
19、n范式,可简记为RnNF。,1NF,1NF的定义如果一个关系模式R的所有属性都是不可分的基本数据项,则R1NF。第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库。但是满足第一范式的关系模式并不一定是一个好的关系模式。,例:关系模式 SLC(Sno,Sdept,Sloc,Cno,Grade)Sloc为学生住处,假设每个系的学生住在同一个地方。函数依赖包括:(Sno,Cno)f Grade Sno Sdept(Sno,Cno)P Sdept Sno Sloc(Sno,Cno)P Sloc Sdept Sloc,SLC的码为(Sno,Cno)SLC满足第一范式。非主属
20、性Sdept和Sloc部分函数依赖于码(Sno,Cno),问题,(1)插入异常假设Sno95102,SdeptIS,SlocN的学生还未选课,因课程号是主属性,因此该学生的信息无法插入SLC。(2)删除异常 假定某个学生本来只选修了3号课程这一门课。现在因身体不适,他连3号课程也不选修了。因课程号是主属性,此操作将导致该学生信息的整个元组都要删除。,(3)数据冗余度大 如果一个学生选修了10门课程,那么他的Sdept和Sloc值就要重复存储了10次。(4)修改复杂 例如学生转系,在修改此学生元组的Sdept值的同时,还可能需要修改住处(Sloc)。如果这个学生选修了K门课,则必须无遗漏地修改K
21、个元组中全部Sdept、Sloc信息。,原因 Sdept、Sloc部分函数依赖于码。解决方法 SLC分解为两个关系模式,以消除这些部分函数依赖 SC(Sno,Cno,Grade)SL(Sno,Sdept,Sloc),2NF,若关系模式R1NF,并且每一个非主属性都完全函数依赖于R的码,则R2NF。例:SLC(Sno,Sdept,Sloc,Cno,Grade)1NF SLC(Sno,Sdept,Sloc,Cno,Grade)2NF SC(Sno,Cno,Grade)2NF SL(Sno,Sdept,Sloc)2NF,采用投影分解法将一个1NF的关系分解为多个2NF的关系,可以在一定程度上减轻原1
22、NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。将一个1NF关系分解为多个2NF的关系,并不能完全消除关系模式中的各种异常情况和数据冗余。,3NF,例:2NF关系模式SL(Sno,Sdept,Sloc)中函数依赖:SnoSdept SdeptSloc SnoSlocSloc传递函数依赖于Sno,即SL中存在非主属性对码的传递函数依赖。,解决方法 采用投影分解法,把SL分解为两个关系模式,以消除传递函数依赖:SD(Sno,Sdept)DL(Sdept,Sloc)SD的码为Sno,DL的码为Sdept。,SD的码为Sno,DL的码为Sdept。,关系模式R 中若不存在这样的码X、
23、属性组Y及非主属性Z(Z Y),使得XY,Y X,YZ,成立,则称R 3NF。例,SL(Sno,Sdept,Sloc)2NF SL(Sno,Sdept,Sloc)3NF SD(Sno,Sdept)3NF DL(Sdept,Sloc)3NF,若R3NF,则R的每一个非主属性既不部分函数依赖于候选码也不传递函数依赖于候选码。如果R3NF,则R也是2NF。采用投影分解法将一个2NF的关系分解为多个3NF的关系,可以在一定程度上解决原2NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。将一个2NF关系分解为多个3NF的关系后,并不能完全消除关系模式中的各种异常情况和数据冗余。,BC范式
24、(BCNF),设关系模式R1NF,如果对于R的每个函数依赖XY,若Y不属于X,则X必含有候选码,那么RBCNF。若RBCNF 每一个决定属性集(因素)都包含(候选)码R中的所有属性(主,非主属性)都完全函数依赖于码R3NF(证明)若R3NF 则 R不一定BCNF,例:在关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示课程。每一教师只教一门课。每门课由若干教师教,某一学生选定某门课,就确定了一个固定的教师。某个学生选修某个教师的课就确定了所选课的名称:(S,J)T,(S,T)J,TJ,STJ3NF(S,J)和(S,T)都可以作为候选码S、T、J都是主属性STJBCNFTJ,T是决定
25、属性集,T不是候选码,解决方法:将STJ分解为二个关系模式:SJ(S,J)BCNF,TJ(T,J)BCNF 没有任何属性对码的部分函数依赖和传递函数依赖,3NF与BCNF的关系,如果关系模式RBCNF,必定有R3NF如果R3NF,且R只有一个候选码,则R必属于BCNF。,BCNF的关系模式所具有的性质 所有非主属性都完全函数依赖于每个候选码 所有主属性都完全函数依赖于每个不包含它的候选码 没有任何属性完全函数依赖于非码的任何一组属性,多值依赖与第四范式(4NF),例:学校中某一门课程由多个教师讲授,他们使用相同的一套参考书。关系模式Teaching(C,T,B)课程C、教师T 和 参考书B,T
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GIS 数据库 设计 建立

链接地址:https://www.31ppt.com/p-5641904.html