第3章GIS数据库设计与建立课件

上传人:鲁** 文档编号:570822381 上传时间:2024-08-06 格式:PPT 页数:184 大小:626.19KB
返回 下载 相关 举报
第3章GIS数据库设计与建立课件_第1页
第1页 / 共184页
第3章GIS数据库设计与建立课件_第2页
第2页 / 共184页
第3章GIS数据库设计与建立课件_第3页
第3页 / 共184页
第3章GIS数据库设计与建立课件_第4页
第4页 / 共184页
第3章GIS数据库设计与建立课件_第5页
第5页 / 共184页
点击查看更多>>
资源描述

《第3章GIS数据库设计与建立课件》由会员分享,可在线阅读,更多相关《第3章GIS数据库设计与建立课件(184页珍藏版)》请在金锄头文库上搜索。

1、第第3章章GIS数据库设计与建立数据库设计与建立主要内容主要内容3.1GIS数据库设计概述数据库设计概述3.2GIS数据库的概念设计数据库的概念设计3.3关系型数据库设计关系型数据库设计3.4面向对象的数据库设计面向对象的数据库设计3.5地理信息元数据的设计地理信息元数据的设计3.6基于基于Geodatabase的数据库设计的数据库设计3.7空间数据采集建库空间数据采集建库数据库设计的特点数据库设计的特点n n数据库建设是硬件、软件和干件的结合数据库建设是硬件、软件和干件的结合数据库建设是硬件、软件和干件的结合数据库建设是硬件、软件和干件的结合uu三分技术,七分管理,十二分基础数据三分技术,七

2、分管理,十二分基础数据三分技术,七分管理,十二分基础数据三分技术,七分管理,十二分基础数据uu技术与管理的界面称之为技术与管理的界面称之为技术与管理的界面称之为技术与管理的界面称之为“ “干件干件干件干件” ”n n 数据库设计应该与应用系统设计相结合数据库设计应该与应用系统设计相结合数据库设计应该与应用系统设计相结合数据库设计应该与应用系统设计相结合uu结构(数据)设计:设计数据库框架或数据结构(数据)设计:设计数据库框架或数据结构(数据)设计:设计数据库框架或数据结构(数据)设计:设计数据库框架或数据库结构库结构库结构库结构uu行为(处理)设计:设计应用程序、事务处行为(处理)设计:设计应

3、用程序、事务处行为(处理)设计:设计应用程序、事务处行为(处理)设计:设计应用程序、事务处理等理等理等理等n n结构和行为分离的设计结构和行为分离的设计uu传统的软件工程忽视对应用中数据语义的分传统的软件工程忽视对应用中数据语义的分传统的软件工程忽视对应用中数据语义的分传统的软件工程忽视对应用中数据语义的分析和抽象,只要有可能就尽量推迟数据结构析和抽象,只要有可能就尽量推迟数据结构析和抽象,只要有可能就尽量推迟数据结构析和抽象,只要有可能就尽量推迟数据结构设计的决策设计的决策设计的决策设计的决策uu早期的数据库设计致力于数据模型和建模方早期的数据库设计致力于数据模型和建模方早期的数据库设计致力

4、于数据模型和建模方早期的数据库设计致力于数据模型和建模方法研究,忽视了对行为的设计法研究,忽视了对行为的设计法研究,忽视了对行为的设计法研究,忽视了对行为的设计3.1GIS数据库设计概述数据库设计概述3.1.1GIS数据库设计的内容数据库设计的内容3.1.2数据库设计目标数据库设计目标3.1.1GIS数据库设计的内容数据库设计的内容数据库设计过程及其文档数据库设计过程及其文档系统需求分析概念设计实现设计物理设计需求说明书ER 模型逻辑数据库结构物理数据库结构现实世界现实世界概念模型设计概念模型设计子模式设计子模式设计物理数据库设计物理数据库设计逻辑数据库设计逻辑数据库设计建立数据库建立数据库数

5、据分析数据分析功能分析功能分析功能模型功能模型功能说明功能说明事务设计事务设计程序说明程序说明应用程序设计应用程序设计程序编码调试程序编码调试设设 计计阶阶段段设设计计描描述述数数据据处处理理需需 求求分分析析数据字典、全系统中数据项、数据字典、全系统中数据项、数据流、数据存储的描述数据流、数据存储的描述数数据据流流图图和和判判定定表表(判判定定树树)、数数据据字典中处理过程的描述字典中处理过程的描述概念模型(概念模型(E-R图)图)数据字典数据字典系统说明书包括:系统说明书包括:新系统要求、新系统要求、方案和概图方案和概图反映新系统信息反映新系统信息流的数据流图流的数据流图某种数据模型某种数

6、据模型关系关系非关系非关系系统结构图系统结构图(模块结构)(模块结构)存储安排存储安排方法选择方法选择存取路径建立存取路径建立模块设计模块设计IPO表表实施实施阶段阶段编写模式编写模式装入数据装入数据数据库试运行数据库试运行程序编码、程序编码、编译联结、编译联结、测试测试运运行行、维护维护性能监测、转储性能监测、转储/恢复恢复数据库重组和重构数据库重组和重构新新旧旧系系统统转转换换、运运行行、维维护护(修修正正性、适应性、改善性维护)性、适应性、改善性维护)概念概念结构结构设计设计逻辑逻辑结构结构设计设计物理设计物理设计3.1.2数据库设计目标数据库设计目标满足用户需求满足用户需求良好的数据库

7、性能良好的数据库性能准确模拟现实世界准确模拟现实世界能够被某个数据库管理系统接受能够被某个数据库管理系统接受3.2GIS数据库的概念设计数据库的概念设计3.2.1概念设计的一般步骤与方法概念设计的一般步骤与方法3.2.2实体实体-联系模型(联系模型(E-R)3.2.3实体实体-联系扩展模型(联系扩展模型(EER)3.2.4E-R模型设计步骤与方法模型设计步骤与方法3.2.5E-R模型的操作模型的操作3.2.6空间数据分层空间数据分层什么是概念结构?什么是概念结构?n n面向用户的模型,按照用户的观点,对面向用户的模型,按照用户的观点,对数据和信息进行抽象建模。数据和信息进行抽象建模。什么是概念

8、结构设计什么是概念结构设计uu需求分析阶段描述的用户应用需求是现实世需求分析阶段描述的用户应用需求是现实世需求分析阶段描述的用户应用需求是现实世需求分析阶段描述的用户应用需求是现实世界的具体需求界的具体需求界的具体需求界的具体需求uu将需求分析得到的用户需求抽象为信息结构将需求分析得到的用户需求抽象为信息结构将需求分析得到的用户需求抽象为信息结构将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计即概念模型的过程就是概念结构设计即概念模型的过程就是概念结构设计即概念模型的过程就是概念结构设计uu概念结构是各种数据模型的共同基础,它比概念结构是各种数据模型的共同基础,它比概念结

9、构是各种数据模型的共同基础,它比概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加数据模型更独立于机器、更抽象,从而更加数据模型更独立于机器、更抽象,从而更加数据模型更独立于机器、更抽象,从而更加稳定。稳定。稳定。稳定。uu概念结构设计是整个数据库设计的关键概念结构设计是整个数据库设计的关键概念结构设计是整个数据库设计的关键概念结构设计是整个数据库设计的关键概念结构设计的特点概念结构设计的特点(1 1)能真实、充分地反映现实世界,包括事物)能真实、充分地反映现实世界,包括事物)能真实、充分地反映现实世界,包括事物)能真实、充分地反映现实世界,包括事物和事物之间的联系,

10、能满足用户对数据的处理和事物之间的联系,能满足用户对数据的处理和事物之间的联系,能满足用户对数据的处理和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。要求。是对现实世界的一个真实模型。要求。是对现实世界的一个真实模型。要求。是对现实世界的一个真实模型。(2 2)易于理解,从而可以用它和不熟悉计算机)易于理解,从而可以用它和不熟悉计算机)易于理解,从而可以用它和不熟悉计算机)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的的用户交换意见,用户的积极参与是数据库的的用户交换意见,用户的积极参与是数据库的的用户交换意见,用户的积极参与是数据库的设

11、计成功的关键。设计成功的关键。设计成功的关键。设计成功的关键。(3 3)易于更改,当应用环境和应用要求改变时,)易于更改,当应用环境和应用要求改变时,)易于更改,当应用环境和应用要求改变时,)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。容易对概念模型修改和扩充。容易对概念模型修改和扩充。容易对概念模型修改和扩充。(4 4)易于向关系、网状、层次等各种数据模型)易于向关系、网状、层次等各种数据模型)易于向关系、网状、层次等各种数据模型)易于向关系、网状、层次等各种数据模型转换。转换。转换。转换。3.2.1概念设计的一般步骤与方法概念设计的一般步骤与方法方法:方法:自顶向下自顶

