欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第3章GIS数据库设计与建立.ppt

    • 资源ID:5641904       资源大小:626.01KB        全文页数:184页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第3章GIS数据库设计与建立.ppt

    第3章 GIS数据库设计与建立,主要内容,3.1 GIS数据库设计概述3.2 GIS数据库的概念设计3.3 关系型数据库设计3.4 面向对象的数据库设计3.5 地理信息元数据的设计3.6 基于Geodatabase的数据库设计3.7 空间数据采集建库,数据库设计的特点,数据库建设是硬件、软件和干件的结合三分技术,七分管理,十二分基础数据技术与管理的界面称之为“干件”数据库设计应该与应用系统设计相结合结构(数据)设计:设计数据库框架或数据库结构行为(处理)设计:设计应用程序、事务处理等,结构和行为分离的设计传统的软件工程忽视对应用中数据语义的分析和抽象,只要有可能就尽量推迟数据结构设计的决策早期的数据库设计致力于数据模型和建模方法研究,忽视了对行为的设计,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 空间数据分层,什么是概念结构?,面向用户的模型,按照用户的观点,对数据和信息进行抽象建模。,什么是概念结构设计,需求分析阶段描述的用户应用需求是现实世界的具体需求将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。概念结构设计是整个数据库设计的关键,概念结构设计的特点,(1)能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。,(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。(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)实体集用矩形框表示,矩形框内写上实体名。(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模型,数据抽象局部视图设计 选择局部应用 逐一设计分E-R模型,设计全局的E-R模型,概述:视图集成的方式视图集成的步骤集成的概念与方法:等同、聚合、抽取,设计全局的E-R模型-合并分E-R图,生成初步的E-R图,消除冲突:属性冲突 命名冲突 结构冲突,设计全局的E-R模型-消除不必要的冗余,设计基本的E-R图,,分析方法规范化理论,分析方法,以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余。,例,教师工资单中包括该教师的基本工资、各种补贴、应扣除的房租水电费以及实发工资。由于实发工资可以由前面各项推算出来,因此可以去掉,在需要查询实发工资时根据基本工资、各种补贴、应扣除的房租水电费数据临时生成。,规范化理论,函数依赖的概念提供了消除冗余联系的形式化工具,确定分E-R图实体之间的数据依赖FL。实体之间一对一、一对多、多对多的联系可以用实体码之间的函数依赖来表示。例:班级和学生之间一对多的联系:学号班级号学生和课程之间多对多的联系:(学号,课程号)成绩,求FL的最小覆盖GL,差集为 D=FL-GL。逐一考察D中的函数依赖,确定是否是冗余的联系,若是,就把它去掉。,3.2.5 E-R模型的操作,实体/联系(类型)的分裂与合并实体/联系(类型)的增加与删除实体/联系(类型)的转位,3.2.6 空间数据分层,三个依据两个因素一些原则,3.3 关系型数据库设计,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年代后,关系数据库系统成为最重要、最流行的数据库系统,典型实验系统System RUniversity INGRES典型商用系统ORACLESYBASEINFORMIXDB2INGRES,3.3.1 关系模型的基本概念,关系:规范化了二维表,域是一组具有相同数据类型的值的集合。例:整数实数介于某个取值范围的整数长度指定长度的字符串集合男,女介于某个取值范围的日期,基本关系的性质 列是同质的(Homogeneous)每一列中的分量是同一类型的数据,来自同一个域 不同的列可出自同一个域其中的每一列称为一个属性不同的属性要给予不同的属性名,举例:,人(PERSON)=张清玫,刘逸,李勇,刘晨,王敏专业(SPECIALITY)=计算机专业,信息专业 SAP关系的导师属性和研究生属性都从PERSON域中取值。为了避免混淆,必须给这两个属性取不同的属性名,而不能直接使用域名。如定义:导师属性名为SUPERVISOR-PERSON(或SUPERVISOR)研究生属性名为POSTGRADUATE-PERSON(或POSTGRADUATE),列的顺序无所谓 列的次序可以任意交换。遵循这一性质的数据库产品(如ORACLE),增加新属性时,永远是插至最后一列但也有许多关系数据库产品没有遵循这一性质,例如FoxPro仍然区分了属性顺序。,任意两个元组不能完全相同 但许多关系数据库产品没有遵循这一性质。例如:Oracle,FoxPro等都允许关系表中存在两个完全相同的元组,除非用户特别定义了相应的约束条件。,行的顺序无所谓 行的次序可以任意交换 遵循这一性质的数据库产品(如ORACLE),插入一个元组时永远插至最后一行但也有许多关系数据库产品没有遵循这一性质,例如FoxPro仍然区分了元组的顺序,分量必须取原子值 每一个分量都必须是不可分的数据项。这是规范条件中最基本的一条,主键(码)若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码在最简单的情况下,候选码只包含一个属性在最极端的情况下,关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key),主码若一个关系有多个候选码,则选定其中一个为主码(Primary key)主码的诸属性称为主属性(Prime attribute)不包含在任何侯选码中的属性称为非码属性(Non-key attribute),主键(码)的性质:唯一性非冗余性有效性,外键,R1,R2,关系模式:关系模式(Relation Schema)是型关系是值关系模式是对关系的描述元组集合的结构属性构成属性来自的域 属性与域之间的映象关系元组语义以及完整性约束条件属性间的数据依赖关系集合,关系模式可以形式化地表示为:R(U,D,dom,F)R 关系名U 组成该关系的属性名集合D 属性组U中属性所来自的域dom 属性向域的映象集合F 属性间的数据依赖关系集合,例:导师和研究生出自同一个域人,取不同的属性名,并在模式中定义属性向域的映象,即说明它们分别出自哪个域:dom(SUPERVISOR-PERSON)=dom(POSTGRADUATE-PERSON)=PERSON,关系模式通常可以简记为 R(U)或 R(A1,A2,An)R 关系名A1,A2,An 属性名注:域名及属性向域的映象常常直接说明为属性的类型、长度,关系模式对关系的描述静态的、稳定的关系关系模式在某一时刻的状态或内容动态的、随时间不断变化的,关系模型:是由若干关系模式组成的集合是用二维表格结构表示数据及数据之间联系的数据模型。,3.3.2 关系数据库设计理论,数据依赖理论规范化理论,数据依赖理论,什么是数据依赖,1.完整性约束的表现形式限定属性取值范围:例如学生成绩必须在0-100之间定义属性值间的相互关连(主要体现于值的相等与否),这就是数据依赖,它是数据库模式设计的关键,2.数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系是现实世界属性间相互联系的抽象是数据内在的性质是语义的体现,3.数据依赖的类型函数依赖(Functional Dependency,简记为FD)多值依赖(Multivalued Dependency,简记为MVD)其他,函数依赖,一、函数依赖二、平凡函数依赖与非平凡函数依赖三、完全函数依赖与部分函数依赖四、传递函数依赖,一、函数依赖,设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作XY。,1.函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。2.函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。例如“姓名年龄”这个函数依赖只有在不允许有同名人的条件下成立3.数据库设计者可以对现实世界作强制的规定。例如规定不允许同名人出现,函数依赖“姓名年龄”成立。所插入的元组必须满足规定的函数依赖,若发现有同名人存在,则拒绝装入该元组。,例: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 平凡函数依赖:(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传递函数依赖于X。注:如果YX,即XY,则Z直接依赖于X。例:在关系Std(Sno,Sdept,Mname)中,有:Sno Sdept,Sdept Mname Mname传递函数依赖于Sno,多值依赖,规范化理论,规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。,范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。范式的种类:第一范式(1NF)第二范式(2NF)第三范式(3NF)BC范式(BCNF)第四范式(4NF)第五范式(5NF),各种范式之间存在联系:某一关系模式R为第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满足第一范式。非主属性Sdept和Sloc部分函数依赖于码(Sno,Cno),问题,(1)插入异常假设Sno95102,SdeptIS,SlocN的学生还未选课,因课程号是主属性,因此该学生的信息无法插入SLC。(2)删除异常 假定某个学生本来只选修了3号课程这一门课。现在因身体不适,他连3号课程也不选修了。因课程号是主属性,此操作将导致该学生信息的整个元组都要删除。,(3)数据冗余度大 如果一个学生选修了10门课程,那么他的Sdept和Sloc值就要重复存储了10次。(4)修改复杂 例如学生转系,在修改此学生元组的Sdept值的同时,还可能需要修改住处(Sloc)。如果这个学生选修了K门课,则必须无遗漏地修改K个元组中全部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的关系,可以在一定程度上减轻原1NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。将一个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、属性组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范式(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是决定属性集,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,TeachingBCNF:Teach具有唯一候选码(C,T,B),即全码Teaching模式中存在的问题(1)数据冗余度大:有多少名任课教师,参考书就要存储多少次,(2)插入操作复杂:当某一课程增加一名任课教师时,该课程有多少本参照书,就必须插入多少个元组例如物理课增加一名教师刘关,需要插入两个元组:(物理,刘关,普通物理学)(物理,刘关,光学原理),(3)删除操作复杂:某一门课要去掉一本参考书,该课程有多少名教师,就必须删除多少个元组(4)修改操作复杂:某一门课要修改一本参考书,该课程有多少名教师,就必须修改多少个元组 产生原因存在多值依赖,多值依赖,设R(U)是一个属性集U上的一个关系模式,X、Y和Z是U的子集,并且ZUXY,多值依赖 XY成立当且仅当对R的任一关系r,r在(X,Z)上的每个值对应一组Y的值,这组值仅仅决定于X值而与Z值无关 例 Teaching(C,T,B)对于C的每一个值,T有一组值与之对应,而不论B取何值,在R(U)的任一关系r中,如果存在元组t,s 使得tX=sX,那么就必然存在元组 w,v r,(w,v可以与s,t相同),使得wX=vX=tX,而wY=tY,wZ=sZ,vY=sY,vZ=tZ(即交换s,t元组的Y值所得的两个新元组必在r中),则Y多值依赖于X,记为XY。这里,X,Y是U的子集,Z=U-X-Y。t x y1 z2 s x y2 z1 w x y1 z1 v x y2 z2,平凡多值依赖和非平凡的多值依赖若XY,而Z,则称 XY为平凡的多值依赖否则称XY为非平凡的多值依赖,第四范式(4NF),关系模式R1NF,如果对于R的每个非平凡多值依赖XY(Y X),X都含有候选码,则R4NF。(XY)如果R 4NF,则R BCNF 不允许有非平凡且非函数依赖的多值依赖 允许的是函数依赖(是非平凡多值依赖),例:Teach(C,T,B)4NF 存在非平凡的多值依赖CT,且C不是候选码用投影分解法把Teach分解为如下两个关系模式:CT(C,T)4NF CB(C,B)4NF CT,CB是平凡多值依赖,规范化,关系数据库的规范化理论是数据库逻辑设计的工具。一个关系只要其分量都是不可分的数据项,它就是规范化的关系,但这只是最基本的规范化。规范化程度可以有多个不同的级别,规范化程度过低的关系不一定能够很好地描述现实世界,可能会存在插入异常、删除异常、修改复杂、数据冗余等问题一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式集合,这种过程就叫关系模式的规范化,关系模式规范化的基本步骤 1NF 消除非主属性对码的部分函数依赖消除决定属性 2NF集非码的非平 消除非主属性对码的传递函数依赖凡函数依赖 3NF 消除主属性对码的部分和传递函数依赖 BCNF 消除非平凡且非函数依赖的多值依赖 4NF,规范化的基本思想,消除不合适的数据依赖的各关系模式达到某种程度的“分离”采用“一事一地”的模式设计原则 让一个关系描述一个概念、一个实体或者实体间的一种联系。若多于一个概念就把它“分离”出去所谓规范化实质上是概念的单一化,不能说规范化程度越高的关系模式就越好在设计数据库模式结构时,必须对现实世界的实际情况和用户应用需求作进一步分析,确定一个合适的、能够反映现实世界的模式上面的规范化步骤可以在其中任何一步终止,3.3.3 关系数据库设计步骤与方法,E-R图向关系模型的转换数据模型的优化关系模型的优化,E-R图向关系模型的转换,转换内容转换原则,转换内容,E-R图由实体、实体的属性和实体之间的联系三个要素组成关系模型的逻辑结构是一组关系模式的集合将E-R图转换为关系模型:将实体、实体的属性和实体之间的联系转化为关系模式。,转换原则,一个实体型转换为一个关系模式。关系的属性:实体型的属性关系的码:实体型的码例,学生实体可以转换为如下关系模式:学生(学号,姓名,出生日期,所在系,年级,平均成绩)性别、宿舍、班级、档案材料、教师、课程、教室、教科书都分别转换为一个关系模式。,一个m:n联系转换为一个关系模式。关系的属性:与该联系相连的各实体的码以及联系本身的属性关系的码:各实体码的组合例,“选修”联系是一个m:n联系,可以将它转换为如下关系模式,其中学号与课程号为关系的组合码:选修(学号,课程号,成绩),一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。1)转换为一个独立的关系模式关系的属性:与该联系相连的各实体的码以及联系本身的属性关系的码:n端实体的码,2)与n端对应的关系模式合并合并后关系的属性:在n端关系中加入1端关系的码和联系本身的属性合并后关系的码:不变 可以减少系统中的关系个数,一般情况下更倾向于采用这种方法,例,“组成”联系为1:n联系。将其转换为关系模式的两种方法:1)使其成为一个独立的关系模式:组成(学号,班级号)2)将其学生关系模式合并:学生(学号,姓名,出生日期,所在系,年级,班级号,平均成绩),一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。1)转换为一个独立的关系模式关系的属性:与该联系相连的各实体的码以及联系本身的属性关系的候选码:每个实体的码均是该关系的候选码,2)与某一端对应的关系模式合并合并后关系的属性:加入对应关系的码和联系本身的属性合并后关系的码:不变,例,“管理”联系为1:1联系,可以有三种转换方法:(1)转换为一个独立的关系模式:管理(职工号,班级号)或管理(职工号,班级号)(2)“管理”联系与班级关系模式合并,则只需在班级关系中加入教师关系的码,即职工号:班级:(班级号,学生人数,职工号)(3)“管理”联系与教师关系模式合并,则只需在教师关系中加入班级关系的码,即班级号:教师:(职工号,姓名,性别,职称,班级号,是否为优秀班主任),注意:,从理论上讲,1:1联系可以与任意一端对应的关系模式合并。但在一些情况下,与不同的关系模式合并效率会大不一样。因此究竟应该与哪端的关系模式合并需要依应用的具体情况而定。由于连接操作是最费时的操作,所以一般应以尽量减少连接操作为目标。例如,如果经常要查询某个班级的班主任姓名,则将管理联系与教师关系合并更好些。,三个或三个以上实体间的一个多元联系转换为一个关系模式。关系的属性:与该多元联系相连的各实体的码以及联系本身的属性关系的码:各实体码的组合例,“讲授”联系是一个三元联系,可以将它转换为如下关系模式,其中课程号、职工号和书号为关系的组合码:讲授(课程号,职工号,书号),同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。例,如果教师实体集内部存在领导与被领导的1:n自联系,我们可以将该联系与教师实体合并,这时主码职工号将多次出现,但作用不同,可用不同的属性名加以区分:教师:职工号,姓名,性别,职称,系主任,具有相同码的关系模式可合并。目的:减少系统中的关系个数。合并方法:将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性的次序。,例,“拥有”关系模式:拥有(学号,性别)与学生关系模式:学生(学号,姓名,出生日期,所在系,年级,班级号,平均成绩)都以学号为码,可以将它们合并为一个关系模式:学生(学号,姓名,性别,出生日期,所在系,年级,班级号,平均成绩),数据模型的优化,数据库逻辑设计的结果不是唯一的。得到初步数据模型后,还应该适当地修改、调整数据模型的结构,以进一步提高数据库应用系统的性能,这就是数据模型的优化。关系数据模型的优化通常以规范化理论为指导。,数据模型的优化-优化方法,确定数据依赖按需求分析阶段所得到的语义,分别写出每个关系模式内部各属性之间的数据依赖以及不同关系模式属性之间数据依赖。,例,课程关系模式内部存在下列数据依赖:课程号课程名 课程号学分 课程号教室号 选修关系模式中存在下列数据依赖:(学号,课程号)成绩,学生关系模式中存在下列数据依赖:学号姓名 学号性别 学号出生日期 学号所在系 学号年级 学号班级号 学号平均成绩 学号档案号,学生关系模式的学号与选修关系模式的学号之间存在数据依赖:学生.学号选修.学号,对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。按照数据依赖的理论对关系模式逐一进行分析,考查是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。例如经过分析可知,课程关系模式属于BC范式。,按照需求分析阶段得到的各种应用对数据处理的要求,分析对于这样的应用环境这些模式是否合适,确定是否要对它们进行合并或分解。,并不是规范化程度越高的关系就越优,当一个应用的查询中经常涉及到两个或多个关系模式的属性时,系统必须经常地进行联接运算,而联系运算的代价是相当高的,可以说关系模型低效的主要原因就是做联接运算引起的,因此在这种情况下,第二范式甚至第一范式也许是最好的。,非BCNF的关系模式虽然从理论上分析会存在不同程度的更新异常,但如果在实际应用中对此关系模式只是查询,并不执行更新操作,则就不会产生实际影响。对于一个具体应用来说,到底规范化进行到什么程度,需要权衡响应时间和潜在问题两者的利弊才能决定。一般说来,第三范式就足够了。,例:在关系模式 学生成绩单(学号,英语,数学,语文,平均成绩)中存在下列函数依赖:学号英语 学号数学 学号语文 学号平均成绩(英语,数学,语文)平均成绩,显然有:学号(英语,数学,语文)因此该关系模式中存在传递函数信赖,是2NF关系。虽然平均成绩可以由其他属性推算出来,但如果应用中需要经常查询学生的平均成绩,为提高效率,我们仍然可保留该冗余数据,对关系模式不再做进一步分解。,按照需求分析阶段得到的各种应用对数据处理的要求,对关系模式进行必要的分解或合并,以提高数据操作的效率和存储空间的利用率常用分解方法水平分解垂直分解,水平分解什么是水平分解把(基本)关系的元组分为若干子集合,定义每个子集合为一个子关系,以提高系统的效率。水平分解的适用范围1.满足“80/20原则”的应用80/20原则:一个大关系中,经常被使用的数据只是关系的一部分,约20%把经常使用的数据分解出来,形成一个子关系,可以减少查询的数据量。2.并发事务经常存取不相交的数据如果关系R上具有n个事务,而且多数事务存取的数据不相交,则R可分解为少于或等于n个子关系,使每个事务存取的数据对应一个关系,垂直分解什么是垂直分解把关系模式R的属性分解为若干子集合,形成若干子关系模式。垂直分解的原则经常在一起使用的属性从R中分解出来形成一个子关系模式。垂直分解的优点可以提高某些事务的效率垂直分解的缺点可能使另一些事务不得不执行连接操作,从而降低了效率。,垂直分解的适用范围取决于分解后R上的所有事务的总效率是否得到了提高。进行垂直分解的方法简单情况:直观分解复杂情况:用模式分解算法垂直分解必须不损失关系模式的语义(保持无损连接性和保持函数依赖)。,关系模型的优化,结合用户需求和查询效率进一步优化关系模型设计的两个主要目标:数据冗余较小 快速查询数据认真分析用户需求,从最常用的查询要求中找到最频繁使用的连接运算及相关关系模式,进行必要的合并。关系模型的局限性,3.4 面向对象的数据库设计,3.4.1 面向对象数据库及其基本特征3.4.2 面向对象的分析和设计,概念的区分,把面向对象的数据库设计(即数据库模式)思想与面向对象数据库管理系统(OODBMS)理论混为一谈。其实前者是数据库用户定义数据库模式的思路,后者是数据库管理程序的思路。用户使用面向对象方法学可以定义任何一种DBMS数据库,即网络型、层次型、关系型、面向对象型均可,甚至文件系统设计也照样可以遵循面向对象的思路。面向对象的思路或称规范可以用于系统分析、系统设计、程序设计,也可以用于数据结构设计、数据库设计。,3.4.1 面向对象数据库及其基本特征,面向对象其实是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象。对象之间通过消息相互作用。另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。,对象类具有相同属性和服务的一组对象的集合例化与实例实例是某个特定的具体类所描述的一个具体的对象例化 用对象类定义其实例对象的过程,表明这个对象是属于这个类的属性实体所具有的特性的抽象单值属性互斥属性多值属性,封装就是用一个自主式框架把对象的数据和方法联在一起形成一个整体多态性就是多种表现形式,具体来说,可以用“一个对外接口,多个内在实现方法”表示。举一个例子,计算机中的堆栈可以存储各种格式的数据,包括整型,浮点或字符。不管存储的是何种数据,堆栈的算法实现是一样的。继承是指一个对象直接使用另一对象的属性和方法。事实上,我们遇到的很多实体都有继承的含义。例如,若把汽车看成一个实体,它可以分成多个子实体,如:卡车、公共汽车等。这些子实体都具有汽车的特性,因此,汽车是它们的父亲,而这些子实体则是汽车的孩子。,消息 是对象之间唯一合法的动态联系途径,实 现对象之间的交互作用事件 引起对象状态转换的控制信息,在一个时 间点上发生的事情,3.4.2 面向对象的分析和设计,面向对象的分析和设计一般分为:问题定义系统分析系统设计详细设计,问题定义,系统分析,建立三个模型:对象模型动态模型功能模型,系统分析对象模型,定义了系统中实现功能的主体和它们的静态与动态结构(做事主体)通过标识对象类以及它们之间的关系来反映对象系统的整体结构 归纳关系 组合关系 关联关系,系统分析动态模型,对象在什么状态下接受什么事件的触发,回答什么时候做的问题(条件)将每个类的动态行为、不同的状态、触发状态的事件、对事件的响应用状态转换图表示出来。是基于事件共享而相互关联的一组状态转换图的集合,系统分析功能模型,明确系统中功能的具体对象,说明系统做什么(责任)表示系统中信息的流动、变化与存储,由一组数据流图组成,系统设计,设计系统的体系结构选择一个外部控制的实现方法选择数据管理方法和数据库管理模式确定重用范围选择数据交互的策略选择一种对象标识方法处理临时数据处理辅助数据,详细设计,使用变换简化和优化分析阶段的对象模型补充漏掉的细节详细设计模型质量的评估,3.5 地理信息元数据的设计,3.5.1 地理信息元数据确定的原则3.5.2 地理信息元数据的主要内容3.5.3 地理信息元数据的组织,对于空间元数据标准内容的研究,目前国际上主要有欧洲标准化委员会(CEN/TC 287)美国联邦地理委员会(FGDC)国际标准化组织地理信息/地球信息技术委员会(ISO/TC 211),空间元数据的定义,欧洲标准化委员会CEN/TC 287“描述地理信息数据集内容、表示、空间参考、质量以及管理的数据”美国联邦地理数据委员会FGDC和国际标准化组织地理信息/地球信息委员会ISO/TC 211 空间元数据是“关于数据的内容、质量、条件以及其它特征的数据”。,总的来说,空间元数据是“关于数据的数据”,它在地理信息中用于描述地理数据集的内容、质量、表达方式、空间参考、管理方式以及数据集的其它特征,它是实现地理空间信息共享的核心标准之一。,地理空间元数据与数据字典的主要区别,元数据是对关于数据集本身及其内容的全面分层次规范化的描述,且任何数据集的元数据描述格式和内容都是相同的,因而可以用相同的管理系统对所有数据集的元数据进行管理和维护;数据字典只是描述数据集中的部分内容,且没有统一的规范和标准,不同数据集生产者只是根据不同需求对数据集内容作出描述或说明,因此不可用相同的管理系统进行统一的管理和维护。,空间元数据主要有下列几个方面的作用,(1)用来组织和管理空间信息,并挖掘空间信息资源,这正是数字地球的特点和优点所在。通过它可以在Internet上准确地识别、定位和访问空间信息。(2)帮助数据所有者查询所需空间信息。比如,它可以按照不同的地理区间、指定的语言以及具体的时间段来查找空间信息资源。,(3)维护和延续一个机构对数据的投资。空间元数据可以确保一个机构对数据投资的安全(4)用来建立空间信息的数据目录和数据交换中心(5)提供数据转换方面的信息。在未来的空间信息中,均应当包含空间元数据信息,以便使用户在获取包含空间信息数据集的同时就可以得到空间元数据信息,空间元数据的应用现状,目前对于地理空间元数据的应用需求主要集中在目录、历史记录、地理空间数据集内部以及可读性等4个方面。其具体的实施应用,关键是在获取和整理地理空间数据的同时,要严格按照地理空间元数据的标准规范,建立该数据集的元数据和建立相应的元数据管理系统,并向上一级数据交换中心提供该数据集的元数据标准规范。,空间元数据的分类,按照Metadata所描述的数据内容,Metadata可分为数据系列Metadata、数据集Metadata、要素类型和要素实例Metadata、属性类型和属性实例Metadata。,3.5.1 地理信息元数据确定的原则,完整性准确性结构性与其他标准的一致性,3.5.2 地理信息元数据的主要内容,标识信息数据质量信息空间参照系统信息内容信息核心元数据参考信息,3.5.3 地理信息元数据的组织,按照元素性质来组织按照功能来组织按照使用范围来组织按照重要程度来组织,3.6 基于Geodatabase的数据库设计,3.6.1 Geodatabase数据模型3.6.2 Geodatabase数据库设计3.6.3 广东省佛山市南海区土地利用数据库设计,Geodatabase是ESRI公司在ArcGIS8引入的一个全新的空间数据模型,是建立在关系型数据库管理信息系统之上的统一的、智能化的空间数据库。它是在新的一体化数据存储技术的基础上发展起来的新数据模型实现了Geodatabase之前所有(包括Coverageshape)空间数据模型都无法完成的数据统一管理,即在一个公共模型框架下对GIS通常所处理和表达的地理空间特征如矢量、栅格、TIN、网络、地址进行同一描述同时,Geodatabase是面向对象的地理数据模型,其地理空间特征的表达较之以往的模型更接近我们对现实事物对象

    注意事项

    本文(第3章GIS数据库设计与建立.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开