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

上传人:202****8-1 文档编号:241298300 上传时间:2024-06-16 格式:PPT 页数:184 大小:810.81KB
返回 下载 相关 举报
第3章-GIS数据库设计与建立重点课件_第1页
第1页 / 共184页
第3章-GIS数据库设计与建立重点课件_第2页
第2页 / 共184页
第3章-GIS数据库设计与建立重点课件_第3页
第3页 / 共184页
点击查看更多>>
资源描述
第第3章章GIS数据库设计与建立数据库设计与建立第3章GIS数据库设计与建立1主要内容主要内容3.1GIS数据库设计概述数据库设计概述3.2GIS数据库的概念设计数据库的概念设计3.3关系型数据库设计关系型数据库设计3.4面向对象的数据库设计面向对象的数据库设计3.5地理信息元数据的设计地理信息元数据的设计3.6基于基于Geodatabase的数据库设计的数据库设计3.7空间数据采集建库空间数据采集建库主要内容3.1GIS数据库设计概述2数据库设计的特点数据库设计的特点n n数据库建设是硬件、软件和干件的结合数据库建设是硬件、软件和干件的结合数据库建设是硬件、软件和干件的结合数据库建设是硬件、软件和干件的结合uu三分技术,七分管理,十二分基础数据三分技术,七分管理,十二分基础数据三分技术,七分管理,十二分基础数据三分技术,七分管理,十二分基础数据uu技术与管理的界面称之为技术与管理的界面称之为技术与管理的界面称之为技术与管理的界面称之为“干件干件干件干件”n n 数据库设计应该与应用系统设计相结合数据库设计应该与应用系统设计相结合数据库设计应该与应用系统设计相结合数据库设计应该与应用系统设计相结合uu结构(数据)设计:设计数据库框架或数据结构(数据)设计:设计数据库框架或数据结构(数据)设计:设计数据库框架或数据结构(数据)设计:设计数据库框架或数据库结构库结构库结构库结构uu行为(处理)设计:设计应用程序、事务处行为(处理)设计:设计应用程序、事务处行为(处理)设计:设计应用程序、事务处行为(处理)设计:设计应用程序、事务处理等理等理等理等数据库设计的特点数据库建设是硬件、软件和干件的结合3n n结构和行为分离的设计结构和行为分离的设计uu传统的软件工程忽视对应用中数据语义的分传统的软件工程忽视对应用中数据语义的分传统的软件工程忽视对应用中数据语义的分传统的软件工程忽视对应用中数据语义的分析和抽象,只要有可能就尽量推迟数据结构析和抽象,只要有可能就尽量推迟数据结构析和抽象,只要有可能就尽量推迟数据结构析和抽象,只要有可能就尽量推迟数据结构设计的决策设计的决策设计的决策设计的决策uu早期的数据库设计致力于数据模型和建模方早期的数据库设计致力于数据模型和建模方早期的数据库设计致力于数据模型和建模方早期的数据库设计致力于数据模型和建模方法研究,忽视了对行为的设计法研究,忽视了对行为的设计法研究,忽视了对行为的设计法研究,忽视了对行为的设计结构和行为分离的设计43.1GIS数据库设计概述数据库设计概述3.1.1GIS数据库设计的内容数据库设计的内容3.1.2数据库设计目标数据库设计目标3.1GIS数据库设计概述3.1.1GIS数据库设计的内53.1.1GIS数据库设计的内容数据库设计的内容数据库设计过程及其文档数据库设计过程及其文档系统需求分析概念设计实现设计物理设计需求说明书ER 模型逻辑数据库结构物理数据库结构3.1.1GIS数据库设计的内容数据库设计过程及其文档系6现实世界现实世界概念模型设计概念模型设计子模式设计子模式设计物理数据库设计物理数据库设计逻辑数据库设计逻辑数据库设计建立数据库建立数据库数据分析数据分析功能分析功能分析功能模型功能模型功能说明功能说明事务设计事务设计程序说明程序说明应用程序设计应用程序设计程序编码调试程序编码调试现实世界概念模型设计子模式设计物理数据库设计逻辑数据库设计建7设设 计计阶阶段段设设计计描描述述数数据据处处理理需需 求求分分析析数据字典、全系统中数据项、数据字典、全系统中数据项、数据流、数据存储的描述数据流、数据存储的描述数数据据流流图图和和判判定定表表(判判定定树树)、数数据据字典中处理过程的描述字典中处理过程的描述概念模型(概念模型(E-R图)图)数据字典数据字典系统说明书包括:系统说明书包括:新系统要求、新系统要求、方案和概图方案和概图反映新系统信息反映新系统信息流的数据流图流的数据流图某种数据模型某种数据模型关系关系非关系非关系系统结构图系统结构图(模块结构)(模块结构)存储安排存储安排方法选择方法选择存取路径建立存取路径建立模块设计模块设计IPO表表实施实施阶段阶段编写模式编写模式装入数据装入数据数据库试运行数据库试运行程序编码、程序编码、编译联结、编译联结、测试测试运运行行、维护维护性能监测、转储性能监测、转储/恢复恢复数据库重组和重构数据库重组和重构新新旧旧系系统统转转换换、运运行行、维维护护(修修正正性、适应性、改善性维护)性、适应性、改善性维护)概念概念结构结构设计设计逻辑逻辑结构结构设计设计物理设计物理设计设计阶段83.1.2数据库设计目标数据库设计目标满足用户需求满足用户需求良好的数据库性能良好的数据库性能准确模拟现实世界准确模拟现实世界能够被某个数据库管理系统接受能够被某个数据库管理系统接受3.1.2数据库设计目标满足用户需求93.2GIS数据库的概念设计数据库的概念设计3.2.1概念设计的一般步骤与方法概念设计的一般步骤与方法3.2.2实体实体-联系模型(联系模型(E-R)3.2.3实体实体-联系扩展模型(联系扩展模型(EER)3.2.4E-R模型设计步骤与方法模型设计步骤与方法3.2.5E-R模型的操作模型的操作3.2.6空间数据分层空间数据分层3.2GIS数据库的概念设计3.2.1概念设计的一般步骤10什么是概念结构?什么是概念结构?n n面向用户的模型,按照用户的观点,对面向用户的模型,按照用户的观点,对数据和信息进行抽象建模。数据和信息进行抽象建模。什么是概念结构?面向用户的模型,按照用户的观点,对数据和信息11什么是概念结构设计什么是概念结构设计uu需求分析阶段描述的用户应用需求是现实世需求分析阶段描述的用户应用需求是现实世需求分析阶段描述的用户应用需求是现实世需求分析阶段描述的用户应用需求是现实世界的具体需求界的具体需求界的具体需求界的具体需求uu将需求分析得到的用户需求抽象为信息结构将需求分析得到的用户需求抽象为信息结构将需求分析得到的用户需求抽象为信息结构将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计即概念模型的过程就是概念结构设计即概念模型的过程就是概念结构设计即概念模型的过程就是概念结构设计uu概念结构是各种数据模型的共同基础,它比概念结构是各种数据模型的共同基础,它比概念结构是各种数据模型的共同基础,它比概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加数据模型更独立于机器、更抽象,从而更加数据模型更独立于机器、更抽象,从而更加数据模型更独立于机器、更抽象,从而更加稳定。稳定。稳定。稳定。uu概念结构设计是整个数据库设计的关键概念结构设计是整个数据库设计的关键概念结构设计是整个数据库设计的关键概念结构设计是整个数据库设计的关键什么是概念结构设计需求分析阶段描述的用户应用需求是现实世界12概念结构设计的特点概念结构设计的特点(1 1)能真实、充分地反映现实世界,包括事物)能真实、充分地反映现实世界,包括事物)能真实、充分地反映现实世界,包括事物)能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理和事物之间的联系,能满足用户对数据的处理和事物之间的联系,能满足用户对数据的处理和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。要求。是对现实世界的一个真实模型。要求。是对现实世界的一个真实模型。要求。是对现实世界的一个真实模型。(2 2)易于理解,从而可以用它和不熟悉计算机)易于理解,从而可以用它和不熟悉计算机)易于理解,从而可以用它和不熟悉计算机)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的的用户交换意见,用户的积极参与是数据库的的用户交换意见,用户的积极参与是数据库的的用户交换意见,用户的积极参与是数据库的设计成功的关键。设计成功的关键。设计成功的关键。设计成功的关键。概念结构设计的特点(1)能真实、充分地反映现实世界,包括事13(3 3)易于更改,当应用环境和应用要求改变时,)易于更改,当应用环境和应用要求改变时,)易于更改,当应用环境和应用要求改变时,)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。容易对概念模型修改和扩充。容易对概念模型修改和扩充。容易对概念模型修改和扩充。(4 4)易于向关系、网状、层次等各种数据模型)易于向关系、网状、层次等各种数据模型)易于向关系、网状、层次等各种数据模型)易于向关系、网状、层次等各种数据模型转换。转换。转换。转换。(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修143.2.1概念设计的一般步骤与方法概念设计的一般步骤与方法方法:方法:自顶向下自顶向下自底向上自底向上逐步扩张逐步扩张混合策略混合策略步骤:步骤:抽象数据并设计局部视图,集成局部抽象数据并设计局部视图,集成局部视图,得到全局的概念结构视图,得到全局的概念结构3.2.1概念设计的一般步骤与方法方法:15第3章-GIS数据库设计与建立重点课件16第3章-GIS数据库设计与建立重点课件17第3章-GIS数据库设计与建立重点课件183.2.2实体实体-联系模型(联系模型(E-R)实体实体-联系模型(简称联系模型(简称E-R模型)是模型)是由由P.P.Chen于于1976年首先提出的。它提年首先提出的。它提供不受任何供不受任何DBMS约束的面向用户的表约束的面向用户的表达方法,在数据库设计中被广泛用作数达方法,在数据库设计中被广泛用作数据建模的工具。据建模的工具。E-R数据模型问世后,数据模型问世后,经历了许多修改和扩充,这里仅介绍基经历了许多修改和扩充,这里仅介绍基本的本的E-R数据模型。数据模型。3.2.2实体-联系模型(E-R)19E-R模型的结构模型的结构E-RE-R模型的构成成分是实体集、属性和联系集,模型的构成成分是实体集、属性和联系集,模型的构成成分是实体集、属性和联系集,模型的构成成分是实体集、属性和联系集,其表示方法如下:其表示方法如下:其表示方法如下:其表示方法如下:(1 1)实体集用矩形框表示,矩形框内写上实实体集用矩形框表示,矩形框内写上实实体集用矩形框表示,矩形框内写上实实体集用矩形框表示,矩形框内写上实体名。体名。体名。体名。(2 2)实体的属性用椭圆框表示,框内写上属实体的属性用椭圆框表示,框内写上属实体的属性用椭圆框表示,框内写上属实体的属性用椭圆框表示,框内写上属性名,并用无向边与其实体集相连。性名,并用无向边与其实体集相连。性名,并用无向边与其实体集相连。性名,并用无向边与其实体集相连。(3 3)实体间的联系用菱形框表示,联系以适实体间的联系用菱形框表示,联系以适实体间的联系用菱形框表示,联系以适实体间的联系用菱形框表示,联系以适当的含义命名,名字写在菱形框中,用无向连线将当的含义命名,名字写在菱形框中,用无向连线将当的含义命名,名字写在菱形框中,用无向连线将当的含义命名,名字写在菱形框中,用无向连线将参加联系的实体矩形框分别与菱形框相连,并在连参加联系的实体矩形框分别与菱形框相连,并在连参加联系的实体矩形框分别与菱形框相连,并在连参加联系的实体矩形框分别与菱形框相连,并在连线上标明联系的类型,即线上标明联系的类型,即线上标明联系的类型,即线上标明联系的类型,即1111、1M1M或或或或MMMM。E-R模型的结构E-R模型的构成20控制控制图斑图斑行政单位块面积行政单位块面积面积面积 联系的属性联系的属性图斑图斑图斑号图斑号地类号地类号毛面积毛面积净面积净面积线状地物线状地物零星地类零星地类 实体的属性实体的属性控制图斑行政单位块面积面积联系的属性图斑图斑号地类号213.2.3实体实体-联系扩展模型(联系扩展模型(EER)EER模型是在标准模型是在标准E-R模型的基础模型的基础上增加了一些新的要素,这些扩展包括上增加了一些新的要素,这些扩展包括子类、超类等新的构造。子类、超类等新的构造。3.2.3实体-联系扩展模型(EER)22姓名编号职称地址员工秘书业务员研究人员打字速度业绩研究项目d父类子类姓名编号职称地址员工秘书业务员研究人员打字速度业绩研究项目d233.2.4E-R模型设计步骤与方法模型设计步骤与方法n n设计局部的设计局部的E-R模型模型n n设计全局的设计全局的E-R模型模型n n全局全局E-R模型的优化模型的优化3.2.4E-R模型设计步骤与方法设计局部的E-R模型24设计局部的设计局部的E-R模型模型n n数据抽象数据抽象n n局部视图设计局部视图设计选择局部应用选择局部应用选择局部应用选择局部应用逐一设计分逐一设计分逐一设计分逐一设计分E-RE-R模型模型模型模型设计局部的E-R模型数据抽象25设计全局的设计全局的E-R模型模型概述:概述:视图集成的方式视图集成的方式视图集成的步骤视图集成的步骤集成的概念与方法:等同、聚合、抽取集成的概念与方法:等同、聚合、抽取设计全局的E-R模型概述:26第3章-GIS数据库设计与建立重点课件27设计全局的设计全局的E-R模型模型-合并分合并分E-R图,生成初步的图,生成初步的E-R图图n n消除冲突:消除冲突:属性冲突属性冲突命名冲突命名冲突结构冲突结构冲突设计全局的E-R模型-合并分E-R图,生成初步的E-R28设计全局的设计全局的E-R模型模型-消除不必要的冗余,设计基本的消除不必要的冗余,设计基本的E-R图,图,n n分析方法分析方法n n规范化理论规范化理论设计全局的E-R模型-消除不必要的冗余,设计基本的E-29分析方法分析方法uu以数据字典和数据流图为依据,根据以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系数据字典中关于数据项之间逻辑关系的说明来消除冗余。的说明来消除冗余。分析方法以数据字典和数据流图为依据,根据数据字典中关于数据项30例,教师工资单中包括该教师的基本工资、各例,教师工资单中包括该教师的基本工资、各例,教师工资单中包括该教师的基本工资、各例,教师工资单中包括该教师的基本工资、各种补贴、应扣除的房租水电费以及实发工资。种补贴、应扣除的房租水电费以及实发工资。种补贴、应扣除的房租水电费以及实发工资。种补贴、应扣除的房租水电费以及实发工资。由于实发工资可以由前面各项推算出来,因此由于实发工资可以由前面各项推算出来,因此由于实发工资可以由前面各项推算出来,因此由于实发工资可以由前面各项推算出来,因此可以去掉,在需要查询实发工资时根据基本工可以去掉,在需要查询实发工资时根据基本工可以去掉,在需要查询实发工资时根据基本工可以去掉,在需要查询实发工资时根据基本工资、各种补贴、应扣除的房租水电费数据临时资、各种补贴、应扣除的房租水电费数据临时资、各种补贴、应扣除的房租水电费数据临时资、各种补贴、应扣除的房租水电费数据临时生成。生成。生成。生成。例,教师工资单中包括该教师的基本工资、各种补贴、应扣除的房31规范化理论规范化理论uu函数依赖的概念提供了消除冗余联系函数依赖的概念提供了消除冗余联系的形式化工具的形式化工具规范化理论函数依赖的概念提供了消除冗余联系的形式化工具32确定分确定分E-R图实体之间的数据依赖图实体之间的数据依赖FL。实体之间一对一、一对多、多对。实体之间一对一、一对多、多对多的联系可以用实体码之间的函数依多的联系可以用实体码之间的函数依赖来表示。赖来表示。例:例:班级和学生之间一对多的联系:班级和学生之间一对多的联系:学号学号班级号班级号学生和课程之间多对多的联系:学生和课程之间多对多的联系:(学号,课程号)(学号,课程号)成绩成绩确定分E-R图实体之间的数据依赖FL33求求FL的最小覆盖的最小覆盖GL,差集为,差集为 D=FL-GL。逐一考察逐一考察D中的函数依赖,确定是否是中的函数依赖,确定是否是冗余的联系,若是,就把它去掉。冗余的联系,若是,就把它去掉。求FL的最小覆盖GL,差集为343.2.5E-R模型的操作模型的操作n n实体实体/联系(类型)的分裂与合并联系(类型)的分裂与合并n n实体实体/联系(类型)的增加与删除联系(类型)的增加与删除n n实体实体/联系(类型)的转位联系(类型)的转位3.2.5E-R模型的操作实体/联系(类型)的分裂与合并353.2.6空间数据分层空间数据分层n n三个依据三个依据n n两个因素两个因素n n一些原则一些原则3.2.6空间数据分层三个依据363.3关系型数据库设计关系型数据库设计3.3.1关系模型的基本概念关系模型的基本概念3.3.2关系数据库设计理论关系数据库设计理论3.3.3关系数据库设计步骤与方法关系数据库设计步骤与方法3.3关系型数据库设计3.3.1关系模型的基本概念37关系数据库简介关系数据库简介n n系系系系统统统统而而而而严严严严格格格格地地地地提提提提出出出出关关关关系系系系模模模模型型型型的的的的是是是是美美美美国国国国IBM公公公公司司司司的的的的E.F.Codduu19701970年提出关系数据模型年提出关系数据模型年提出关系数据模型年提出关系数据模型t tE.F.Codd,E.F.Codd,“A“A RelationalRelational ModelModel ofof DataDataforforLargeLargeSharedSharedDataDataBanks”,Banks”,CommunicationoftheACMCommunicationoftheACM,1970,1970uu之后,提出了关系代数和关系演算的概念之后,提出了关系代数和关系演算的概念之后,提出了关系代数和关系演算的概念之后,提出了关系代数和关系演算的概念uu19721972年提出了关系的第一、第二、第三范式年提出了关系的第一、第二、第三范式年提出了关系的第一、第二、第三范式年提出了关系的第一、第二、第三范式uu19741974年提出了关系的年提出了关系的年提出了关系的年提出了关系的BC范式范式范式范式关系数据库简介系统而严格地提出关系模型的是美国IBM公司的E38n n关关系系数数据据模模型型是是一一种种数数学学化化的的模模型型,关关系系数数据据库库应应用用数数学学方方法法来来处处理理数数据据库库中中的数据的数据n n80年年代代后后,关关系系数数据据库库系系统统成成为为最最重重要要、最流行的数据库系统最流行的数据库系统关系数据模型是一种数学化的模型,关系数据库应用数学方法来处理39n n典型实验系统典型实验系统uuSystem RuuUniversity INGRESn n典型商用系统典型商用系统uuORACLEuuSYBASEuuINFORMIXuuDB2uuINGRES典型实验系统403.3.1关系模型的基本概念关系模型的基本概念关系关系:规范化了二维表:规范化了二维表RecNo RecNo RecNo RecNo StudID StudID StudID StudID Name Name Name Name Sex Sex Sex Sex Birthday Birthday Birthday Birthday EntrancescoEntrancescoEntrancescoEntrancescore re re re 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-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-80 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 3.3.1关系模型的基本概念关系:规范化了二维表RecN41n n域域域域是一组具有相同数据类型的值的集合。例是一组具有相同数据类型的值的集合。例是一组具有相同数据类型的值的集合。例是一组具有相同数据类型的值的集合。例:t t整数整数t t实数实数t t介于某个取值范围的整数介于某个取值范围的整数t t长度指定长度的字符串集合长度指定长度的字符串集合t t男男,女女t t介于某个取值范围的日期介于某个取值范围的日期域是一组具有相同数据类型的值的集合。例:42n n基本关系的性质基本关系的性质列是同质的(列是同质的(Homogeneous)每每一一列列中中的的分分量量是是同同一一类类型型的的数数据据,来来自同一个域自同一个域不同的列可出自同一个域不同的列可出自同一个域其中的每一列称为一个属性其中的每一列称为一个属性不同的属性要给予不同的属性名不同的属性要给予不同的属性名基本关系的性质43举例:举例:举例:44人(人(人(人(PERSONPERSONPERSONPERSON)=张清玫,刘逸,李勇,刘晨,王敏张清玫,刘逸,李勇,刘晨,王敏张清玫,刘逸,李勇,刘晨,王敏张清玫,刘逸,李勇,刘晨,王敏专业(专业(专业(专业(SPECIALITYSPECIALITYSPECIALITYSPECIALITY)=计算机专业,信息专业计算机专业,信息专业计算机专业,信息专业计算机专业,信息专业 SAPSAPSAPSAP关关关关系系系系的的的的导导导导师师师师属属属属性性性性和和和和研研研研究究究究生生生生属属属属性性性性都都都都从从从从PERSONPERSONPERSONPERSON域域域域中中中中取取取取值值值值。为为为为了了了了避避避避免免免免混混混混淆淆淆淆,必必必必须须须须给给给给这这这这两两两两个个个个属属属属性性性性取取取取不不不不同同同同的的的的属属属属性性性性名名名名,而而而而不不不不能能能能直接使用域名。直接使用域名。直接使用域名。直接使用域名。如定义如定义如定义如定义:导师属性名为导师属性名为导师属性名为导师属性名为SUPERVISOR-PERSONSUPERVISOR-PERSONSUPERVISOR-PERSONSUPERVISOR-PERSON(或(或(或(或SUPERVISORSUPERVISORSUPERVISORSUPERVISOR)研究生属性名为研究生属性名为研究生属性名为研究生属性名为POSTGRADUATE-PERSONPOSTGRADUATE-PERSONPOSTGRADUATE-PERSONPOSTGRADUATE-PERSON(或(或(或(或POSTGRADUATEPOSTGRADUATEPOSTGRADUATEPOSTGRADUATE)第3章-GIS数据库设计与建立重点课件45列的顺序无所谓列的顺序无所谓列的次序可以任意交换。遵循这一性质的列的次序可以任意交换。遵循这一性质的列的次序可以任意交换。遵循这一性质的列的次序可以任意交换。遵循这一性质的数据库产品数据库产品数据库产品数据库产品(如如如如ORACLE)ORACLE),增加新属性时,永,增加新属性时,永,增加新属性时,永,增加新属性时,永远是插至最后一列但也有许多关系数据库产品远是插至最后一列但也有许多关系数据库产品远是插至最后一列但也有许多关系数据库产品远是插至最后一列但也有许多关系数据库产品没有遵循这一性质,例如没有遵循这一性质,例如没有遵循这一性质,例如没有遵循这一性质,例如FoxProFoxPro仍然区分了属仍然区分了属仍然区分了属仍然区分了属性顺序。性顺序。性顺序。性顺序。列的顺序无所谓46 任意两个元组不能完全相同任意两个元组不能完全相同但许多关系数据库产品没有遵循这一性质。但许多关系数据库产品没有遵循这一性质。但许多关系数据库产品没有遵循这一性质。但许多关系数据库产品没有遵循这一性质。例例例例如如如如:Oracle:Oracle,FoxProFoxPro等等等等都都都都允允允允许许许许关关关关系系系系表表表表中中中中存存存存在在在在两两两两个个个个完完完完全全全全相相相相同同同同的的的的元元元元组组组组,除除除除非非非非用用用用户户户户特特特特别别别别定定定定义义义义了相应的约束条件。了相应的约束条件。了相应的约束条件。了相应的约束条件。任意两个元组不能完全相同47 行的顺序无所谓行的顺序无所谓 行的次序可以任意交换行的次序可以任意交换行的次序可以任意交换行的次序可以任意交换 遵遵遵遵循循循循这这这这一一一一性性性性质质质质的的的的数数数数据据据据库库库库产产产产品品品品(如如如如ORACLE)ORACLE)ORACLE)ORACLE),插插插插入入入入一一一一个个个个元元元元组组组组时时时时永永永永远远远远插插插插至至至至最最最最后后后后一一一一行行行行但但但但也也也也有有有有许许许许多多多多关关关关系系系系数数数数据据据据库库库库产产产产品品品品没没没没有有有有遵遵遵遵循循循循这这这这一一一一性性性性质质质质,例例例例如如如如FoxProFoxProFoxProFoxPro仍然区分了元组的顺序仍然区分了元组的顺序仍然区分了元组的顺序仍然区分了元组的顺序行的顺序无所谓48 分量必须取原子值分量必须取原子值每一个分量都必须是不可分的数据项。这每一个分量都必须是不可分的数据项。这每一个分量都必须是不可分的数据项。这每一个分量都必须是不可分的数据项。这是规范条件中最基本的一条是规范条件中最基本的一条是规范条件中最基本的一条是规范条件中最基本的一条分量必须取原子值49主键(码)主键(码)若关系中的某一属性组的值能唯一地标识若关系中的某一属性组的值能唯一地标识若关系中的某一属性组的值能唯一地标识若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码一个元组,则称该属性组为候选码一个元组,则称该属性组为候选码一个元组,则称该属性组为候选码在最简单的情况下,候选码只包含一个属性在最简单的情况下,候选码只包含一个属性在最简单的情况下,候选码只包含一个属性在最简单的情况下,候选码只包含一个属性在最极端的情况下,关系模式的所有属性组在最极端的情况下,关系模式的所有属性组在最极端的情况下,关系模式的所有属性组在最极端的情况下,关系模式的所有属性组是这个关系模式的候选码,称为全码(是这个关系模式的候选码,称为全码(是这个关系模式的候选码,称为全码(是这个关系模式的候选码,称为全码(All-All-keykey)主键(码)50主码主码若若若若一一一一个个个个关关关关系系系系有有有有多多多多个个个个候候候候选选选选码码码码,则则则则选选选选定定定定其其其其中中中中一一一一个个个个为为为为主主主主码码码码(Primary keyPrimary keyPrimary keyPrimary key)主码的诸属性称为主属性(主码的诸属性称为主属性(主码的诸属性称为主属性(主码的诸属性称为主属性(Prime attributePrime attributePrime attributePrime attribute)不包含在任何侯选码中的属性称为非码属性不包含在任何侯选码中的属性称为非码属性不包含在任何侯选码中的属性称为非码属性不包含在任何侯选码中的属性称为非码属性(Non-key attributeNon-key attributeNon-key attributeNon-key attribute)主码51主键(码)的性质:主键(码)的性质:唯一性唯一性非冗余性非冗余性有效性有效性主键(码)的性质:52外键外键A AB BC CD DE EA AR1R2外键ABCDEAR1R253关系模式:关系模式:关系模式(关系模式(RelationSchema)是型)是型关系是值关系是值关系模式是对关系的描述关系模式是对关系的描述元组集合的结构元组集合的结构属性构成属性构成属性构成属性构成属性来自的域属性来自的域属性来自的域属性来自的域属性与域之间的映象关系属性与域之间的映象关系属性与域之间的映象关系属性与域之间的映象关系元组语义以及完整性约束条件元组语义以及完整性约束条件属性间的数据依赖关系集合属性间的数据依赖关系集合关系模式:54关系模式可以形式化地表示为:关系模式可以形式化地表示为:R(U,D,dom,F)R 关系名关系名U组成该关系的属性名集合组成该关系的属性名集合D属性组属性组U中属性所来自的域中属性所来自的域dom属性向域的映象集合属性向域的映象集合F属性间的数据依赖关系集合属性间的数据依赖关系集合关系模式可以形式化地表示为:55例例例例:导师和研究生出自同一个域导师和研究生出自同一个域导师和研究生出自同一个域导师和研究生出自同一个域人,人,人,人,取不同的属性名,并在模式中定义属性向域取不同的属性名,并在模式中定义属性向域取不同的属性名,并在模式中定义属性向域取不同的属性名,并在模式中定义属性向域的映象,即说明它们分别出自哪个域:的映象,即说明它们分别出自哪个域:的映象,即说明它们分别出自哪个域:的映象,即说明它们分别出自哪个域:domdom(SUPERVISOR-PERSONSUPERVISOR-PERSON)=dom=dom(POSTGRADUATE-PERSONPOSTGRADUATE-PERSON)=PERSON=PERSON例:56关系模式通常可以简记为关系模式通常可以简记为 R(U)或或或或R(A1,A2,An)R 关系名关系名A1,A2,An 属性名属性名注:域名及属性向域的映象常常直接说明为属注:域名及属性向域的映象常常直接说明为属注:域名及属性向域的映象常常直接说明为属注:域名及属性向域的映象常常直接说明为属性的类型、长度性的类型、长度性的类型、长度性的类型、长度关系模式通常可以简记为57关系模式关系模式对关系的描述对关系的描述静态的、稳定的静态的、稳定的关系关系关系模式在某一时刻的状态或内容关系模式在某一时刻的状态或内容动态的、随时间不断变化的动态的、随时间不断变化的关系模式58关系模型关系模型:是由若干关系模式组成的集合是由若干关系模式组成的集合是用二维表格结构表示数据及数据之间联是用二维表格结构表示数据及数据之间联系的数据模型。系的数据模型。关系模型:593.3.2关系数据库设计理论关系数据库设计理论数据依赖理论数据依赖理论规范化理论规范化理论3.3.2关系数据库设计理论数据依赖理论60数据依赖理论数据依赖理论数据依赖理论61什么是数据依赖什么是数据依赖1.完整性约束的表现形式完整性约束的表现形式n n限定属性取值范围:例如学生成绩必须限定属性取值范围:例如学生成绩必须在在0-100之间之间n n定义属性值间的相互关连(主要体现于定义属性值间的相互关连(主要体现于值的相等与否),这就是数据依赖,它值的相等与否),这就是数据依赖,它是数据库模式设计的关键是数据库模式设计的关键什么是数据依赖1.完整性约束的表现形式622.数据依赖数据依赖n n是通过一个关系中属性间值的相等与否是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系体现出来的数据间的相互关系n n是现实世界属性间相互联系的抽象是现实世界属性间相互联系的抽象n n是数据内在的性质是数据内在的性质n n是语义的体现是语义的体现2.数据依赖633.数据依赖的类型数据依赖的类型n n函数依赖(函数依赖(函数依赖(函数依赖(FunctionalDependencyFunctionalDependency,简记为,简记为,简记为,简记为FDFD)n n多值依赖(多值依赖(多值依赖(多值依赖(MultivaluedDependencyMultivaluedDependency,简记为,简记为,简记为,简记为MVDMVD)n n其他其他其他其他3.数据依赖的类型64函数依赖函数依赖一、函数依赖一、函数依赖二、平凡函数依赖与非平凡函数依赖二、平凡函数依赖与非平凡函数依赖三、完全函数依赖与部分函数依赖三、完全函数依赖与部分函数依赖四、传递函数依赖四、传递函数依赖函数依赖一、函数依赖65一、函数依赖一、函数依赖设设设设R(U)R(U)是一个属性集是一个属性集是一个属性集是一个属性集U U上的关系模式,上的关系模式,上的关系模式,上的关系模式,X X和和和和Y Y是是是是U U的子集。若对于的子集。若对于的子集。若对于的子集。若对于R(U)R(U)的任意一个可能的任意一个可能的任意一个可能的任意一个可能的关系的关系的关系的关系r,r中不可能存在两个元组在中不可能存在两个元组在中不可能存在两个元组在中不可能存在两个元组在X X上的属上的属上的属上的属性值相等,性值相等,性值相等,性值相等,而在而在而在而在Y Y上的属性值不等,上的属性值不等,上的属性值不等,上的属性值不等,则称则称则称则称“X“X函数确定函数确定函数确定函数确定Y”Y”或或或或“Y“Y函数依赖于函数依赖于函数依赖于函数依赖于X”X”,记作,记作,记作,记作XYXY。一、函数依赖设R(U)是一个属661.1.函数依赖不是指关系模式函数依赖不是指关系模式函数依赖不是指关系模式函数依赖不是指关系模式R R的某个或某些关系的某个或某些关系的某个或某些关系的某个或某些关系实例满足的约束条件,而是指实例满足的约束条件,而是指实例满足的约束条件,而是指实例满足的约束条件,而是指R R的所有关系实的所有关系实的所有关系实的所有关系实例均要满足的约束条件。例均要满足的约束条件。例均要满足的约束条件。例均要满足的约束条件。2.2.函数依赖是语义范畴的概念。只能根据数据的函数依赖是语义范畴的概念。只能根据数据的函数依赖是语义范畴的概念。只能根据数据的函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。语义来确定函数依赖。语义来确定函数依赖。语义来确定函数依赖。例如例如例如例如“姓名姓名姓名姓名年龄年龄年龄年龄”这个函数依赖只有在不允许这个函数依赖只有在不允许这个函数依赖只有在不允许这个函数依赖只有在不允许有同名人的条件下成立有同名人的条件下成立有同名人的条件下成立有同名人的条件下成立3.3.数据库设计者可以对现实世界作强制的规定。数据库设计者可以对现实世界作强制的规定。数据库设计者可以对现实世界作强制的规定。数据库设计者可以对现实世界作强制的规定。例如规定不允许同名人出现,函数依赖例如规定不允许同名人出现,函数依赖例如规定不允许同名人出现,函数依赖例如规定不允许同名人出现,函数依赖“姓名姓名姓名姓名年龄年龄年龄年龄”成立。所插入的元组必须满足规定的函数成立。所插入的元组必须满足规定的函数成立。所插入的元组必须满足规定的函数成立。所插入的元组必须满足规定的函数依赖,若发现有同名人存在,依赖,若发现有同名人存在,依赖,若发现有同名人存在,依赖,若发现有同名人存在,则拒绝装入该元则拒绝装入该元则拒绝装入该元则拒绝装入该元组。组。组。组。1.函数依赖不是指关系模式R的某个或某些关系实例满足的约束67例例例例:Student(Sno,Sname,Ssex,Sage,Sdept):Student(Sno,Sname,Ssex,Sage,Sdept)假设不允许重名,则有假设不允许重名,则有假设不允许重名,则有假设不允许重名,则有:SnoSsexSnoSsex,SnoSage,SnoSdeptSnoSage,SnoSdept,SnoSname,SnameSsexSnoSname,SnameSsex,SnameSnameSageSageSnameSdeptSnameSdept但但SsexSage若若若若XYXY,并且,并且,并且,并且YX,YX,则记为则记为则记为则记为XYXY。若若若若Y Y不函数依赖于不函数依赖于不函数依赖于不函数依赖于X,X,则记为则记为则记为则记为XYXY。例:Student(Sno,Sname,Ssex,S68二、平凡函数依赖与非平凡函数依赖二、平凡函数依赖与非平凡函数依赖在关系模式在关系模式在关系模式在关系模式R(U)R(U)中,对于中,对于中,对于中,对于U U的子集的子集的子集的子集X X和和和和Y Y,如果如果如果如果XYXY,但,但,但,但YY XX,则称,则称,则称,则称XYXY是非平凡的函数依赖是非平凡的函数依赖是非平凡的函数依赖是非平凡的函数依赖若若若若XYXY,但,但,但,但YY X,X,则称则称则称则称XYXY是平凡的函数依赖是平凡的函数依赖是平凡的函数依赖是平凡的函数依赖例:在关系例:在关系例:在关系例:在关系SC(Sno,Cno,Grade)SC(Sno,Cno,Grade)中,中,中,中,非平凡函数依赖:非平凡函数依赖:非平凡函数依赖:非平凡函数依赖:(Sno,Cno)(Sno,Cno)GradeGrade平凡函数依赖:平凡函数依赖:平凡函数依赖:平凡函数依赖:(Sno,Cno)(Sno,Cno)SnoSno(Sno,Cno)Cno(Sno,Cno)Cno二、平凡函数依赖与非平凡函数依赖在关系模式R(U)中,对于U69uu于任一关系模式,平凡函数依赖于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的都是必然成立的,它不反映新的语义,因此若不特别声明,语义,因此若不特别声明,我们我们总是讨论非平凡函数依赖总是讨论非平凡函数依赖。于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义70三三、完全函数依赖与部分函数依赖、完全函数依赖与部分函数依赖在关系模式在关系模式R(U)中,如果中,如果XY,并,并且对于且对于X的任何一个真子集的任何一个真子集X,都有,都有XY,则称则称Y完全函数依赖于完全函数依赖于X,记作,记作XY。若若XY,但,但Y不完全函数依赖于不完全函数依赖于X,则称,则称Y部分函数依赖于部分函数依赖于X,记作,记作XPY。三、完全函数依赖与部分函数依赖在关系71例例例例:在关系在关系在关系在关系SC(Sno,Cno,Grade)SC(Sno,Cno,Grade)中,中,中,中,由于:由于:由于:由于:SnoGradeSnoGrade,CnoGradeCnoGrade,因此:因此:因此:因此:(Sno,Cno)(Sno,Cno)GradeGrade例:在关系SC(Sno,Cno,Grade)中,72四、传递函数依赖四、传递函数依赖 在关系模式在关系模式在关系模式在关系模式R(U)R(U)中,如果中,如果中,如果中,如果XYXY,YZYZ,且,且,且,且YY X X,YXYX,则称,则称,则称,则称Z Z传递函数依赖传递函数依赖传递函数依赖传递函数依赖于于于于X X。注注注注:如果如果如果如果YXYX,即即即即XYXY,则,则,则,则Z Z直接依赖直接依赖直接依赖直接依赖于于于于X X。例例例例:在关系在关系在关系在关系Std(Sno,Sdept,Mname)Std(Sno,Sdept,Mname)中,有:中,有:中,有:中,有:SnoSdeptSnoSdept,SdeptMnameSdeptMnameMnameMname传递函数依赖于传递函数依赖于传递函数依赖于传递函数依赖于SnoSno四、传递函数依赖在关系模式R(U)中,如果XY,Y73多值依赖多值依赖多值依赖74规范化理论规范化理论n n规范化理论规范化理论正是用来改造关系模式,正是用来改造关系模式,通过分解关系模式来消除其中不合适的通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。更新异常和数据冗余问题。规范化理论规范化理论正是用来改造关系模式,通75n n范式是符合某一种级别的关系模式的集合。范式是符合某一种级别的关系模式的集合。范式是符合某一种级别的关系模式的集合。范式是符合某一种级别的关系模式的集合。n n关系数据库中的关系必须满足一定的要求。满关系数据库中的关系必须满足一定的要求。满关系数据库中的关系必须满足一定的要求。满关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。足不同程度要求的为不同范式。足不同程度要求的为不同范式。足不同程度要求的为不同范式。n n范式的种类:范式的种类:范式的种类:范式的种类:第一范式第一范式第一范式第一范式(1NF)(1NF)第二范式第二范式第二范式第二范式(2NF)(2NF)第三范式第三范式第三范式第三范式(3NF)(3NF)BCBC范式范式范式范式(BCNF)(BCNF)第四范式第四范式第四范式第四范式(4NF)(4NF)第五范式第五范式第五范式第五范式(5NF)(5NF)范式是符合某一种级别的关系模式的集合。76n n各种范式之间存在联系:各种范式之间存在联系:n n某一关系模式某一关系模式R为第为第n范式,可简记范式,可简记为为RnNF。各种范式之间存在联系:771NFn n1NF1NF的定义的定义的定义的定义如果一个关系模式如果一个关系模式如果一个关系模式如果一个关系模式R R的所有属性都是的所有属性都是的所有属性都是的所有属性都是不可分的不可分的不可分的不可分的基本数据项基本数据项基本数据项基本数据项,则,则,则,则R R1NF1NF。n n第一范式是对关系模式的最起码的要求。不满第一范式是对关系模式的最起码的要求。不满第一范式是对关系模式的最起码的要求。不满第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库。足第一范式的数据库模式不能称为关系数据库。足第一范式的数据库模式不能称为关系数据库。足第一范式的数据库模式不能称为关系数据库。n n但是满足第一范式的关系模式并不一定是一个但是满足第一范式的关系模式并不一定是一个但是满足第一范式的关系模式并不一定是一个但是满足第一范式的关系模式并不一定是一个好的关系模式。好的关系模式。好的关系模式。好的关系模式。1NF1NF的定义78例例例例:关系模式关系模式关系模式关系模式SLC(Sno,Sdept,Sloc,Cno,SLC(Sno,Sdept,Sloc,Cno,Grade)Grade)SlocSloc为学生住处,假设每个系的学生住在同一为学生住处,假设每个系的学生住在同一为学生住处,假设每个系的学生住在同一为学生住处,假设每个系的学生住在同一个地方。个地方。个地方。个地方。n n函数依赖包括:函数依赖包括:函数依赖包括:函数依赖包括:(Sno,Cno)(Sno,Cno)f fGradeGradeSnoSdeptSnoSdept(Sno,Cno)(Sno,Cno)P PSdeptSdeptSnoSlocSnoSloc(Sno,Cno)(Sno,Cno)P PSlocSlocSdeptSlocSdeptSloc例:关系模式SLC(Sno,Sdept,Sloc79n nSLCSLC的码为的码为的码为的码为(Sno,Cno)(Sno,Cno)n nSLCSLC满足第一范式。满足第一范式。满足第一范式。满足第一范式。n n 非主属性非主属性非主属性非主属性SdeptSdept和和和和SlocSloc部分函数依赖于码部分函数依赖于码部分函数依赖于码部分函数依赖于码(Sno,Cno)(Sno,Cno)SnoCnoGradeSdeptSlocSLCSLC的码为(Sno,Cno)SnoCnoGradeSde80问题问题(1)(1)插入异常插入异常插入异常插入异常假设假设假设假设SnoSno9510295102,SdeptSdeptISIS,SlocSlocN N的学的学的学的学生还未选课,因课程号是主属性,因此该学生还未选课,因课程号是主属性,因此该学生还未选课,因课程号是主属性,因此该学生还未选课,因课程号是主属性,因此该学生的信息无法插入生的信息无法插入生的信息无法插入生的信息无法插入SLCSLC。(2)(2)删除异常删除异常删除异常删除异常 假定某个学生本来只选修了假定某个学生本来只选修了假定某个学生本来只选修了假定某个学生本来只选修了3 3号课程这一门号课程这一门号课程这一门号课程这一门课。现在因身体不适,他连课。现在因身体不适,他连课。现在因身体不适,他连课。现在因身体不适,他连3 3号课程也不选号课程也不选号课程也不选号课程也不选修了。因课程号是主属性,此操作将导致该修了。因课程号是主属性,此操作将导致该修了。因课程号是主属性,此操作将导致该修了。因课程号是主属性,此操作将导致该学生信息的整个元组都要删除。学生信息的整个元组都要删除。学生信息的整个元组都要删除。学生信息的整个元组都要删除。问题(1)插入异常81(3)(3)数据冗余度大数据冗余度大数据冗余度大数据冗余度大 如果一个学生选修了如果一个学生选修了如果一个学生选修了如果一个学生选修了1010门课程,那么他的门课程,那么他的门课程,那么他的门课程,那么他的SdeptSdept和和和和SlocSloc值就要重复存储了值就要重复存储了值就要重复存储了值就要重复存储了1010次。次。次。次。(4)(4)修改复杂修改复杂修改复杂修改复杂 例如学生转系,在修改此学生元组的例如学生转系,在修改此学生元组的例如学生转系,在修改此学生元组的例如学生转系,在修改此学生元组的SdeptSdept值的同时,还可能需要修改住处(值的同时,还可能需要修改住处(值的同时,还可能需要修改住处(值的同时,还可能需要修改住处(SlocSloc)。)。)。)。如果这个学生选修了如果这个学生选修了如果这个学生选修了如果这个学生选修了KK门课,则必须无遗漏门课,则必须无遗漏门课,则必须无遗漏门课,则必须无遗漏地修改地修改地修改地修改KK个元组中全部个元组中全部个元组中全部个元组中全部SdeptSdept、SlocSloc信息。信息。信息。信息。(3)数据冗余度大82n n原因原因Sdept、Sloc部分函数依赖于码。部分函数依赖于码。n n解决方法解决方法SLCSLC分解为两个关系模式,以消除这些部分函分解为两个关系模式,以消除这些部分函分解为两个关系模式,以消除这些部分函分解为两个关系模式,以消除这些部分函数依赖数依赖数依赖数依赖SC(Sno,Cno,Grade)SL(Sno,Sdept,Sloc)原因83SnoCnoGradeSCSLSnoSdeptSlocSnoCnoGradeSCSLSnoSdeptSloc842NF若关系模式若关系模式若关系模式若关系模式R R1NF1NF,并且每一个,并且每一个,并且每一个,并且每一个非主非主非主非主属属属属性都性都性都性都完全完全完全完全函数依赖于函数依赖于函数依赖于函数依赖于R R的码,则的码,则的码,则的码,则R R2NF2NF。例:例:例:例:SLC(Sno,Sdept,Sloc,Cno,Grade)SLC(Sno,Sdept,Sloc,Cno,Grade)1NF1NFSLC(Sno,Sdept,Sloc,Cno,Grade)SLC(Sno,Sdept,Sloc,Cno,Grade)2NF2NFSCSC(SnoSno,CnoCno,GradeGrade)2NF2NFSLSL(SnoSno,SdeptSdept,SlocSloc)2NF2NF2NF若关系模式R1NF,并且每一85n n采用投影分解法将一个采用投影分解法将一个采用投影分解法将一个采用投影分解法将一个1NF1NF的关系分解为多个的关系分解为多个的关系分解为多个的关系分解为多个2NF2NF的关系,可以在一定程度上减轻原的关系,可以在一定程度上减轻原的关系,可以在一定程度上减轻原的关系,可以在一定程度上减轻原1NF1NF关关关关系中存在的
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!