12、向下自底向上自底向上逐步扩张逐步扩张混合策略混合策略步骤:步骤:抽象数据并设计局部视图,集成局部抽象数据并设计局部视图,集成局部视图,得到全局的概念结构视图,得到全局的概念结构3.2.2实体实体-联系模型(联系模型(E-R)实体实体-联系模型(简称联系模型(简称E-R模型)是模型)是由由P.P.Chen于于1976年首先提出的。它提年首先提出的。它提供不受任何供不受任何DBMS约束的面向用户的表约束的面向用户的表达方法,在数据库设计中被广泛用作数达方法,在数据库设计中被广泛用作数据建模的工具。据建模的工具。E-R数据模型问世后,数据模型问世后,经历了许多修改和扩充,这里仅介绍基经历了许多修改和

13、扩充,这里仅介绍基本的本的E-R数据模型。数据模型。E-R模型的结构模型的结构E-RE-R模型的构成成分是实体集、属性和联系集,模型的构成成分是实体集、属性和联系集,模型的构成成分是实体集、属性和联系集,模型的构成成分是实体集、属性和联系集,其表示方法如下:其表示方法如下:其表示方法如下:其表示方法如下:(1 1) 实体集用矩形框表示,矩形框内写上实实体集用矩形框表示,矩形框内写上实实体集用矩形框表示,矩形框内写上实实体集用矩形框表示,矩形框内写上实体名。体名。体名。体名。(2 2) 实体的属性用椭圆框表示,框内写上属实体的属性用椭圆框表示,框内写上属实体的属性用椭圆框表示,框内写上属实体的属

14、性用椭圆框表示,框内写上属性名,并用无向边与其实体集相连。性名,并用无向边与其实体集相连。性名,并用无向边与其实体集相连。性名,并用无向边与其实体集相连。(3 3) 实体间的联系用菱形框表示,联系以适实体间的联系用菱形框表示,联系以适实体间的联系用菱形框表示,联系以适实体间的联系用菱形框表示,联系以适当的含义命名,名字写在菱形框中,用无向连线将当的含义命名,名字写在菱形框中,用无向连线将当的含义命名,名字写在菱形框中,用无向连线将当的含义命名,名字写在菱形框中,用无向连线将参加联系的实体矩形框分别与菱形框相连,并在连参加联系的实体矩形框分别与菱形框相连,并在连参加联系的实体矩形框分别与菱形框相

15、连,并在连参加联系的实体矩形框分别与菱形框相连,并在连线上标明联系的类型,即线上标明联系的类型,即线上标明联系的类型,即线上标明联系的类型,即1111、1M1M或或或或MMMM。控制控制图斑图斑行政单位块面积行政单位块面积面积面积 联系的属性联系的属性图斑图斑图斑号图斑号地类号地类号毛面积毛面积净面积净面积线状地物线状地物零星地类零星地类 实体的属性实体的属性3.2.3实体实体-联系扩展模型(联系扩展模型(EER)EER模型是在标准模型是在标准E-R模型的基础模型的基础上增加了一些新的要素,这些扩展包括上增加了一些新的要素,这些扩展包括子类、超类等新的构造。子类、超类等新的构造。姓名编号职称地

16、址员工秘书业务员研究人员打字速度业绩研究项目d父类子类3.2.4E-R模型设计步骤与方法模型设计步骤与方法n n设计局部的设计局部的E-R模型模型n n设计全局的设计全局的E-R模型模型n n全局全局E-R模型的优化模型的优化设计局部的设计局部的E-R模型模型n n数据抽象数据抽象n n局部视图设计局部视图设计选择局部应用选择局部应用选择局部应用选择局部应用逐一设计分逐一设计分逐一设计分逐一设计分E-RE-R模型模型模型模型设计全局的设计全局的E-R模型模型概述:概述:视图集成的方式视图集成的方式视图集成的步骤视图集成的步骤集成的概念与方法:等同、聚合、抽取集成的概念与方法:等同、聚合、抽取设

17、计全局的设计全局的E-R模型模型-合并分合并分E-R图,生成初步的图,生成初步的E-R图图n n消除冲突:消除冲突:属性冲突属性冲突命名冲突命名冲突结构冲突结构冲突设计全局的设计全局的E-R模型模型-消除不必要的冗余,设计基本的消除不必要的冗余,设计基本的E-R图,图,n n分析方法分析方法n n规范化理论规范化理论分析方法分析方法uu以数据字典和数据流图为依据,根据以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系数据字典中关于数据项之间逻辑关系的说明来消除冗余。的说明来消除冗余。例,教师工资单中包括该教师的基本工资、各例,教师工资单中包括该教师的基本工资、各例,教师工资单中包

18、括该教师的基本工资、各例,教师工资单中包括该教师的基本工资、各种补贴、应扣除的房租水电费以及实发工资。种补贴、应扣除的房租水电费以及实发工资。种补贴、应扣除的房租水电费以及实发工资。种补贴、应扣除的房租水电费以及实发工资。由于实发工资可以由前面各项推算出来,因此由于实发工资可以由前面各项推算出来,因此由于实发工资可以由前面各项推算出来,因此由于实发工资可以由前面各项推算出来,因此可以去掉,在需要查询实发工资时根据基本工可以去掉,在需要查询实发工资时根据基本工可以去掉,在需要查询实发工资时根据基本工可以去掉,在需要查询实发工资时根据基本工资、各种补贴、应扣除的房租水电费数据临时资、各种补贴、应扣

19、除的房租水电费数据临时资、各种补贴、应扣除的房租水电费数据临时资、各种补贴、应扣除的房租水电费数据临时生成。生成。生成。生成。规范化理论规范化理论uu函数依赖的概念提供了消除冗余联系函数依赖的概念提供了消除冗余联系的形式化工具的形式化工具确定分确定分E-R图实体之间的数据依赖图实体之间的数据依赖FL。实体之间一对一、一对多、多对。实体之间一对一、一对多、多对多的联系可以用实体码之间的函数依多的联系可以用实体码之间的函数依赖来表示。赖来表示。例:例:班级和学生之间一对多的联系:班级和学生之间一对多的联系:学号学号班级号班级号学生和课程之间多对多的联系:学生和课程之间多对多的联系:(学号,课程号)

20、(学号,课程号)成绩成绩求求FL的最小覆盖的最小覆盖GL,差集为,差集为 D=FL-GL。逐一考察逐一考察D中的函数依赖,确定是否是中的函数依赖,确定是否是冗余的联系,若是,就把它去掉。冗余的联系,若是,就把它去掉。3.2.5E-R模型的操作模型的操作n n实体实体/联系(类型)的分裂与合并联系(类型)的分裂与合并n n实体实体/联系(类型)的增加与删除联系(类型)的增加与删除n n实体实体/联系(类型)的转位联系(类型)的转位3.2.6空间数据分层空间数据分层n n三个依据三个依据n n两个因素两个因素n n一些原则一些原则3.3关系型数据库设计关系型数据库设计3.3.1关系模型的基本概念关

21、系模型的基本概念3.3.2关系数据库设计理论关系数据库设计理论3.3.3关系数据库设计步骤与方法关系数据库设计步骤与方法关系数据库简介关系数据库简介n n系系系系统统统统而而而而严严严严格格格格地地地地提提提提出出出出关关关关系系系系模模模模型型型型的的的的是是是是美美美美国国国国IBM公公公公司司司司的的的的E.F.Codduu19701970年提出关系数据模型年提出关系数据模型年提出关系数据模型年提出关系数据模型t tE.F.CoddE.F.Codd, , “A“A RelationalRelational ModelModel ofof DataDataforforLargeLargeS

22、haredSharedDataDataBanks”,Banks”,CommunicationoftheACMCommunicationoftheACM,1970,1970uu之后,提出了关系代数和关系演算的概念之后,提出了关系代数和关系演算的概念之后,提出了关系代数和关系演算的概念之后,提出了关系代数和关系演算的概念uu19721972年提出了关系的第一、第二、第三范式年提出了关系的第一、第二、第三范式年提出了关系的第一、第二、第三范式年提出了关系的第一、第二、第三范式uu19741974年提出了关系的年提出了关系的年提出了关系的年提出了关系的BC范式范式范式范式n n关关系系数数据据模模型型

23、是是一一种种数数学学化化的的模模型型,关关系系数数据据库库应应用用数数学学方方法法来来处处理理数数据据库库中中的数据的数据n n80年年代代后后,关关系系数数据据库库系系统统成成为为最最重重要要、最流行的数据库系统最流行的数据库系统n n典型实验系统典型实验系统uuSystem RuuUniversity INGRESn n典型商用系统典型商用系统uuORACLEuuSYBASEuuINFORMIXuuDB2uuINGRES3.3.1关系模型的基本概念关系模型的基本概念关系关系:规范化了二维表:规范化了二维表RecNoRecNoRecNoRecNo StudIDStudIDStudIDStud

24、ID Name Name Name Name Sex Sex Sex Sex Birthday Birthday Birthday Birthday EntrancescoEntrancescoEntrancescoEntrancescorererere 1 1 1 1981101 981101 981101 981101 赵文化赵文化赵文化赵文化 男男男男 2-28-80 2-28-80 2-28-80 2-28-80 500 500 500 500 2 2 2 2981102 981102 981102 981102 徐逸华徐逸华徐逸华徐逸华 男男男男 6-7-81 6-7-81 6-7-

25、81 6-7-81 630 630 630 630 3 3 3 3981103 981103 981103 981103 郭茜茜郭茜茜郭茜茜郭茜茜 女女女女 11-17-82 11-17-82 11-17-82 11-17-82 650 650 650 650 4 4 4 4981201 981201 981201 981201 钱钱钱钱 途途途途 男男男男 5-1-80 5-1-80 5-1-80 5-1-80 380 380 380 380 5 5 5 5981202 981202 981202 981202 高高高高 涵涵涵涵 男男男男 11-06-80 11-06-80 11-06-8

26、0 11-06-80 630 630 630 630 6 6 6 6981203 981203 981203 981203 李晓鸣李晓鸣李晓鸣李晓鸣 女女女女 11-17-82 11-17-82 11-17-82 11-17-82 400 400 400 400 n n域域域域是一组具有相同数据类型的值的集合。例是一组具有相同数据类型的值的集合。例是一组具有相同数据类型的值的集合。例是一组具有相同数据类型的值的集合。例: :t t整数整数t t实数实数t t介于某个取值范围的整数介于某个取值范围的整数t t长度指定长度的字符串集合长度指定长度的字符串集合t t男男,女女t t介于某个取值范围的

27、日期介于某个取值范围的日期n n基本关系的性质基本关系的性质列是同质的(列是同质的(Homogeneous)每每一一列列中中的的分分量量是是同同一一类类型型的的数数据据,来来自同一个域自同一个域不同的列可出自同一个域不同的列可出自同一个域其中的每一列称为一个属性其中的每一列称为一个属性不同的属性要给予不同的属性名不同的属性要给予不同的属性名举例:举例:人(人(人(人(PERSONPERSONPERSONPERSON)= = = =张清玫,刘逸,李勇,刘晨,王敏张清玫,刘逸,李勇,刘晨,王敏张清玫,刘逸,李勇,刘晨,王敏张清玫,刘逸,李勇,刘晨,王敏专业(专业(专业(专业(SPECIALITYS

28、PECIALITYSPECIALITYSPECIALITY)= = = =计算机专业,信息专业计算机专业,信息专业计算机专业,信息专业计算机专业,信息专业 SAPSAPSAPSAP关关关关系系系系的的的的导导导导师师师师属属属属性性性性和和和和研研研研究究究究生生生生属属属属性性性性都都都都从从从从PERSONPERSONPERSONPERSON域域域域中中中中取取取取值值值值。为为为为了了了了避避避避免免免免混混混混淆淆淆淆,必必必必须须须须给给给给这这这这两两两两个个个个属属属属性性性性取取取取不不不不同同同同的的的的属属属属性性性性名名名名,而而而而不不不不能能能能直接使用域名。直接使用

29、域名。直接使用域名。直接使用域名。如定义如定义如定义如定义: : : :导师属性名为导师属性名为导师属性名为导师属性名为SUPERVISOR-PERSONSUPERVISOR-PERSONSUPERVISOR-PERSONSUPERVISOR-PERSON(或(或(或(或SUPERVISORSUPERVISORSUPERVISORSUPERVISOR)研究生属性名为研究生属性名为研究生属性名为研究生属性名为POSTGRADUATE-PERSONPOSTGRADUATE-PERSONPOSTGRADUATE-PERSONPOSTGRADUATE-PERSON(或(或(或(或POSTGRADUAT

30、EPOSTGRADUATEPOSTGRADUATEPOSTGRADUATE)列的顺序无所谓列的顺序无所谓列的次序可以任意交换。遵循这一性质的列的次序可以任意交换。遵循这一性质的列的次序可以任意交换。遵循这一性质的列的次序可以任意交换。遵循这一性质的数据库产品数据库产品数据库产品数据库产品( (如如如如ORACLE)ORACLE),增加新属性时,永,增加新属性时,永,增加新属性时,永,增加新属性时,永远是插至最后一列但也有许多关系数据库产品远是插至最后一列但也有许多关系数据库产品远是插至最后一列但也有许多关系数据库产品远是插至最后一列但也有许多关系数据库产品没有遵循这一性质,例如没有遵循这一性质

31、,例如没有遵循这一性质,例如没有遵循这一性质,例如FoxProFoxPro仍然区分了属仍然区分了属仍然区分了属仍然区分了属性顺序。性顺序。性顺序。性顺序。 任意两个元组不能完全相同任意两个元组不能完全相同但许多关系数据库产品没有遵循这一性质。但许多关系数据库产品没有遵循这一性质。但许多关系数据库产品没有遵循这一性质。但许多关系数据库产品没有遵循这一性质。 例例例例如如如如:Oracle:Oracle,FoxProFoxPro等等等等都都都都允允允允许许许许关关关关系系系系表表表表中中中中存存存存在在在在两两两两个个个个完完完完全全全全相相相相同同同同的的的的元元元元组组组组,除除除除非非非非用

32、用用用户户户户特特特特别别别别定定定定义义义义了相应的约束条件。了相应的约束条件。了相应的约束条件。了相应的约束条件。 行的顺序无所谓行的顺序无所谓 行的次序可以任意交换行的次序可以任意交换行的次序可以任意交换行的次序可以任意交换 遵遵遵遵循循循循这这这这一一一一性性性性质质质质的的的的数数数数据据据据库库库库产产产产品品品品( ( ( (如如如如ORACLE)ORACLE)ORACLE)ORACLE),插插插插入入入入一一一一个个个个元元元元组组组组时时时时永永永永远远远远插插插插至至至至最最最最后后后后一一一一行行行行但但但但也也也也有有有有许许许许多多多多关关关关系系系系数数数数据据据据

33、库库库库产产产产品品品品没没没没有有有有遵遵遵遵循循循循这这这这一一一一性性性性质质质质,例例例例如如如如FoxProFoxProFoxProFoxPro仍然区分了元组的顺序仍然区分了元组的顺序仍然区分了元组的顺序仍然区分了元组的顺序 分量必须取原子值分量必须取原子值每一个分量都必须是不可分的数据项。这每一个分量都必须是不可分的数据项。这每一个分量都必须是不可分的数据项。这每一个分量都必须是不可分的数据项。这是规范条件中最基本的一条是规范条件中最基本的一条是规范条件中最基本的一条是规范条件中最基本的一条主键(码)主键(码)若关系中的某一属性组的值能唯一地标识若关系中的某一属性组的值能唯一地标识

34、若关系中的某一属性组的值能唯一地标识若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码一个元组,则称该属性组为候选码一个元组,则称该属性组为候选码一个元组,则称该属性组为候选码在最简单的情况下,候选码只包含一个属性在最简单的情况下,候选码只包含一个属性在最简单的情况下,候选码只包含一个属性在最简单的情况下,候选码只包含一个属性在最极端的情况下,关系模式的所有属性组在最极端的情况下,关系模式的所有属性组在最极端的情况下,关系模式的所有属性组在最极端的情况下,关系模式的所有属性组是这个关系模式的候选码,称为全码(是这个关系模式的候选码,称为全码(是这个关系模式的候选码,称为全码(是

35、这个关系模式的候选码,称为全码(All-All-keykey)主码主码若若若若一一一一个个个个关关关关系系系系有有有有多多多多个个个个候候候候选选选选码码码码,则则则则选选选选定定定定其其其其中中中中一一一一个个个个为为为为主主主主码码码码(Primary keyPrimary keyPrimary keyPrimary key)主码的诸属性称为主属性(主码的诸属性称为主属性(主码的诸属性称为主属性(主码的诸属性称为主属性(Prime attributePrime attributePrime attributePrime attribute)不包含在任何侯选码中的属性称为非码属性不包含在任何

36、侯选码中的属性称为非码属性不包含在任何侯选码中的属性称为非码属性不包含在任何侯选码中的属性称为非码属性(Non-key attributeNon-key attributeNon-key attributeNon-key attribute)主键(码)的性质:主键(码)的性质:唯一性唯一性非冗余性非冗余性有效性有效性外键外键A AB BC CD DE EA AR1R2关系模式:关系模式:关系模式(关系模式(RelationSchema)是型)是型关系是值关系是值关系模式是对关系的描述关系模式是对关系的描述元组集合的结构元组集合的结构属性构成属性构成属性构成属性构成属性来自的域属性来自的域属性来

37、自的域属性来自的域属性与域之间的映象关系属性与域之间的映象关系属性与域之间的映象关系属性与域之间的映象关系元组语义以及完整性约束条件元组语义以及完整性约束条件属性间的数据依赖关系集合属性间的数据依赖关系集合关系模式可以形式化地表示为:关系模式可以形式化地表示为:R(U,D,dom,F) R 关系名关系名U组成该关系的属性名集合组成该关系的属性名集合D属性组属性组U中属性所来自的域中属性所来自的域dom属性向域的映象集合属性向域的映象集合F属性间的数据依赖关系集合属性间的数据依赖关系集合例例例例: :导师和研究生出自同一个域导师和研究生出自同一个域导师和研究生出自同一个域导师和研究生出自同一个域

38、人,人,人,人,取不同的属性名,并在模式中定义属性向域取不同的属性名,并在模式中定义属性向域取不同的属性名,并在模式中定义属性向域取不同的属性名,并在模式中定义属性向域的映象,即说明它们分别出自哪个域:的映象,即说明它们分别出自哪个域:的映象,即说明它们分别出自哪个域:的映象,即说明它们分别出自哪个域: domdom(SUPERVISOR-PERSONSUPERVISOR-PERSON)=domdom(POSTGRADUATE-PERSONPOSTGRADUATE-PERSON)=PERSON=PERSON关系模式通常可以简记为关系模式通常可以简记为 R (U)或或或或R (A1,A2,An)

39、R 关系名关系名A1,A2,An 属性名属性名注:域名及属性向域的映象常常直接说明为属注:域名及属性向域的映象常常直接说明为属注:域名及属性向域的映象常常直接说明为属注:域名及属性向域的映象常常直接说明为属性的类型、长度性的类型、长度性的类型、长度性的类型、长度关系模式关系模式对关系的描述对关系的描述静态的、稳定的静态的、稳定的关系关系关系模式在某一时刻的状态或内容关系模式在某一时刻的状态或内容动态的、随时间不断变化的动态的、随时间不断变化的关系模型关系模型:是由若干关系模式组成的集合是由若干关系模式组成的集合是用二维表格结构表示数据及数据之间联是用二维表格结构表示数据及数据之间联系的数据模型

40、。系的数据模型。3.3.2关系数据库设计理论关系数据库设计理论数据依赖理论数据依赖理论规范化理论规范化理论数据依赖理论数据依赖理论什么是数据依赖什么是数据依赖1.完整性约束的表现形式完整性约束的表现形式n n限定属性取值范围:例如学生成绩必须限定属性取值范围:例如学生成绩必须在在0-100之间之间n n定义属性值间的相互关连(主要体现于定义属性值间的相互关连(主要体现于值的相等与否),这就是数据依赖,它值的相等与否),这就是数据依赖,它是数据库模式设计的关键是数据库模式设计的关键2.数据依赖数据依赖n n是通过一个关系中属性间值的相等与否是通过一个关系中属性间值的相等与否体现出来的数据间的相互

41、关系体现出来的数据间的相互关系n n是现实世界属性间相互联系的抽象是现实世界属性间相互联系的抽象n n是数据内在的性质是数据内在的性质n n是语义的体现是语义的体现3.数据依赖的类型数据依赖的类型n n函数依赖(函数依赖(函数依赖(函数依赖(FunctionalDependencyFunctionalDependency,简记为,简记为,简记为,简记为FDFD)n n多值依赖(多值依赖(多值依赖(多值依赖(MultivaluedMultivaluedDependencyDependency,简记为,简记为,简记为,简记为MVDMVD)n n其他其他其他其他函数依赖函数依赖一、函数依赖一、函数依

42、赖二、平凡函数依赖与非平凡函数依赖二、平凡函数依赖与非平凡函数依赖三、完全函数依赖与部分函数依赖三、完全函数依赖与部分函数依赖四、传递函数依赖四、传递函数依赖一、函数依赖一、函数依赖设设设设R(U)R(U)是一个属性集是一个属性集是一个属性集是一个属性集U U上的关系模式,上的关系模式,上的关系模式,上的关系模式,X X和和和和Y Y是是是是U U的子集。若对于的子集。若对于的子集。若对于的子集。若对于R(U)R(U)的任意一个可能的任意一个可能的任意一个可能的任意一个可能的关系的关系的关系的关系r,r中不可能存在两个元组在中不可能存在两个元组在中不可能存在两个元组在中不可能存在两个元组在X

43、X上的属上的属上的属上的属性值相等,性值相等,性值相等,性值相等, 而在而在而在而在Y Y上的属性值不等,上的属性值不等,上的属性值不等,上的属性值不等, 则称则称则称则称“ “X X函数确定函数确定函数确定函数确定Y”Y”或或或或“Y Y函数依赖于函数依赖于函数依赖于函数依赖于X”X”,记作,记作,记作,记作XYXY。 1.1.函数依赖不是指关系模式函数依赖不是指关系模式函数依赖不是指关系模式函数依赖不是指关系模式R R的某个或某些关系的某个或某些关系的某个或某些关系的某个或某些关系实例满足的约束条件,而是指实例满足的约束条件,而是指实例满足的约束条件,而是指实例满足的约束条件,而是指R R

44、的所有关系实的所有关系实的所有关系实的所有关系实例均要满足的约束条件。例均要满足的约束条件。例均要满足的约束条件。例均要满足的约束条件。2.2.函数依赖是语义范畴的概念。只能根据数据的函数依赖是语义范畴的概念。只能根据数据的函数依赖是语义范畴的概念。只能根据数据的函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。语义来确定函数依赖。语义来确定函数依赖。语义来确定函数依赖。例如例如例如例如“ “姓名姓名姓名姓名年龄年龄年龄年龄” ”这个函数依赖只有在不允许这个函数依赖只有在不允许这个函数依赖只有在不允许这个函数依赖只有在不允许有同名人的条件下成立有同名人的条件下成立有同名人的条件下成立

45、有同名人的条件下成立3.3.数据库设计者可以对现实世界作强制的规定。数据库设计者可以对现实世界作强制的规定。数据库设计者可以对现实世界作强制的规定。数据库设计者可以对现实世界作强制的规定。例如规定不允许同名人出现,函数依赖例如规定不允许同名人出现,函数依赖例如规定不允许同名人出现,函数依赖例如规定不允许同名人出现,函数依赖“ “姓名姓名姓名姓名年龄年龄年龄年龄” ”成立。所插入的元组必须满足规定的函数成立。所插入的元组必须满足规定的函数成立。所插入的元组必须满足规定的函数成立。所插入的元组必须满足规定的函数依赖,若发现有同名人存在,依赖,若发现有同名人存在,依赖,若发现有同名人存在,依赖,若发

46、现有同名人存在, 则拒绝装入该元则拒绝装入该元则拒绝装入该元则拒绝装入该元组。组。组。组。例例例例: :Student(SnoStudent(Sno, ,SnameSname, ,SsexSsex,Sage,Sage,SdeptSdept) )假设不允许重名,则有假设不允许重名,则有假设不允许重名,则有假设不允许重名,则有: :SnoSnoSsexSsex,SnoSnoSage,Sage,SnoSnoSdeptSdept, SnoSnoSnameSname, ,SnameSnameSsexSsex, SnameSnameSageSageSnameSnameSdeptSdept但但SsexSag

47、e若若若若XYXY,并且,并且,并且,并且YX,YX,则记为则记为则记为则记为XYXY。 若若若若Y Y不函数依赖于不函数依赖于不函数依赖于不函数依赖于X,X,则记为则记为则记为则记为XYXY。二、平凡函数依赖与非平凡函数依赖二、平凡函数依赖与非平凡函数依赖在关系模式在关系模式在关系模式在关系模式R(U)R(U)中,对于中,对于中,对于中,对于U U的子集的子集的子集的子集X X和和和和Y Y,如果如果如果如果XYXY,但,但,但,但YY XX,则称,则称,则称,则称XYXY是非平凡的函数依赖是非平凡的函数依赖是非平凡的函数依赖是非平凡的函数依赖若若若若XYXY,但,但,但,但YY X,X,则

48、称则称则称则称XYXY是平凡的函数依赖是平凡的函数依赖是平凡的函数依赖是平凡的函数依赖例:在关系例:在关系例:在关系例:在关系SC(SnoSC(Sno, ,CnoCno,Grade),Grade)中,中,中,中,非平凡函数依赖:非平凡函数依赖:非平凡函数依赖:非平凡函数依赖: ( (SnoSno, ,CnoCno) GradeGrade平凡函数依赖:平凡函数依赖:平凡函数依赖:平凡函数依赖:( (SnoSno, ,CnoCno) SnoSno (SnoSno, ,CnoCno)CnoCnouu于任一关系模式,平凡函数依赖于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的都是必然成立的,它

49、不反映新的语义,因此若不特别声明,语义,因此若不特别声明,我们我们总是讨论非平凡函数依赖总是讨论非平凡函数依赖。三三、完全函数依赖与部分函数依赖、完全函数依赖与部分函数依赖在关系模式在关系模式R(U)中,如果中,如果XY,并,并且对于且对于X的任何一个真子集的任何一个真子集X,都有,都有XY,则称则称Y完全函数依赖于完全函数依赖于X,记作,记作XY。若若XY,但,但Y不完全函数依赖于不完全函数依赖于X,则称,则称Y部分函数依赖于部分函数依赖于X,记作,记作XPY。例例例例: :在关系在关系在关系在关系SC(SnoSC(Sno, ,CnoCno,Grade),Grade)中,中,中,中, 由于:

50、由于:由于:由于:SnoSnoGradeGrade,CnoCnoGradeGrade, 因此:因此:因此:因此:( (SnoSno, ,CnoCno) )GradeGrade四、传递函数依赖四、传递函数依赖 在关系模式在关系模式在关系模式在关系模式R(U)R(U)中,如果中,如果中,如果中,如果XYXY,YZYZ,且,且,且,且YY X X,YXYX,则称,则称,则称,则称Z Z传递函数依赖传递函数依赖传递函数依赖传递函数依赖于于于于X X。 注注注注: :如果如果如果如果YXYX, 即即即即XYXY,则,则,则,则Z Z直接依赖直接依赖直接依赖直接依赖于于于于X X。 例例例例: :在关系在

51、关系在关系在关系Std(SnoStd(Sno, ,SdeptSdept, ,MnameMname) )中,有:中,有:中,有:中,有:SnoSnoSdeptSdept,SdeptSdeptMnameMnameMnameMname传递函数依赖于传递函数依赖于传递函数依赖于传递函数依赖于SnoSno多值依赖多值依赖规范化理论规范化理论n n规范化理论规范化理论正是用来改造关系模式,正是用来改造关系模式,通过分解关系模式来消除其中不合适的通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。更新异常和数据冗余问题。n n范式

52、是符合某一种级别的关系模式的集合。范式是符合某一种级别的关系模式的集合。范式是符合某一种级别的关系模式的集合。范式是符合某一种级别的关系模式的集合。n n关系数据库中的关系必须满足一定的要求。满关系数据库中的关系必须满足一定的要求。满关系数据库中的关系必须满足一定的要求。满关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。足不同程度要求的为不同范式。足不同程度要求的为不同范式。足不同程度要求的为不同范式。n n范式的种类:范式的种类:范式的种类:范式的种类:第一范式第一范式第一范式第一范式(1NF)(1NF)第二范式第二范式第二范式第二范式(2NF)(2NF)第三范式第三范式

53、第三范式第三范式(3NF)(3NF)BCBC范式范式范式范式(BCNF)(BCNF)第四范式第四范式第四范式第四范式(4NF)(4NF)第五范式第五范式第五范式第五范式(5NF)(5NF)n n各种范式之间存在联系:各种范式之间存在联系:n n某一关系模式某一关系模式R为第为第n范式,可简记范式,可简记为为RnNF。1NFn n1NF1NF的定义的定义的定义的定义如果一个关系模式如果一个关系模式如果一个关系模式如果一个关系模式R R的所有属性都是的所有属性都是的所有属性都是的所有属性都是不可分的不可分的不可分的不可分的基本数据项基本数据项基本数据项基本数据项,则,则,则,则R R1NF1NF。

54、n n第一范式是对关系模式的最起码的要求。不满第一范式是对关系模式的最起码的要求。不满第一范式是对关系模式的最起码的要求。不满第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库。足第一范式的数据库模式不能称为关系数据库。足第一范式的数据库模式不能称为关系数据库。足第一范式的数据库模式不能称为关系数据库。n n但是满足第一范式的关系模式并不一定是一个但是满足第一范式的关系模式并不一定是一个但是满足第一范式的关系模式并不一定是一个但是满足第一范式的关系模式并不一定是一个好的关系模式。好的关系模式。好的关系模式。好的关系模式。例例例例: :关系模式关系模式关系模式关系模

55、式 SLC(SnoSLC(Sno, ,SdeptSdept, ,SlocSloc, ,CnoCno, ,Grade)Grade)SlocSloc为学生住处,假设每个系的学生住在同一为学生住处,假设每个系的学生住在同一为学生住处,假设每个系的学生住在同一为学生住处,假设每个系的学生住在同一个地方。个地方。个地方。个地方。n n函数依赖包括:函数依赖包括:函数依赖包括:函数依赖包括:( (SnoSno, ,CnoCno) )f fGradeGradeSnoSnoSdeptSdept(SnoSno, ,CnoCno)P P SdeptSdeptSnoSnoSlocSloc(SnoSno, ,CnoC

56、no) )P P SlocSlocSdeptSdeptSlocSlocn nSLCSLC的码为的码为的码为的码为( (SnoSno, ,CnoCno) )n nSLCSLC满足第一范式。满足第一范式。满足第一范式。满足第一范式。n n 非主属性非主属性非主属性非主属性SdeptSdept和和和和SlocSloc部分函数依赖于码部分函数依赖于码部分函数依赖于码部分函数依赖于码( (SnoSno, ,CnoCno) )SnoCnoGradeSdeptSlocSLC问题问题(1)(1)插入异常插入异常插入异常插入异常假设假设假设假设SnoSno9510295102,SdeptSdeptISIS,Sl

57、ocSlocN N的学的学的学的学生还未选课,因课程号是主属性,因此该学生还未选课,因课程号是主属性,因此该学生还未选课,因课程号是主属性,因此该学生还未选课,因课程号是主属性,因此该学生的信息无法插入生的信息无法插入生的信息无法插入生的信息无法插入SLCSLC。(2)(2)删除异常删除异常删除异常删除异常 假定某个学生本来只选修了假定某个学生本来只选修了假定某个学生本来只选修了假定某个学生本来只选修了3 3号课程这一门号课程这一门号课程这一门号课程这一门课。现在因身体不适,他连课。现在因身体不适,他连课。现在因身体不适,他连课。现在因身体不适,他连3 3号课程也不选号课程也不选号课程也不选号

58、课程也不选修了。因课程号是主属性,此操作将导致该修了。因课程号是主属性,此操作将导致该修了。因课程号是主属性,此操作将导致该修了。因课程号是主属性,此操作将导致该学生信息的整个元组都要删除。学生信息的整个元组都要删除。学生信息的整个元组都要删除。学生信息的整个元组都要删除。(3)(3)数据冗余度大数据冗余度大数据冗余度大数据冗余度大 如果一个学生选修了如果一个学生选修了如果一个学生选修了如果一个学生选修了1010门课程,那么他的门课程,那么他的门课程,那么他的门课程,那么他的SdeptSdept和和和和SlocSloc值就要重复存储了值就要重复存储了值就要重复存储了值就要重复存储了1010次。

59、次。次。次。(4)(4)修改复杂修改复杂修改复杂修改复杂 例如学生转系,在修改此学生元组的例如学生转系,在修改此学生元组的例如学生转系,在修改此学生元组的例如学生转系,在修改此学生元组的SdeptSdept值的同时,还可能需要修改住处(值的同时,还可能需要修改住处(值的同时,还可能需要修改住处(值的同时,还可能需要修改住处(SlocSloc)。)。)。)。如果这个学生选修了如果这个学生选修了如果这个学生选修了如果这个学生选修了KK门课,则必须无遗漏门课,则必须无遗漏门课,则必须无遗漏门课,则必须无遗漏地修改地修改地修改地修改KK个元组中全部个元组中全部个元组中全部个元组中全部SdeptSdep

60、t、SlocSloc信息。信息。信息。信息。n n原因原因Sdept、Sloc部分函数依赖于码。部分函数依赖于码。n n解决方法解决方法SLCSLC分解为两个关系模式,以消除这些部分函分解为两个关系模式,以消除这些部分函分解为两个关系模式,以消除这些部分函分解为两个关系模式,以消除这些部分函数依赖数依赖数依赖数依赖SC(Sno,Cno,Grade)SL(Sno,Sdept,Sloc)SnoCnoGradeSCSLSnoSdeptSloc2NF若关系模式若关系模式若关系模式若关系模式R R1NF1NF,并且每一个,并且每一个,并且每一个,并且每一个非主非主非主非主属属属属性都性都性都性都完全完全

61、完全完全函数依赖于函数依赖于函数依赖于函数依赖于R R的码,则的码,则的码,则的码,则R R2NF2NF。例:例:例:例:SLC(SnoSLC(Sno, ,SdeptSdept, ,SlocSloc, ,CnoCno,Grade),Grade)1NF1NFSLC(SnoSLC(Sno, ,SdeptSdept, ,SlocSloc, ,CnoCno,Grade),Grade)2NF2NFSCSC(SnoSno, CnoCno, GradeGrade) 2NF2NFSLSL(SnoSno, SdeptSdept, SlocSloc) 2NF2NFn n采用投影分解法将一个采用投影分解法将一个采用

62、投影分解法将一个采用投影分解法将一个1NF1NF的关系分解为多个的关系分解为多个的关系分解为多个的关系分解为多个2NF2NF的关系,可以在一定程度上减轻原的关系,可以在一定程度上减轻原的关系,可以在一定程度上减轻原的关系,可以在一定程度上减轻原1NF1NF关关关关系中存在的插入异常、删除异常、数据冗余度系中存在的插入异常、删除异常、数据冗余度系中存在的插入异常、删除异常、数据冗余度系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。大、修改复杂等问题。大、修改复杂等问题。大、修改复杂等问题。n n将一个将一个将一个将一个1NF1NF关系分解为多个关系分解为多个关系分解为多个关系分解为多

63、个2NF2NF的关系,并不的关系,并不的关系,并不的关系,并不能完全消除关系模式中的各种异常情况和数据能完全消除关系模式中的各种异常情况和数据能完全消除关系模式中的各种异常情况和数据能完全消除关系模式中的各种异常情况和数据冗余。冗余。冗余。冗余。3NF例:例:2NF关系模式关系模式SL(Sno,Sdept,Sloc)中中n n函数依赖:函数依赖:SnoSdeptSdeptSlocSnoSlocSloc传递函数依赖于传递函数依赖于Sno,即,即SL中存在非中存在非主属性对码的传递函数依赖。主属性对码的传递函数依赖。SLSnoSdeptSlocn n解决方法解决方法解决方法解决方法 采用投影分解法

64、,把采用投影分解法,把采用投影分解法,把采用投影分解法,把SLSL分解为两个关系模式,分解为两个关系模式,分解为两个关系模式,分解为两个关系模式,以消除传递函数依赖:以消除传递函数依赖:以消除传递函数依赖:以消除传递函数依赖:SDSD(SnoSno, SdeptSdept)DLDL(SdeptSdept, SlocSloc)SDSD的码为的码为的码为的码为SnoSno, DLDL的码为的码为的码为的码为SdeptSdept。n nSD的码为的码为Sno,DL的码为的码为Sdept。SnoSdeptSDSdeptSlocDL关系模式关系模式关系模式关系模式RURF 中若不存在这样的码中若不存在这

65、样的码中若不存在这样的码中若不存在这样的码X X、属性、属性、属性、属性组组组组Y Y及及及及非主属性非主属性非主属性非主属性Z Z(Z Z Y Y), , 使得使得使得使得X XY Y,Y YX X,Y YZ Z,成立,则称,成立,则称,成立,则称,成立,则称RURF 3NF3NF。例,例,例,例, SL(SnoSL(Sno, ,SdeptSdept, ,SlocSloc) )2NF2NF SL(SnoSL(Sno, ,SdeptSdept, ,SlocSloc) )3NF3NFSDSD(SnoSno, SdeptSdept) 3NF3NFDLDL(SdeptSdept, SlocSloc)

66、 3NF3NFn n若若若若R R3NF3NF,则,则,则,则R R的每一个的每一个的每一个的每一个非主属性非主属性非主属性非主属性既不部分函数依赖既不部分函数依赖既不部分函数依赖既不部分函数依赖于候选码也不传递函数依赖于候选码。于候选码也不传递函数依赖于候选码。于候选码也不传递函数依赖于候选码。于候选码也不传递函数依赖于候选码。n n如果如果如果如果R R3NF3NF,则,则,则,则R R也是也是也是也是2NF2NF。n n采用投影分解法将一个采用投影分解法将一个采用投影分解法将一个采用投影分解法将一个2NF2NF的关系分解为多个的关系分解为多个的关系分解为多个的关系分解为多个3NF3NF的

67、关的关的关的关系,可以在一定程度上解决原系,可以在一定程度上解决原系,可以在一定程度上解决原系,可以在一定程度上解决原2NF2NF关系中存在的插入关系中存在的插入关系中存在的插入关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。异常、删除异常、数据冗余度大、修改复杂等问题。异常、删除异常、数据冗余度大、修改复杂等问题。异常、删除异常、数据冗余度大、修改复杂等问题。n n 将一个将一个将一个将一个2NF2NF关系分解为多个关系分解为多个关系分解为多个关系分解为多个3NF3NF的关系后,并不能完的关系后,并不能完的关系后,并不能完的关系后,并不能完全消除关系模式中的各种异常情况和数据冗

68、余。全消除关系模式中的各种异常情况和数据冗余。全消除关系模式中的各种异常情况和数据冗余。全消除关系模式中的各种异常情况和数据冗余。BC范式(范式(BCNF)n n设关系模式设关系模式设关系模式设关系模式RURF1NF1NF,如果对于,如果对于,如果对于,如果对于R R的的的的每个函数依赖每个函数依赖每个函数依赖每个函数依赖XYXY,若,若,若,若Y Y不属于不属于不属于不属于X X,则,则,则,则X X必含有候选码,那么必含有候选码,那么必含有候选码,那么必含有候选码,那么R RBCNFBCNF。若若若若R RBCNFBCNF n n每一个决定属性集(因素)都包含(候选)码每一个决定属性集(因

69、素)都包含(候选)码每一个决定属性集(因素)都包含(候选)码每一个决定属性集(因素)都包含(候选)码n nR R中的所有属性(主,非主属性)都完全函数依赖于码中的所有属性(主,非主属性)都完全函数依赖于码中的所有属性(主,非主属性)都完全函数依赖于码中的所有属性(主,非主属性)都完全函数依赖于码n nR R3NF3NF(证明)(证明)(证明)(证明)n n若若若若R R3NF3NF则则则则 R R不一定不一定不一定不一定BCNFBCNF例:在关系模式例:在关系模式例:在关系模式例:在关系模式STJSTJ(S S,T T,J J)中,)中,)中,)中,S S表示学生,表示学生,表示学生,表示学生

70、,T T表示教师,表示教师,表示教师,表示教师,J J表示课程。表示课程。表示课程。表示课程。n n每一教师只教一门课。每门课由若干教师教,某一学每一教师只教一门课。每门课由若干教师教,某一学每一教师只教一门课。每门课由若干教师教,某一学每一教师只教一门课。每门课由若干教师教,某一学生选定某门课,就确定了一个固定的教师。某个学生生选定某门课,就确定了一个固定的教师。某个学生生选定某门课,就确定了一个固定的教师。某个学生生选定某门课,就确定了一个固定的教师。某个学生选修某个教师的课就确定了所选课的名称选修某个教师的课就确定了所选课的名称选修某个教师的课就确定了所选课的名称选修某个教师的课就确定了

71、所选课的名称 : (S(S,J)TJ)T,(S(S,T)JT)J,TJTJSJTSTJSTJSTJ3NFn n(S,J)和和(S,T)都可以作为候选码都可以作为候选码n nS、T、J都都是主属性是主属性STJBCNFn nTJ,T是决定属性集,是决定属性集,T不是候选码不是候选码解决方法:将解决方法:将STJ分解为二个关系模式:分解为二个关系模式:SJ(SJ(S S,J J) )BCNFBCNF, TJ(TJ(T T,J)J)BCNFBCNF 没有没有没有没有任何属性任何属性任何属性任何属性对码的部分函数依赖和传递函数依赖对码的部分函数依赖和传递函数依赖对码的部分函数依赖和传递函数依赖对码的部

72、分函数依赖和传递函数依赖SJSTTJTJ3NF与与BCNF的关系的关系n n如果关系模式如果关系模式RBCNF,必定有必定有R3NFn n如果如果R3NF,且,且R只有一个候选码,只有一个候选码,则则R必属于必属于BCNF。n nBCNFBCNF的关系模式所具有的性质的关系模式所具有的性质的关系模式所具有的性质的关系模式所具有的性质 所有所有所有所有非主属性非主属性非主属性非主属性都完全函数依赖于每个候选码都完全函数依赖于每个候选码都完全函数依赖于每个候选码都完全函数依赖于每个候选码 所有所有所有所有主属性主属性主属性主属性都完全函数依赖于每个不包含它的都完全函数依赖于每个不包含它的都完全函数

73、依赖于每个不包含它的都完全函数依赖于每个不包含它的候选码候选码候选码候选码 没有任何属性完全函数依赖于没有任何属性完全函数依赖于没有任何属性完全函数依赖于没有任何属性完全函数依赖于非码非码非码非码的任何一组的任何一组的任何一组的任何一组属性属性属性属性多值依赖与第四范式(多值依赖与第四范式(4NF)例例:学校中某一门课程由多个教师讲授,学校中某一门课程由多个教师讲授,他们使用相同的一套参考书。他们使用相同的一套参考书。关系模式关系模式Teaching(C,T,B)课程课程C、教师、教师T和和参考书参考书B课课程程C教教员员T参参考考书书B物理物理数学数学计算数学计算数学李李勇勇王王军军李李勇勇

74、张张平平张张平平周周峰峰普通物理学普通物理学光学原理光学原理物理习题集物理习题集数学分析数学分析微分方程微分方程高等代数高等代数数学分析数学分析普通物理学普通物理学光学原理光学原理物理习题集物理习题集普通物理学普通物理学光学原理光学原理物理习题集物理习题集数学分析数学分析微分方程微分方程高等代数高等代数数学分析数学分析微分方程微分方程高等代数高等代数李李 勇勇李李 勇勇李李 勇勇王王 军军王王 军军王王 军军李李 勇勇李李 勇勇李李 勇勇张张 平平张张 平平张张 平平 物物 理理物物 理理物物 理理物物 理理物物 理理物物 理理数数 学学数数 学学数数 学学数数 学学数数 学学数数 学学 参考

75、书参考书参考书参考书B B教员教员教员教员T T课程课程课程课程C Cn nTeachingTeachingBCNFBCNF: :n nTeachTeach具有唯一候选码具有唯一候选码具有唯一候选码具有唯一候选码(C(C,T T,B)B), 即全码即全码即全码即全码n nTeachingTeaching模式中存在的问题模式中存在的问题模式中存在的问题模式中存在的问题 (1)(1)数据冗余度大:有多少名任课教师,参考书数据冗余度大:有多少名任课教师,参考书数据冗余度大:有多少名任课教师,参考书数据冗余度大:有多少名任课教师,参考书就要存储多少次就要存储多少次就要存储多少次就要存储多少次(2)(2

76、)插入操作复杂:当某一课程增加一名任课教师时,该插入操作复杂:当某一课程增加一名任课教师时,该插入操作复杂:当某一课程增加一名任课教师时,该插入操作复杂:当某一课程增加一名任课教师时,该课程有多少本参照书,就必须插入多少个元组课程有多少本参照书,就必须插入多少个元组课程有多少本参照书,就必须插入多少个元组课程有多少本参照书,就必须插入多少个元组例如物理课增加一名教师刘关,需要插入两个例如物理课增加一名教师刘关,需要插入两个例如物理课增加一名教师刘关,需要插入两个例如物理课增加一名教师刘关,需要插入两个元组:元组:元组:元组: (物理,刘关,普通物理学)(物理,刘关,普通物理学)(物理,刘关,普

77、通物理学)(物理,刘关,普通物理学) (物理,刘关,光学原理)(物理,刘关,光学原理)(物理,刘关,光学原理)(物理,刘关,光学原理)(3)(3)删除操作复杂:某一门课要去掉一本参考书,删除操作复杂:某一门课要去掉一本参考书,删除操作复杂:某一门课要去掉一本参考书,删除操作复杂:某一门课要去掉一本参考书,该课程有多少名教师,就必须删除多少个元组该课程有多少名教师,就必须删除多少个元组该课程有多少名教师,就必须删除多少个元组该课程有多少名教师,就必须删除多少个元组(4)(4)修改操作复杂:某一门课要修改一本参考书,修改操作复杂:某一门课要修改一本参考书,修改操作复杂:某一门课要修改一本参考书,修

78、改操作复杂:某一门课要修改一本参考书,该课程有多少名教师,就必须修改多少个元组该课程有多少名教师,就必须修改多少个元组该课程有多少名教师,就必须修改多少个元组该课程有多少名教师,就必须修改多少个元组n n产生原因产生原因产生原因产生原因存在多值依赖存在多值依赖存在多值依赖存在多值依赖多值依赖多值依赖设设设设R(U)R(U)是一个属性集是一个属性集是一个属性集是一个属性集U U上的一个关系模式,上的一个关系模式,上的一个关系模式,上的一个关系模式, X X、 Y Y和和和和Z Z是是是是U U的子集,并且的子集,并且的子集,并且的子集,并且Z ZU UX XY Y,多值依赖多值依赖多值依赖多值依

79、赖 XYXY成立当且仅当对成立当且仅当对成立当且仅当对成立当且仅当对R R的的的的任一关系任一关系任一关系任一关系r,r在(在(在(在(X X,Z Z)上的每个值对应一组上的每个值对应一组上的每个值对应一组上的每个值对应一组Y Y的值,这组值仅仅决定于的值,这组值仅仅决定于的值,这组值仅仅决定于的值,这组值仅仅决定于X X值而值而值而值而与与与与Z Z值无关值无关值无关值无关 例例例例 TeachingTeaching(C,T,BC,T,B)对于对于对于对于C C的每一个值,的每一个值,的每一个值,的每一个值,T T有一组值与之对应,而不论有一组值与之对应,而不论有一组值与之对应,而不论有一组

80、值与之对应,而不论B B取取取取何值何值何值何值n n在在在在R R(U U)的任一关系)的任一关系)的任一关系)的任一关系r中,如果存在元组中,如果存在元组中,如果存在元组中,如果存在元组t t,s s 使得使得使得使得t t X X=s s X X ,那么就必然存在元组,那么就必然存在元组,那么就必然存在元组,那么就必然存在元组 w w,v v r r,(,(,(,(w w,v v可可可可以与以与以与以与s s,t t相同),使得相同),使得相同),使得相同),使得w w X X=v v X X=t t X X ,而,而,而,而w w Y Y=t t Y Y ,w w Z Z=s s Z

81、Z ,v v Y Y=s s Y Y ,v v Z Z=t t Z Z (即交换(即交换(即交换(即交换s s,t t元组的元组的元组的元组的Y Y值所得的两个新元组必在值所得的两个新元组必在值所得的两个新元组必在值所得的两个新元组必在r中),则中),则中),则中),则Y Y多值依赖于多值依赖于多值依赖于多值依赖于X X,记为记为记为记为X XY Y。 这里,这里,这里,这里,X X,Y Y是是是是U U的子集,的子集,的子集,的子集,Z Z= =U-XU-X- -Y Y。 t x y1 z2t x y1 z2 s x y2 z1 s x y2 z1 w x y1 z1 w x y1 z1 v

82、 x y2 z2 v x y2 z2n n平凡多值依赖和非平凡的多值依赖平凡多值依赖和非平凡的多值依赖平凡多值依赖和非平凡的多值依赖平凡多值依赖和非平凡的多值依赖uu若若XY,而,而Z,则称,则称XY为为平凡的多值依赖平凡的多值依赖uu否则称否则称XY为为非平凡的多值依赖非平凡的多值依赖第四范式(第四范式(4NF)n n关系模式关系模式关系模式关系模式RURF1NF1NF,如果对于,如果对于,如果对于,如果对于R R的每个的每个的每个的每个非平凡多值依赖非平凡多值依赖非平凡多值依赖非平凡多值依赖XYXY(YY XX),),),),X X都含有都含有都含有都含有候选码,则候选码,则候选码,则候选

83、码,则R R4NF4NF。(XYXY)n n如果如果如果如果RR4NF4NF, 则则则则RRBCNFBCNF不允许不允许不允许不允许有非平凡且非函数依赖的有非平凡且非函数依赖的有非平凡且非函数依赖的有非平凡且非函数依赖的多值依赖多值依赖多值依赖多值依赖允许允许允许允许的是的是的是的是函数依赖函数依赖函数依赖函数依赖(是非平凡多值依赖)(是非平凡多值依赖)(是非平凡多值依赖)(是非平凡多值依赖)例:例:例:例: Teach(C,T,BTeach(C,T,B) )4NF4NF存在非平凡的多值依赖存在非平凡的多值依赖存在非平凡的多值依赖存在非平凡的多值依赖CTCT,且,且,且,且C C不是候选码不是

84、候选码不是候选码不是候选码n n用投影分解法把用投影分解法把用投影分解法把用投影分解法把TeachTeach分解为如下两个关系模式:分解为如下两个关系模式:分解为如下两个关系模式:分解为如下两个关系模式:CT(C,T)CT(C,T)4NF4NFCB(C,B)CB(C,B)4NF4NFCTCT, CBCB是平凡多值依赖是平凡多值依赖是平凡多值依赖是平凡多值依赖规范化规范化n n关系数据库的规范化理论是数据库逻辑关系数据库的规范化理论是数据库逻辑设计的工具。设计的工具。n n一个关系只要其分量都是不可分的数据一个关系只要其分量都是不可分的数据项,它就是规范化的关系,但这只是最项,它就是规范化的关系

85、,但这只是最基本的规范化。基本的规范化。n n规范化程度可以有多个不同的级别规范化程度可以有多个不同的级别n n规范化程度过低的关系不一定能够很好地描述规范化程度过低的关系不一定能够很好地描述规范化程度过低的关系不一定能够很好地描述规范化程度过低的关系不一定能够很好地描述现实世界,可能会存在插入异常、删除异常、现实世界,可能会存在插入异常、删除异常、现实世界,可能会存在插入异常、删除异常、现实世界,可能会存在插入异常、删除异常、修改复杂、数据冗余等问题修改复杂、数据冗余等问题修改复杂、数据冗余等问题修改复杂、数据冗余等问题n n一个低一级范式的关系模式,通过模式分解可一个低一级范式的关系模式,

86、通过模式分解可一个低一级范式的关系模式,通过模式分解可一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式集合,以转换为若干个高一级范式的关系模式集合,以转换为若干个高一级范式的关系模式集合,以转换为若干个高一级范式的关系模式集合,这种过程就叫这种过程就叫这种过程就叫这种过程就叫关系模式的规范化关系模式的规范化关系模式的规范化关系模式的规范化n n关系模式规范化的基本步骤关系模式规范化的基本步骤 1NF1NF消除非主属性对码的部分函数依赖消除非主属性对码的部分函数依赖消除非主属性对码的部分函数依赖消除非主属性对码的部分函数依赖消除决定属性消除决定属性消除决定属性消除决定属

87、性 2NF2NF集非码的非平集非码的非平集非码的非平集非码的非平消除非主属性对码的传递函数依赖消除非主属性对码的传递函数依赖消除非主属性对码的传递函数依赖消除非主属性对码的传递函数依赖凡函数依赖凡函数依赖凡函数依赖凡函数依赖3NF3NF消除主属性对码的部分和传递函数依消除主属性对码的部分和传递函数依消除主属性对码的部分和传递函数依消除主属性对码的部分和传递函数依赖赖赖赖 BCNFBCNF消除非平凡且非函数依赖的多值依赖消除非平凡且非函数依赖的多值依赖消除非平凡且非函数依赖的多值依赖消除非平凡且非函数依赖的多值依赖 4NF4NF规范化的基本思想规范化的基本思想uu消除不合适的数据依赖消除不合适的

88、数据依赖uu的各关系模式达到某种程度的的各关系模式达到某种程度的“分离分离”uu采用采用“一事一地一事一地”的模式设计原则的模式设计原则让一个关系描述一个概念、一个实体或让一个关系描述一个概念、一个实体或者实体间的一种联系。若多于一个概者实体间的一种联系。若多于一个概念就把它念就把它“分离分离”出去出去uu所谓规范化实质上是概念的单一化所谓规范化实质上是概念的单一化n n不能说规范化程度越高的关系模式就越好不能说规范化程度越高的关系模式就越好不能说规范化程度越高的关系模式就越好不能说规范化程度越高的关系模式就越好n n在设计数据库模式结构时,必须对现实世界的在设计数据库模式结构时,必须对现实世

89、界的在设计数据库模式结构时,必须对现实世界的在设计数据库模式结构时,必须对现实世界的实际情况和用户应用需求作进一步分析,确定实际情况和用户应用需求作进一步分析,确定实际情况和用户应用需求作进一步分析,确定实际情况和用户应用需求作进一步分析,确定一个合适的、能够反映现实世界的模式一个合适的、能够反映现实世界的模式一个合适的、能够反映现实世界的模式一个合适的、能够反映现实世界的模式n n上面的规范化步骤可以在其中任何一步终止上面的规范化步骤可以在其中任何一步终止上面的规范化步骤可以在其中任何一步终止上面的规范化步骤可以在其中任何一步终止3.3.3关系数据库设计步骤与方法关系数据库设计步骤与方法E-

90、R图向关系模型的转换图向关系模型的转换数据模型的优化数据模型的优化关系模型的优化关系模型的优化E-R图向关系模型的转换图向关系模型的转换n n转换内容转换内容n转换原则转换原则转换内容转换内容uuE-RE-R图由实体、实体的属性和实体之间的联系图由实体、实体的属性和实体之间的联系图由实体、实体的属性和实体之间的联系图由实体、实体的属性和实体之间的联系三个要素组成三个要素组成三个要素组成三个要素组成uu关系模型的逻辑结构是一组关系模式的集合关系模型的逻辑结构是一组关系模式的集合关系模型的逻辑结构是一组关系模式的集合关系模型的逻辑结构是一组关系模式的集合uu将将将将E-RE-R图转换为关系模型:将

91、实体、实体的属图转换为关系模型:将实体、实体的属图转换为关系模型:将实体、实体的属图转换为关系模型:将实体、实体的属性和实体之间的联系转化为关系模式。性和实体之间的联系转化为关系模式。性和实体之间的联系转化为关系模式。性和实体之间的联系转化为关系模式。转换原则转换原则一个一个实体型实体型转换为一个关系模式。转换为一个关系模式。uu关系的属性:实体型的属性关系的属性:实体型的属性uu关系的码:实体型的码关系的码:实体型的码例,学生实体可以转换为如下关系模式:例,学生实体可以转换为如下关系模式:例,学生实体可以转换为如下关系模式:例,学生实体可以转换为如下关系模式:学生(学生(学生(学生(学号学号

92、学号学号,姓名,出生日期,所在系,姓名,出生日期,所在系,姓名,出生日期,所在系,姓名,出生日期,所在系,年级,平均成绩)年级,平均成绩)年级,平均成绩)年级,平均成绩)性别、宿舍、班级、档案材料、教师、课程、性别、宿舍、班级、档案材料、教师、课程、性别、宿舍、班级、档案材料、教师、课程、性别、宿舍、班级、档案材料、教师、课程、教室、教科书都分别转换为一个关系模式。教室、教科书都分别转换为一个关系模式。教室、教科书都分别转换为一个关系模式。教室、教科书都分别转换为一个关系模式。学生学生学号学号出生出生日期日期年级年级所在系所在系平均平均成绩成绩姓名姓名一个一个m:n联系联系转换为一个关系模式。

93、转换为一个关系模式。uu关系的属性:与该联系相连的各实体关系的属性:与该联系相连的各实体的码以及联系本身的属性的码以及联系本身的属性uu关系的码:各实体码的组合关系的码:各实体码的组合例,例,例,例,“ “选修选修选修选修” ”联系是一个联系是一个联系是一个联系是一个m:nm:n联系,可以将它转联系,可以将它转联系,可以将它转联系,可以将它转换为如下关系模式,其中学号与课程号为关系换为如下关系模式,其中学号与课程号为关系换为如下关系模式,其中学号与课程号为关系换为如下关系模式,其中学号与课程号为关系的组合码:的组合码:的组合码:的组合码:选修(选修(选修(选修(学号学号学号学号,课程号课程号课

94、程号课程号,成绩),成绩),成绩),成绩)一个一个1:n联系联系可以转换为一个独立的关系可以转换为一个独立的关系模式,也可以与模式,也可以与n端对应的关系模式合并。端对应的关系模式合并。uu1)转换为一个独立的关系模式转换为一个独立的关系模式t t关系的属性:与该联系相连的关系的属性:与该联系相连的各实体的码以及联系本身的属性各实体的码以及联系本身的属性t t关系的码:关系的码:n端实体的码端实体的码uu2)与与n端对应的关系模式合并端对应的关系模式合并t t合并后关系的属性:在合并后关系的属性:在n端关系端关系中加入中加入1端关系的码和联系本身端关系的码和联系本身的属性的属性t t合并后关系

95、的码:不变合并后关系的码:不变可以减少系统中的关系个数,一可以减少系统中的关系个数,一般情况下更倾向于采用这种方法般情况下更倾向于采用这种方法例,例,“组成组成”联系为联系为1:n联系。联系。将其转换为关系模式的两种方法:将其转换为关系模式的两种方法:1)使其成为一个独立的关系模式:使其成为一个独立的关系模式:组成(组成(学号学号,班级号),班级号)2)将其学生关系模式合并:将其学生关系模式合并:学生(学生(学号学号,姓名,出生日期,所在,姓名,出生日期,所在系,系,年级,年级,班级号班级号,平均成绩),平均成绩)一个一个1:1联系可以转换为一个独立的关系联系可以转换为一个独立的关系模式,也可

96、以与任意一端对应的关系模模式,也可以与任意一端对应的关系模式合并。式合并。uu1)转换为一个独立的关系模式转换为一个独立的关系模式t t关系的属性:与该联系相连的关系的属性:与该联系相连的各实体的码以及联系本身的属性各实体的码以及联系本身的属性t t关系的候选码:每个实体的码关系的候选码:每个实体的码均是该关系的候选码均是该关系的候选码uu2)与某一端对应的关系模式合并与某一端对应的关系模式合并t t合并后关系的属性:加入对应合并后关系的属性:加入对应关系的码和联系本身的属性关系的码和联系本身的属性t t合并后关系的码:不变合并后关系的码:不变例,例,例,例,“ “管理管理管理管理” ”联系为

97、联系为联系为联系为1:11:1联系,可以有三种转换方法:联系,可以有三种转换方法:联系,可以有三种转换方法:联系,可以有三种转换方法:(1 1)转换为一个)转换为一个)转换为一个)转换为一个独立独立独立独立的关系模式:的关系模式:的关系模式:的关系模式:管理(管理(管理(管理(职工号职工号职工号职工号,班级号),班级号),班级号),班级号)或或或或管理(职工号,管理(职工号,管理(职工号,管理(职工号,班级号班级号班级号班级号)(2 2)“ “管理管理管理管理” ”联系与班级关系模式合并联系与班级关系模式合并联系与班级关系模式合并联系与班级关系模式合并,则只需在,则只需在,则只需在,则只需在班

98、级关系中加入教师关系的码,即职工号:班级关系中加入教师关系的码,即职工号:班级关系中加入教师关系的码,即职工号:班级关系中加入教师关系的码,即职工号: 班级:(班级:(班级:(班级:(班级号班级号班级号班级号,学生人数,学生人数,学生人数,学生人数,职工号职工号职工号职工号)(3 3)“ “管理管理管理管理” ”联系与教师关系模式合并联系与教师关系模式合并联系与教师关系模式合并联系与教师关系模式合并,则只需在,则只需在,则只需在,则只需在教师关系中加入班级关系的码,即班级号:教师关系中加入班级关系的码,即班级号:教师关系中加入班级关系的码,即班级号:教师关系中加入班级关系的码,即班级号:教师:

99、(教师:(教师:(教师:(职工号职工号职工号职工号,姓名,性别,职称,姓名,性别,职称,姓名,性别,职称,姓名,性别,职称,班级号班级号班级号班级号,是否为优秀班主任)是否为优秀班主任)是否为优秀班主任)是否为优秀班主任)注意:注意:uu从理论上讲,从理论上讲,从理论上讲,从理论上讲,1:11:1联系可以与任意一端对应的关联系可以与任意一端对应的关联系可以与任意一端对应的关联系可以与任意一端对应的关系模式合并。系模式合并。系模式合并。系模式合并。uu但在一些情况下,与不同的关系模式合并效率但在一些情况下,与不同的关系模式合并效率但在一些情况下,与不同的关系模式合并效率但在一些情况下,与不同的关

100、系模式合并效率会大不一样。因此究竟应该与哪端的关系模式会大不一样。因此究竟应该与哪端的关系模式会大不一样。因此究竟应该与哪端的关系模式会大不一样。因此究竟应该与哪端的关系模式合并需要依应用的具体情况而定。合并需要依应用的具体情况而定。合并需要依应用的具体情况而定。合并需要依应用的具体情况而定。uu由于连接操作是最费时的操作,所以一般应以由于连接操作是最费时的操作,所以一般应以由于连接操作是最费时的操作,所以一般应以由于连接操作是最费时的操作,所以一般应以尽量减少连接操作为目标。尽量减少连接操作为目标。尽量减少连接操作为目标。尽量减少连接操作为目标。例如,如果经常要查询某个班级的班主任姓名,例如

101、,如果经常要查询某个班级的班主任姓名,例如,如果经常要查询某个班级的班主任姓名,例如,如果经常要查询某个班级的班主任姓名,则将管理联系与教师关系合并更好些。则将管理联系与教师关系合并更好些。则将管理联系与教师关系合并更好些。则将管理联系与教师关系合并更好些。三个或三个以上实体间的一个多元联系三个或三个以上实体间的一个多元联系转换为一个关系模式。转换为一个关系模式。uu关系的属性:与该多元联系相连的各关系的属性:与该多元联系相连的各实体的码以及联系本身的属性实体的码以及联系本身的属性uu关系的码:各实体码的组合关系的码:各实体码的组合例,例,例,例,“ “讲授讲授讲授讲授” ”联系是一个三元联系

102、,可以将它转联系是一个三元联系,可以将它转联系是一个三元联系,可以将它转联系是一个三元联系,可以将它转换为如下关系模式,其中课程号、职工号和书换为如下关系模式,其中课程号、职工号和书换为如下关系模式,其中课程号、职工号和书换为如下关系模式,其中课程号、职工号和书号为关系的组合码:号为关系的组合码:号为关系的组合码:号为关系的组合码:讲授(讲授(讲授(讲授(课程号,职工号,书号课程号,职工号,书号课程号,职工号,书号课程号,职工号,书号)同一实体集的实体间的联系,即自联系,同一实体集的实体间的联系,即自联系,也可按上述也可按上述1:1、1:n和和m:n三种情况分别三种情况分别处理。处理。例,如果

103、教师实体集内部存在领导与被例,如果教师实体集内部存在领导与被领导的领导的1:n自联系,我们可以将该联系与自联系,我们可以将该联系与教师实体合并,这时主码职工号将多次教师实体合并,这时主码职工号将多次出现,但作用不同,可用不同的属性名出现,但作用不同,可用不同的属性名加以区分:加以区分:教师:教师:职工号职工号,姓名,性别,职称,姓名,性别,职称,系系主任主任具有相同码的关系模式可合并。具有相同码的关系模式可合并。uu目的:减少系统中的关系个数。目的:减少系统中的关系个数。uu合并方法:将其中一个关系模式的全合并方法:将其中一个关系模式的全部属性加入到另一个关系模式中,然部属性加入到另一个关系模

104、式中,然后去掉其中的同义属性(可能同名也后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性的次可能不同名),并适当调整属性的次序。序。例,例,例,例,“ “拥有拥有拥有拥有” ”关系模式:关系模式:关系模式:关系模式:拥有(拥有(拥有(拥有(学号学号学号学号,性别),性别),性别),性别)与学生关系模式:与学生关系模式:与学生关系模式:与学生关系模式:学生(学生(学生(学生(学号学号学号学号,姓名,出生日期,所在系,年,姓名,出生日期,所在系,年,姓名,出生日期,所在系,年,姓名,出生日期,所在系,年级,级,级,级,班级号,平均成绩)班级号,平均成绩)班级号,平均成绩)班级号,平均成

105、绩)都以学号为码,可以将它们合并为一个关系模式:都以学号为码,可以将它们合并为一个关系模式:都以学号为码,可以将它们合并为一个关系模式:都以学号为码,可以将它们合并为一个关系模式:学生(学生(学生(学生(学号学号学号学号,姓名,性别,出生日期,所在,姓名,性别,出生日期,所在,姓名,性别,出生日期,所在,姓名,性别,出生日期,所在系,系,系,系,年级,班级号,平均成绩)年级,班级号,平均成绩)年级,班级号,平均成绩)年级,班级号,平均成绩)数据模型的优化数据模型的优化n n数据库逻辑设计的结果不是唯一的。数据库逻辑设计的结果不是唯一的。n n得到初步数据模型后,还应该适当地修得到初步数据模型后

106、,还应该适当地修改、调整数据模型的结构,以进一步提改、调整数据模型的结构,以进一步提高数据库应用系统的性能,这就是数据高数据库应用系统的性能,这就是数据模型的优化。模型的优化。n n关系数据模型的优化通常以规范化理论关系数据模型的优化通常以规范化理论为指导。为指导。数据模型的优化数据模型的优化-优化方法优化方法确定数据依赖确定数据依赖uu按需求分析阶段所得到的语义,分别写出每按需求分析阶段所得到的语义,分别写出每按需求分析阶段所得到的语义,分别写出每按需求分析阶段所得到的语义,分别写出每个关系模式内部各属性之间的数据依赖以及个关系模式内部各属性之间的数据依赖以及个关系模式内部各属性之间的数据依

107、赖以及个关系模式内部各属性之间的数据依赖以及不同关系模式属性之间数据依赖。不同关系模式属性之间数据依赖。不同关系模式属性之间数据依赖。不同关系模式属性之间数据依赖。例,课程关系模式内部存在下列数据依赖:例,课程关系模式内部存在下列数据依赖:课程号课程号课程名课程名课程号课程号学分学分课程号课程号教室号教室号选修关系模式中存在下列数据依赖:选修关系模式中存在下列数据依赖:(学号,课程号)(学号,课程号)成绩成绩学生关系模式中存在下列数据依赖:学生关系模式中存在下列数据依赖:学生关系模式中存在下列数据依赖:学生关系模式中存在下列数据依赖:学号学号学号学号姓名姓名姓名姓名学号学号学号学号性别性别性别

108、性别学号学号学号学号出生日期出生日期出生日期出生日期学号学号学号学号所在系所在系所在系所在系 学号学号学号学号年级年级年级年级学号学号学号学号班级号班级号班级号班级号学号学号学号学号平均成绩平均成绩平均成绩平均成绩学号学号学号学号档案号档案号档案号档案号学生关系模式的学号与选修关系模式的学号之学生关系模式的学号与选修关系模式的学号之学生关系模式的学号与选修关系模式的学号之学生关系模式的学号与选修关系模式的学号之间存在数据依赖:间存在数据依赖:间存在数据依赖:间存在数据依赖:学生学生学生学生. .学号学号学号学号选修选修选修选修. .学号学号学号学号n n对于各个关系模式之间的数据依赖进对于各个

109、关系模式之间的数据依赖进行极小化处理,消除冗余的联系。行极小化处理,消除冗余的联系。n n按照数据依赖的理论对关系模式逐一按照数据依赖的理论对关系模式逐一进行分析,考查是否存在部分函数依赖、进行分析,考查是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。系模式分别属于第几范式。 例如经过分析可知,课程关系模式属于例如经过分析可知,课程关系模式属于例如经过分析可知,课程关系模式属于例如经过分析可知,课程关系模式属于BCBC范范范范式。式。式。式。n n按照需求分析阶段得到的各种应用对按照需求分析阶段得到的各种应用对数据处理的要求,分

110、析对于这样的应用数据处理的要求,分析对于这样的应用环境这些模式是否合适,确定是否要对环境这些模式是否合适,确定是否要对它们进行合并或分解。它们进行合并或分解。并不是规范化程度越高的关系并不是规范化程度越高的关系就越优就越优t t当一个应用的查询中经常涉及到两当一个应用的查询中经常涉及到两个或多个关系模式的属性时,系统个或多个关系模式的属性时,系统必须经常地进行联接运算,而联系必须经常地进行联接运算,而联系运算的代价是相当高的,可以说关运算的代价是相当高的,可以说关系模型低效的主要原因就是做联接系模型低效的主要原因就是做联接运算引起的,因此在这种情况下,运算引起的,因此在这种情况下,第二范式甚至

111、第一范式也许是最好第二范式甚至第一范式也许是最好的。的。t t非非BCNF的关系模式虽然从理论上的关系模式虽然从理论上分析会存在不同程度的更新异常,分析会存在不同程度的更新异常,但如果在实际应用中对此关系模式但如果在实际应用中对此关系模式只是查询,并不执行更新操作,则只是查询,并不执行更新操作,则就不会产生实际影响。就不会产生实际影响。t t对于一个具体应用来说,到底规范对于一个具体应用来说,到底规范化进行到什么程度,需要权衡响应化进行到什么程度,需要权衡响应时间和潜在问题两者的利弊才能决时间和潜在问题两者的利弊才能决定。一般说来,第三范式就足够了。定。一般说来,第三范式就足够了。例:在关系模

112、式例:在关系模式例:在关系模式例:在关系模式学生成绩单学生成绩单学生成绩单学生成绩单( (学号学号学号学号, ,英语英语英语英语, ,数学数学数学数学, ,语文语文语文语文, ,平均成绩平均成绩平均成绩平均成绩) ) 中存在下列函数依赖:中存在下列函数依赖:中存在下列函数依赖:中存在下列函数依赖:学号学号学号学号英语英语英语英语学号学号学号学号数学数学数学数学学号学号学号学号语文语文语文语文学号学号学号学号平均成绩平均成绩平均成绩平均成绩( (英语英语英语英语, ,数学数学数学数学, ,语文语文语文语文)平均成绩平均成绩平均成绩平均成绩 显然有:显然有:显然有:显然有:学号学号学号学号( (英

113、语英语英语英语, ,数学数学数学数学, ,语文语文语文语文) )因此该关系模式中存在传递函数信赖,是因此该关系模式中存在传递函数信赖,是因此该关系模式中存在传递函数信赖,是因此该关系模式中存在传递函数信赖,是2NF2NF关系。关系。关系。关系。虽然平均成绩可以由其他属性推算出来,但虽然平均成绩可以由其他属性推算出来,但虽然平均成绩可以由其他属性推算出来,但虽然平均成绩可以由其他属性推算出来,但如果应用中需要经常查询学生的平均成绩,为如果应用中需要经常查询学生的平均成绩,为如果应用中需要经常查询学生的平均成绩,为如果应用中需要经常查询学生的平均成绩,为提高效率,我们仍然可保留该冗余数据,对关提高

114、效率,我们仍然可保留该冗余数据,对关提高效率,我们仍然可保留该冗余数据,对关提高效率,我们仍然可保留该冗余数据,对关系模式不再做进一步分解。系模式不再做进一步分解。系模式不再做进一步分解。系模式不再做进一步分解。按照需求分析阶段得到的各种应用对数按照需求分析阶段得到的各种应用对数据处理的要求,对关系模式进行必要的据处理的要求,对关系模式进行必要的分解或合并,以提高数据操作的效率和分解或合并,以提高数据操作的效率和存储空间的利用率存储空间的利用率uu常用分解方法常用分解方法常用分解方法常用分解方法t t水平分解水平分解水平分解水平分解t t垂直分解垂直分解垂直分解垂直分解水平分解水平分解水平分解

115、水平分解t t什么是水平分解什么是水平分解什么是水平分解什么是水平分解 把把把把( (基基基基本本本本) )关关关关系系系系的的的的元元元元组组组组分分分分为为为为若若若若干干干干子子子子集集集集合合合合,定定定定义义义义每每每每个个个个子子子子集集集集合合合合为为为为一一一一个个个个子子子子关关关关系系系系,以以以以提提提提高高高高系系系系统统统统的的的的效效效效率。率。率。率。t t水平分解的适用范围水平分解的适用范围水平分解的适用范围水平分解的适用范围 1.1.满足满足满足满足“ “80/2080/20原则原则原则原则” ”的应用的应用的应用的应用 80/2080/20原则:一个大关系中

116、,经常被使用原则:一个大关系中,经常被使用原则:一个大关系中,经常被使用原则:一个大关系中,经常被使用的数据只是关系的一部分,约的数据只是关系的一部分,约的数据只是关系的一部分,约的数据只是关系的一部分,约20%20% 把把把把经经经经常常常常使使使使用用用用的的的的数数数数据据据据分分分分解解解解出出出出来来来来,形形形形成成成成一一一一个个个个子子子子关系,可以减少查询的数据量。关系,可以减少查询的数据量。关系,可以减少查询的数据量。关系,可以减少查询的数据量。 2.2.并发事务经常存取不相交的数据并发事务经常存取不相交的数据并发事务经常存取不相交的数据并发事务经常存取不相交的数据 如如如

117、如果果果果关关关关系系系系R R上上上上具具具具有有有有n n个个个个事事事事务务务务,而而而而且且且且多多多多数数数数事事事事务务务务存存存存取取取取的的的的数数数数据据据据不不不不相相相相交交交交,则则则则R R可可可可分分分分解解解解为为为为少少少少于于于于或或或或等等等等于于于于n n个个个个子子子子关关关关系系系系,使使使使每每每每个个个个事事事事务务务务存存存存取取取取的的的的数数数数据对应一个关系据对应一个关系据对应一个关系据对应一个关系垂直分解垂直分解垂直分解垂直分解t t什么是垂直分解什么是垂直分解什么是垂直分解什么是垂直分解 把把把把关关关关系系系系模模模模式式式式R R的

118、的的的属属属属性性性性分分分分解解解解为为为为若若若若干干干干子子子子集集集集合合合合,形形形形成若干子关系模式。成若干子关系模式。成若干子关系模式。成若干子关系模式。t t垂直分解的原则垂直分解的原则垂直分解的原则垂直分解的原则 经经经经常常常常在在在在一一一一起起起起使使使使用用用用的的的的属属属属性性性性从从从从R R中中中中分分分分解解解解出出出出来来来来形形形形成成成成一个子关系模式。一个子关系模式。一个子关系模式。一个子关系模式。t t垂直分解的优点垂直分解的优点垂直分解的优点垂直分解的优点 可以提高某些事务的效率可以提高某些事务的效率可以提高某些事务的效率可以提高某些事务的效率t

119、 t垂直分解的缺点垂直分解的缺点垂直分解的缺点垂直分解的缺点 可可可可能能能能使使使使另另另另一一一一些些些些事事事事务务务务不不不不得得得得不不不不执执执执行行行行连连连连接接接接操操操操作作作作,从从从从而降低了效率。而降低了效率。而降低了效率。而降低了效率。t t垂直分解的适用范围垂直分解的适用范围垂直分解的适用范围垂直分解的适用范围取取取取决决决决于于于于分分分分解解解解后后后后R R上上上上的的的的所所所所有有有有事事事事务务务务的的的的总总总总效效效效率率率率是否得到了提高。是否得到了提高。是否得到了提高。是否得到了提高。t t进行垂直分解的方法进行垂直分解的方法进行垂直分解的方法

120、进行垂直分解的方法简单情况:直观分解简单情况:直观分解简单情况:直观分解简单情况:直观分解复杂情况:用模式分解算法复杂情况:用模式分解算法复杂情况:用模式分解算法复杂情况:用模式分解算法垂垂垂垂直直直直分分分分解解解解必必必必须须须须不不不不损损损损失失失失关关关关系系系系模模模模式式式式的的的的语语语语义义义义( (保持无损连接性和保持函数依赖保持无损连接性和保持函数依赖保持无损连接性和保持函数依赖保持无损连接性和保持函数依赖) )。关系模型的优化关系模型的优化n n结合用户需求和查询效率进一步优化结合用户需求和查询效率进一步优化n n关系模型设计的两个主要目标:关系模型设计的两个主要目标:

121、 数据冗余较小数据冗余较小 快速查询数据快速查询数据n n认真分析用户需求,从最常用的查询要认真分析用户需求,从最常用的查询要求中找到最频繁使用的连接运算及相关求中找到最频繁使用的连接运算及相关关系模式,进行必要的合并。关系模式,进行必要的合并。n n关系模型的局限性关系模型的局限性 3.4面向对象的数据库设计面向对象的数据库设计n n3.4.1面向对象数据库及其基本特征面向对象数据库及其基本特征n n3.4.2面向对象的分析和设计面向对象的分析和设计概念的区分概念的区分n n把面向对象的数据库设计把面向对象的数据库设计把面向对象的数据库设计把面向对象的数据库设计( (即数据库模式即数据库模式

122、即数据库模式即数据库模式) )思想思想思想思想与面向对象数据库管理系统与面向对象数据库管理系统与面向对象数据库管理系统与面向对象数据库管理系统(OODBMS)(OODBMS)理论混理论混理论混理论混为一谈。其实前者是数据库用户定义数据库模为一谈。其实前者是数据库用户定义数据库模为一谈。其实前者是数据库用户定义数据库模为一谈。其实前者是数据库用户定义数据库模式的思路式的思路式的思路式的思路, ,后者是数据库管理程序的思路。后者是数据库管理程序的思路。后者是数据库管理程序的思路。后者是数据库管理程序的思路。n n用户使用面向对象方法学可以定义任何一种用户使用面向对象方法学可以定义任何一种用户使用面

123、向对象方法学可以定义任何一种用户使用面向对象方法学可以定义任何一种DBMSDBMS数据库数据库数据库数据库, ,即网络型、层次型、关系型、面即网络型、层次型、关系型、面即网络型、层次型、关系型、面即网络型、层次型、关系型、面向对象型均可向对象型均可向对象型均可向对象型均可, ,甚至文件系统设计也照样可以遵甚至文件系统设计也照样可以遵甚至文件系统设计也照样可以遵甚至文件系统设计也照样可以遵循面向对象的思路。循面向对象的思路。循面向对象的思路。循面向对象的思路。n n面向对象的思路或称规范可以用于系统分析、面向对象的思路或称规范可以用于系统分析、面向对象的思路或称规范可以用于系统分析、面向对象的思

124、路或称规范可以用于系统分析、系统设计、程序设计系统设计、程序设计系统设计、程序设计系统设计、程序设计, ,也可以用于数据结构设计、也可以用于数据结构设计、也可以用于数据结构设计、也可以用于数据结构设计、数据库设计。数据库设计。数据库设计。数据库设计。3.4.1面向对象数据库及其基本面向对象数据库及其基本特征特征n n面向对象其实是现实世界模型的自然延面向对象其实是现实世界模型的自然延伸。现实世界中任何实体都可以看作是伸。现实世界中任何实体都可以看作是对象对象。对象之间通过。对象之间通过消息消息相互作用。另相互作用。另外,现实世界中任何实体都可归属于某外,现实世界中任何实体都可归属于某类事物,任

125、何对象都是某一类事物的类事物,任何对象都是某一类事物的实实例例。对象类对象类对象类对象类具有相同属性和服务的一组对象的集合具有相同属性和服务的一组对象的集合具有相同属性和服务的一组对象的集合具有相同属性和服务的一组对象的集合例化与实例例化与实例例化与实例例化与实例实例是某个特定的具体类所描述的一个具体的对象实例是某个特定的具体类所描述的一个具体的对象实例是某个特定的具体类所描述的一个具体的对象实例是某个特定的具体类所描述的一个具体的对象例化例化例化例化 用对象类定义其实例对象的过程,表明这个对象是用对象类定义其实例对象的过程,表明这个对象是用对象类定义其实例对象的过程,表明这个对象是用对象类定

126、义其实例对象的过程,表明这个对象是属于这个类的属于这个类的属于这个类的属于这个类的属性属性属性属性实体所具有的特性的抽象实体所具有的特性的抽象实体所具有的特性的抽象实体所具有的特性的抽象单值属性单值属性单值属性单值属性互斥属性互斥属性互斥属性互斥属性多值属性多值属性多值属性多值属性封装封装封装封装就是用一个自主式框架把对象的数据和方法联在就是用一个自主式框架把对象的数据和方法联在就是用一个自主式框架把对象的数据和方法联在就是用一个自主式框架把对象的数据和方法联在一起形成一个整体一起形成一个整体一起形成一个整体一起形成一个整体多态性多态性多态性多态性就是多种表现形式,具体来说,可以用就是多种表现

127、形式,具体来说,可以用就是多种表现形式,具体来说,可以用就是多种表现形式,具体来说,可以用“一个一个一个一个对外接口,多个内在实现方法对外接口,多个内在实现方法对外接口,多个内在实现方法对外接口,多个内在实现方法”表示。举一个例子,表示。举一个例子,表示。举一个例子,表示。举一个例子,计算机中的堆栈可以存储各种格式的数据,包括整计算机中的堆栈可以存储各种格式的数据,包括整计算机中的堆栈可以存储各种格式的数据,包括整计算机中的堆栈可以存储各种格式的数据,包括整型,浮点或字符。不管存储的是何种数据,堆栈的型,浮点或字符。不管存储的是何种数据,堆栈的型,浮点或字符。不管存储的是何种数据,堆栈的型,浮

128、点或字符。不管存储的是何种数据,堆栈的算法实现是一样的。算法实现是一样的。算法实现是一样的。算法实现是一样的。继承继承继承继承是指一个对象直接使用另一对象的属性和方法。是指一个对象直接使用另一对象的属性和方法。是指一个对象直接使用另一对象的属性和方法。是指一个对象直接使用另一对象的属性和方法。事实上,我们遇到的很多实体都有继承的含义。例事实上,我们遇到的很多实体都有继承的含义。例事实上,我们遇到的很多实体都有继承的含义。例事实上,我们遇到的很多实体都有继承的含义。例如,若把汽车看成一个实体,它可以分成多个子实如,若把汽车看成一个实体,它可以分成多个子实如,若把汽车看成一个实体,它可以分成多个子

129、实如,若把汽车看成一个实体,它可以分成多个子实体,如:卡车、公共汽车等。这些子实体都具有汽体,如:卡车、公共汽车等。这些子实体都具有汽体,如:卡车、公共汽车等。这些子实体都具有汽体,如:卡车、公共汽车等。这些子实体都具有汽车的特性,因此,汽车是它们的车的特性,因此,汽车是它们的车的特性,因此,汽车是它们的车的特性,因此,汽车是它们的 父亲父亲父亲父亲 ,而这些子,而这些子,而这些子,而这些子实体则是汽车的实体则是汽车的实体则是汽车的实体则是汽车的 孩子孩子孩子孩子 。消息消息消息消息 是对象之间唯一合法的动态联系途径,实是对象之间唯一合法的动态联系途径,实是对象之间唯一合法的动态联系途径,实是

130、对象之间唯一合法的动态联系途径,实现对象之间的交互作用现对象之间的交互作用现对象之间的交互作用现对象之间的交互作用事件事件事件事件 引起对象状态转换的控制信息,在一个时引起对象状态转换的控制信息,在一个时引起对象状态转换的控制信息,在一个时引起对象状态转换的控制信息,在一个时 间点上发生的事情间点上发生的事情间点上发生的事情间点上发生的事情3.4.2面向对象的分析和设计面向对象的分析和设计面向对象的分析和设计一般分为:面向对象的分析和设计一般分为:问题定义问题定义系统分析系统分析系统设计系统设计详细设计详细设计问题定义问题定义系统分析系统分析n n建立三个模型:建立三个模型:对象模型对象模型动

131、态模型动态模型功能模型功能模型系统分析系统分析对象模型对象模型定义了系统中实现功能的主体和它定义了系统中实现功能的主体和它们的静态与动态结构们的静态与动态结构(做事主体)(做事主体)通过标识对象类以及它们之间的关通过标识对象类以及它们之间的关系来反映对象系统的整体结构系来反映对象系统的整体结构归纳关系归纳关系组合关系组合关系关联关系关联关系系统分析系统分析动态模型动态模型对象在什么状态下接受什么事件的对象在什么状态下接受什么事件的触发,回答什么时候做的问题触发,回答什么时候做的问题(条件)(条件)将每个类的动态行为、不同的状态、将每个类的动态行为、不同的状态、触发状态的事件、对事件的响应用状态

132、触发状态的事件、对事件的响应用状态转换图表示出来。是基于事件共享而相转换图表示出来。是基于事件共享而相互关联的一组状态转换图的集合互关联的一组状态转换图的集合系统分析系统分析功能模型功能模型明确系统中功能的具体对象,说明明确系统中功能的具体对象,说明系统做什么(责任)系统做什么(责任)表示系统中信息的流动、变化与存表示系统中信息的流动、变化与存储,由一组数据流图组成储,由一组数据流图组成系统设计系统设计n n设计系统的体系结构设计系统的体系结构设计系统的体系结构设计系统的体系结构n n选择一个外部控制的实现方法选择一个外部控制的实现方法选择一个外部控制的实现方法选择一个外部控制的实现方法n n

133、选择数据管理方法和数据库管理模式选择数据管理方法和数据库管理模式选择数据管理方法和数据库管理模式选择数据管理方法和数据库管理模式n n确定重用范围确定重用范围确定重用范围确定重用范围n n选择数据交互的策略选择数据交互的策略选择数据交互的策略选择数据交互的策略n n选择一种对象标识方法选择一种对象标识方法选择一种对象标识方法选择一种对象标识方法n n处理临时数据处理临时数据处理临时数据处理临时数据n n处理辅助数据处理辅助数据处理辅助数据处理辅助数据详细设计详细设计n n使用变换简化和优化分析阶段的对象模型使用变换简化和优化分析阶段的对象模型n n补充漏掉的细节补充漏掉的细节n n详细设计模型

134、质量的评估详细设计模型质量的评估3.5地理信息元数据的设计地理信息元数据的设计3.5.1地理信息元数据确定的原则地理信息元数据确定的原则3.5.2地理信息元数据的主要内容地理信息元数据的主要内容3.5.3地理信息元数据的组织地理信息元数据的组织 对对于于空空间间元元数数据据标标准准内内容容的的研研究究,目目前前国国际上主要际上主要n n有欧洲标准化委员会(有欧洲标准化委员会(CEN/TC 287CEN/TC 287)n n美国联邦地理委员会(美国联邦地理委员会(FGDCFGDC)n n国国际际标标准准化化组组织织地地理理信信息息/ /地地球球信信息息技技术术委委员员会(会(ISO/TC 211

135、ISO/TC 211)空间元数据的定义空间元数据的定义 欧洲标准化委员会欧洲标准化委员会欧洲标准化委员会欧洲标准化委员会CEN/TC 287CEN/TC 287CEN/TC 287CEN/TC 287 “描描描描述述述述地地地地理理理理信信信信息息息息数数数数据据据据集集集集内内内内容容容容、表表表表示示示示、空空空空间间间间参参参参考、质量以及管理的数据考、质量以及管理的数据考、质量以及管理的数据考、质量以及管理的数据”美美美美国国国国联联联联邦邦邦邦地地地地理理理理数数数数据据据据委委委委员员员员会会会会FGDCFGDCFGDCFGDC和和和和国国国国际际际际标标标标准准准准化化化化组组组

136、组织织织织地地地地理理理理信息信息信息信息/ / / /地球信息委员会地球信息委员会地球信息委员会地球信息委员会ISO/TC 211ISO/TC 211ISO/TC 211ISO/TC 211 空空空空间间间间元元元元数数数数据据据据是是是是“关关关关于于于于数数数数据据据据的的的的内内内内容容容容、质质质质量量量量、条条条条件以及其它特征的数据件以及其它特征的数据件以及其它特征的数据件以及其它特征的数据”。总总的的来来说说,空空间间元元数数据据是是“关关于于数数据据的的数数据据”,它它在在地地理理信信息息中中用用于于描描述述地地理理数数据据集集的的内内容容、质质量量、表表达达方方式式、空空间

137、间参参考考、管管理理方方式式以以及及数数据据集集的的其其它它特特征征,它它是是实实现现地地理理空间信息共享的核心标准之一空间信息共享的核心标准之一。地理空间元数据与数据字典的地理空间元数据与数据字典的主要区别主要区别n n元元数数据据是是对对关关于于数数据据集集本本身身及及其其内内容容的的全全面面分分层层次次规规范范化化的的描描述述,且且任任何何数数据据集集的的元元数数据据描描述述格格式式和和内内容容都都是是相相同同的的,因因而而可可以以用用相相同同的的管管理理系系统统对对所所有有数数据据集集的的元元数数据据进行管理和维护;进行管理和维护;n n数数据据字字典典只只是是描描述述数数据据集集中中

138、的的部部分分内内容容,且且没没有有统统一一的的规规范范和和标标准准,不不同同数数据据集集生生产产者者只只是是根根据据不不同同需需求求对对数数据据集集内内容容作作出出描描述述或或说说明明,因因此此不不可可用用相相同同的的管管理理系系统统进进行行统统一的管理和维护。一的管理和维护。空间元数据主要有下列几个方空间元数据主要有下列几个方面的作用面的作用n n (1 1)用用来来组组织织和和管管理理空空间间信信息息,并并挖挖掘掘空空间间信信息息资资源源,这这正正是是数数字字地地球球的的特特点点和和优优点点所所在在。通通过过它它可可以以在在InternetInternet上上准准确地识别、定位和访问空间信

139、息。确地识别、定位和访问空间信息。n n (2 2)帮助数据所有者查询所需空间信)帮助数据所有者查询所需空间信息。比如,它可以按照不同的地理区间、息。比如,它可以按照不同的地理区间、指定的语言以及具体的时间段来查找空间指定的语言以及具体的时间段来查找空间信息资源。信息资源。n n(3 3)维护和延续一个机构对数据的投资。)维护和延续一个机构对数据的投资。空间元数据可以确保一个机构对数据投资空间元数据可以确保一个机构对数据投资的安全的安全 n n(4 4)用来建立空间信息的数据目录和数据)用来建立空间信息的数据目录和数据交换中心交换中心 n n(5 5)提供数据转换方面的信息。在未来的)提供数据

140、转换方面的信息。在未来的空间信息中,均应当包含空间元数据信息,空间信息中,均应当包含空间元数据信息,以便使用户在获取包含空间信息数据集的以便使用户在获取包含空间信息数据集的同时就可以得到空间元数据信息同时就可以得到空间元数据信息空间元数据的应用现状空间元数据的应用现状 目目前前对对于于地地理理空空间间元元数数据据的的应应用用需需求求主主要要集集中中在在目目录录、历历史史记记录录、地地理理空空间间数数据据集集内内部以及可读性等部以及可读性等4 4个方面。个方面。 其其具具体体的的实实施施应应用用,关关键键是是在在获获取取和和整整理理地地理理空空间间数数据据的的同同时时,要要严严格格按按照照地地理

141、理空空间间元元数数据据的的标标准准规规范范,建建立立该该数数据据集集的的元元数数据据和和建建立立相相应应的的元元数数据据管管理理系系统统,并并向向上上一一级级数数据据交交换换中中心心提提供供该该数数据据集集的的元元数数据据标标准准规规范。范。空间元数据的分类空间元数据的分类 按按照照MetadataMetadata所所描描述述的的数数据据内内容容,MetadataMetadata可可分分为为数数据据系系列列MetadataMetadata、数数据据集集MetadataMetadata、要要素素类类型型和和要要素素实实例例MetadataMetadata、 属属 性性 类类 型型 和和 属属 性

142、性 实实 例例MetadataMetadata。3.5.1地理信息元数据确定的原则地理信息元数据确定的原则n n完整性完整性n n准确性准确性n n结构性结构性n n与其他标准的一致性与其他标准的一致性3.5.2地理信息元数据的主要内容地理信息元数据的主要内容n n标识信息标识信息n n数据质量信息数据质量信息n n空间参照系统信息空间参照系统信息n n内容信息内容信息n n核心元数据参考信息核心元数据参考信息3.5.3地理信息元数据的组织地理信息元数据的组织n n按照元素性质来组织按照元素性质来组织n n按照功能来组织按照功能来组织n n按照使用范围来组织按照使用范围来组织n n按照重要程度

143、来组织按照重要程度来组织3.6基于基于Geodatabase的数据库的数据库设计设计3.6.1Geodatabase数据模型数据模型3.6.2Geodatabase数据库设计数据库设计3.6.3广东省佛山市南海区土地利用数据库设计广东省佛山市南海区土地利用数据库设计n nGeodatabaseGeodatabase是是是是ESRIESRI公司在公司在公司在公司在ArcGIS8ArcGIS8引入的一个全新引入的一个全新引入的一个全新引入的一个全新的空间数据模型,是建立在关系型数据库管理信息系的空间数据模型,是建立在关系型数据库管理信息系的空间数据模型,是建立在关系型数据库管理信息系的空间数据模型

144、,是建立在关系型数据库管理信息系统之上的统一的、智能化的空间数据库。它是在新的统之上的统一的、智能化的空间数据库。它是在新的统之上的统一的、智能化的空间数据库。它是在新的统之上的统一的、智能化的空间数据库。它是在新的一体化数据存储技术的基础上发展起来的新数据模型一体化数据存储技术的基础上发展起来的新数据模型一体化数据存储技术的基础上发展起来的新数据模型一体化数据存储技术的基础上发展起来的新数据模型n n实现了实现了实现了实现了GeodatabaseGeodatabase之前所有(包括之前所有(包括之前所有(包括之前所有(包括CoverageshapeCoverageshape)空间数据模型都无

145、法完成的数据统一管理,即在一个空间数据模型都无法完成的数据统一管理,即在一个空间数据模型都无法完成的数据统一管理,即在一个空间数据模型都无法完成的数据统一管理,即在一个公共模型框架下对公共模型框架下对公共模型框架下对公共模型框架下对GISGIS通常所处理和表达的地理空间通常所处理和表达的地理空间通常所处理和表达的地理空间通常所处理和表达的地理空间特征如矢量、栅格、特征如矢量、栅格、特征如矢量、栅格、特征如矢量、栅格、TINTIN、网络、地址进行同一描述、网络、地址进行同一描述、网络、地址进行同一描述、网络、地址进行同一描述n n同时,同时,同时,同时,GeodatabaseGeodatabas

146、e是面向对象的地理数据模型,其地是面向对象的地理数据模型,其地是面向对象的地理数据模型,其地是面向对象的地理数据模型,其地理空间特征的表达较之以往的模型更接近我们对现实理空间特征的表达较之以往的模型更接近我们对现实理空间特征的表达较之以往的模型更接近我们对现实理空间特征的表达较之以往的模型更接近我们对现实事物对象的认识和表达。事物对象的认识和表达。事物对象的认识和表达。事物对象的认识和表达。3.6.1Geodatabase数据模型数据模型 GeodatabaseGeodatabase中的信息类型:中的信息类型:中的信息类型:中的信息类型:表表表表对象类对象类对象类对象类要素类要素类要素类要素类

147、子类子类子类子类要素数据集要素数据集要素数据集要素数据集关系关系关系关系拓扑关系拓扑关系拓扑关系拓扑关系几何网络几何网络几何网络几何网络栅格数据集栅格数据集栅格数据集栅格数据集元数据元数据元数据元数据Geodatabase数据模型的优势数据模型的优势(1)所有的图形数据和属性数据统一存储)所有的图形数据和属性数据统一存储在商业在商业DBMS中中(2)便于使用)便于使用DBMS支持的多用户并发访支持的多用户并发访问、事务管理、失败事务恢复等机制问、事务管理、失败事务恢复等机制(3)支持智能化的要素、规则和关系)支持智能化的要素、规则和关系(4)完善的用户支持)完善的用户支持3.6.2Geodat

148、abase数据库设计数据库设计设计的内容设计的内容设计的步骤设计的步骤设计的内容设计的内容规定构成数据库的要素类、栅格数规定构成数据库的要素类、栅格数据集、其他表,以及表之间的各种关系。据集、其他表,以及表之间的各种关系。设计的步骤设计的步骤1.1.数据的用户视图建模。和用户交流,数据的用户视图建模。和用户交流,数据的用户视图建模。和用户交流,数据的用户视图建模。和用户交流, 了解用户了解用户了解用户了解用户结构,解析用护的业务模型。结构,解析用护的业务模型。结构,解析用护的业务模型。结构,解析用护的业务模型。2.2.定义对象和关联。使用对象集和创建逻辑数据模定义对象和关联。使用对象集和创建逻

149、辑数据模定义对象和关联。使用对象集和创建逻辑数据模定义对象和关联。使用对象集和创建逻辑数据模型,并定义它们之间的关联。型,并定义它们之间的关联。型,并定义它们之间的关联。型,并定义它们之间的关联。3.3.选择地理描述方式。对有意义的数据采用确切的选择地理描述方式。对有意义的数据采用确切的选择地理描述方式。对有意义的数据采用确切的选择地理描述方式。对有意义的数据采用确切的描述方式,如矢量、栅格、表面或描述方式,如矢量、栅格、表面或描述方式,如矢量、栅格、表面或描述方式,如矢量、栅格、表面或LocatorLocator。4.4.与与与与GeodatabaseGeodatabase 元素匹配。将逻辑

150、模型中的对象元素匹配。将逻辑模型中的对象元素匹配。将逻辑模型中的对象元素匹配。将逻辑模型中的对象与与与与GeodatabaseGeodatabase 中的元素互相匹配起来。中的元素互相匹配起来。中的元素互相匹配起来。中的元素互相匹配起来。5.5.组织组织组织组织GeodatabaseGeodatabase 结构。考虑地图专题、拓扑关结构。考虑地图专题、拓扑关结构。考虑地图专题、拓扑关结构。考虑地图专题、拓扑关联以及不同用户部门对数据的需求,创建联以及不同用户部门对数据的需求,创建联以及不同用户部门对数据的需求,创建联以及不同用户部门对数据的需求,创建GeodatabaseGeodatabase。 3.6.3广东省佛山市南海区土地广东省佛山市南海区土地利用数据库设计利用数据库设计n n数据分层数据分层n n数据组织数据组织

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号