资源预览内容
第1页 / 共63页
第2页 / 共63页
第3页 / 共63页
第4页 / 共63页
第5页 / 共63页
第6页 / 共63页
第7页 / 共63页
第8页 / 共63页
第9页 / 共63页
第10页 / 共63页
亲,该文档总共63页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
数据库管理数据库管理之二之二常用的数据模型常用的数据模型常用的数据模型常用的数据模型l在数据库中用数据模型这个工具来抽象、在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。通俗地讲数据模型就是现实世界的模拟。l数据模型应满足三方面要求数据模型应满足三方面要求能比较真实地模拟现实世界能比较真实地模拟现实世界容易为人所理解容易为人所理解便于在计算机上实现便于在计算机上实现l一、层次数据模型一、层次数据模型l二、网状数据模型二、网状数据模型l三、关系数据模型三、关系数据模型常用的数据模型常用的数据模型层次数据模型层次数据模型 l非关系模型非关系模型种类种类层次模型(层次模型(Hierarchical Model)网状模型网状模型(Network Model )数据结构:以数据结构:以基本层次联系基本层次联系为基本单位为基本单位基基本本层层次次联联系系:两两个个记记录录以以及及它它们们之之间间的的一一对对多多(包括一对一(包括一对一)的联系的联系数据模型数据模型(续续)l关系模型关系模型(Relational Model) 数据结构:数据结构:表表l面向对象模型面向对象模型(Object Oriented Model)数据结构:数据结构:对象对象一、层次模型一、层次模型l1. 层次数据模型的数据结构层次数据模型的数据结构 l2. 层次数据模型的数据操纵层次数据模型的数据操纵l3. 层次数据模型的完整性约束层次数据模型的完整性约束 l4. 层次数据模型的存储结构层次数据模型的存储结构 l5. 层次数据模型的优缺点层次数据模型的优缺点 l6. 典型的层次数据库系统典型的层次数据库系统1. 层次数据模型的数据结构层次数据模型的数据结构l层次模型层次模型 满满足足下下面面两两个个条条件件的的基基本本层层次次联联系系的的集集合合为为层次模型。层次模型。1. 有有且且只只有有一一个个结结点点没没有有双双亲亲结结点点,这这个个结结点称为根结点点称为根结点2. 根以外的其它结点有且只有一个双亲结点根以外的其它结点有且只有一个双亲结点l层次模型中的几个术语层次模型中的几个术语根结点,双亲结点,兄弟结点根结点,双亲结点,兄弟结点,叶结点叶结点层次数据模型的数据结构层次数据模型的数据结构(续)续) 1 根结点根结点 2 兄弟结点兄弟结点 3 叶结点叶结点 4 兄弟结点兄弟结点 5 叶结点叶结点 叶结点叶结点层次数据模型的数据结构层次数据模型的数据结构(续)续)l表示方法表示方法实实体体型型:用用记记录录类类型型描描述述。每每个个结结点点表表示示一一个记录类型。个记录类型。属属性性:用用字字段段描描述述。每每个个记记录录类类型型可可包包含含若若干个字段。干个字段。联联系系:用用结结点点之之间间的的连连线线表表示示记记录录(类类)型型之间的一对多的联系。之间的一对多的联系。层次数据模型的数据结构层次数据模型的数据结构(续)续)l特点特点结点的双亲是唯一的结点的双亲是唯一的只能直接处理一对多的实体联系只能直接处理一对多的实体联系每每个个记记录录类类型型定定义义一一个个排排序序字字段段,也也称称为为码码字段字段任任何何记记录录值值只只有有按按其其路路径径查查看看时时,才才能能显显出出它的全部意义它的全部意义没没有有一一个个子子女女记记录录值值能能够够脱脱离离双双亲亲记记录录值值而而独立存在独立存在层次数据模型的数据结构层次数据模型的数据结构(续)续)l多对多联系在层次模型中的表示多对多联系在层次模型中的表示用层次模型间接表示多对多联系用层次模型间接表示多对多联系表示方法表示方法将多对多联系分解成一对多联系将多对多联系分解成一对多联系分解方法分解方法冗余结点法冗余结点法虚拟结点法虚拟结点法2. 层次模型的数据操纵层次模型的数据操纵l 查询查询l 插入插入l 删除删除l 更新更新3. 层次模型的完整性约束层次模型的完整性约束l无相应的双亲结点值就不能插入子女结无相应的双亲结点值就不能插入子女结点值点值l如果删除双亲结点值,则相应的子女结如果删除双亲结点值,则相应的子女结点值也被同时删除点值也被同时删除l更新操作时,应更新所有相应记录,以更新操作时,应更新所有相应记录,以保证数据的一致性保证数据的一致性4.层次数据模型的存储结构层次数据模型的存储结构l邻接法邻接法按照层次树前序遍历的顺序把所有记录值依次邻接按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序。存放,即通过物理空间的位置相邻来实现层次顺序。l链接法链接法用指引元来反映数据之间的层次联系用指引元来反映数据之间的层次联系子女兄弟链接法子女兄弟链接法 P18层次序列链接法层次序列链接法 P18D02R01E2101E1709E3501R02R03E1101E3102S63871S63874S638765. 层次模型的优缺点层次模型的优缺点l优点优点层层次次数数据据模模型型简简单单,对对具具有有一一对对多多的的层层次次关关系的部门描述自然、直观,容易理解系的部门描述自然、直观,容易理解性能优于关系模型,不低于网状模型性能优于关系模型,不低于网状模型层次数据模型提供了良好的完整性支持层次数据模型提供了良好的完整性支持层次模型的优缺点(续)层次模型的优缺点(续)l缺点缺点多对多联系表示不自然多对多联系表示不自然对插入和删除操作的限制多对插入和删除操作的限制多查询子女结点必须通过双亲结点查询子女结点必须通过双亲结点层次命令趋于程序化层次命令趋于程序化6. 典型的层次数据库系统典型的层次数据库系统lIMS数据库管理系统数据库管理系统第一个大型商用第一个大型商用DBMS1968年推出年推出IBM公司研制公司研制网状数据模型网状数据模型网状模型网状模型l1. 网状数据模型的数据结构网状数据模型的数据结构 l2. 网状数据模型的数据操纵网状数据模型的数据操纵l3. 网状数据模型的完整性约束网状数据模型的完整性约束 l4. 网状数据模型的存储结构网状数据模型的存储结构 l5. 网状数据模型的优缺点网状数据模型的优缺点l6. 典型的网状数据库系统典型的网状数据库系统1.网状数据模型的数据结构网状数据模型的数据结构l网状模型网状模型 满满足足下下面面两两个个条条件件的的基基本本层层次次联联系系的的集集合合为为网状模型。网状模型。1. 允许一个以上的结点无双亲;允许一个以上的结点无双亲;2. 一个结点可以有多于一个的双亲。一个结点可以有多于一个的双亲。网状数据模型的数据结构网状数据模型的数据结构(续)续)l表示方法(与层次数据模型相同)表示方法(与层次数据模型相同)实实体体型型:用用记记录录类类型型描描述述。每每个个结结点点表表示示一一个记录类型。个记录类型。属属性性:用用字字段段描描述述。每每个个记记录录类类型型可可包包含含若若干个字段。干个字段。联联系系:用用结结点点之之间间的的连连线线表表示示记记录录(类类)型型之间的一对多的父子联系。之间的一对多的父子联系。网状数据模型的数据结构网状数据模型的数据结构(续)续)l特点特点只能直接处理一对多的实体联系只能直接处理一对多的实体联系每每个个记记录录类类型型定定义义一一个个排排序序字字段段,也也称称为为码码字段字段任任何何记记录录值值只只有有按按其其路路径径查查看看时时,才才能能显显出出它的全部意义它的全部意义网状数据模型的数据结构网状数据模型的数据结构(续)续)l网状模型与层次模型的区别网状模型与层次模型的区别网状模型允许多个结点没有双亲结点网状模型允许多个结点没有双亲结点网状模型允许结点有多个双亲结点网状模型允许结点有多个双亲结点网状模型允许两个结点之间有多种联系(复网状模型允许两个结点之间有多种联系(复合联系)合联系)网状模型可以更直接地去描述现实世界网状模型可以更直接地去描述现实世界层次模型实际上是网状模型的一个特例层次模型实际上是网状模型的一个特例网状数据模型的数据结构网状数据模型的数据结构(续)续) 1 2 R3 L1 L2 R1 R1 R2R2 L3L3 L1 L2 L1 L2 R3R3 L4L4 R4 R4 R5R5 网状数据模型的数据结构网状数据模型的数据结构(续)续) 1 L1 L2 R2网状数据模型的数据结构网状数据模型的数据结构(续)续)学生宿舍学生宿舍学生学生教研室教研室系系教师教师网状数据模型的数据结构网状数据模型的数据结构(续)续)父亲父亲人人独生子女独生子女树树种种植植砍砍伐伐养养育育赡赡养养网状数据模型的数据结构网状数据模型的数据结构(续)续)父父亲亲关关系系男人男人网状数据模型的数据结构网状数据模型的数据结构(续)续)l多对多联系在网状模型中的表示多对多联系在网状模型中的表示用网状模型间接表示多对多联系用网状模型间接表示多对多联系表示方法表示方法将多对多联系将多对多联系直接直接分解成一对多联系分解成一对多联系2. 网状模型的数据操纵网状模型的数据操纵l查询查询l插入插入l删除删除l更新更新3. 网状数据模型的完整性约束网状数据模型的完整性约束 l完整性约束条件不严格完整性约束条件不严格允许插入尚未确定双亲结点值的子女结点值允许插入尚未确定双亲结点值的子女结点值允许只删除双亲结点值允许只删除双亲结点值网状数据模型的完整性约束网状数据模型的完整性约束(续续)l具体的网状数据库系统(如具体的网状数据库系统(如DBTG)对数对数据操纵加了一些限制,提供了一定的完整据操纵加了一些限制,提供了一定的完整性约束。性约束。码码属籍类别属籍类别加入类别加入类别(自动的,手工的自动的,手工的)移出类别移出类别(固定的,必须的,随意的固定的,必须的,随意的)4.网状数据模型的存储结构网状数据模型的存储结构l关键关键实现记录之间的联系实现记录之间的联系l常用方法常用方法单向链接单向链接双向链接双向链接环状链接环状链接向首链接向首链接例:例:P295.网状模型的优缺点网状模型的优缺点l优点优点能能够够更更为为直直接接地地描描述述现现实实世世界界,如如一一个个结结点点可以有多个双亲可以有多个双亲具有良好的性能,存取效率较高具有良好的性能,存取效率较高网状模型的优缺点(续)网状模型的优缺点(续)l缺点缺点结结构构比比较较复复杂杂,而而且且随随着着应应用用环环境境的的扩扩大大,数数据据库库的的结结构构就就变变得得越越来来越越复复杂杂,不不利利于于最最终用户掌握终用户掌握DDL、DML语言复杂,用户不容易使用语言复杂,用户不容易使用6. 典型的网状数据库系统典型的网状数据库系统lDBTG系统,亦称系统,亦称CODASYL系统系统由由DBTG提出的一个系统方案提出的一个系统方案奠定了数据库系统的基本概念、方法和技术奠定了数据库系统的基本概念、方法和技术70年代推出年代推出l实际系统实际系统Cullinet Software Inc.公司的公司的 IDMSUnivac公司的公司的 DMS1100Honeywell公司的公司的IDS/2HP公司的公司的IMAGE1.2.3 数据模型数据模型l一、层次数据模型一、层次数据模型l二、网状数据模型二、网状数据模型l三、关系数据模型三、关系数据模型关系数据模型关系数据模型关系模型关系模型l1. 关系数据模型的数据结构关系数据模型的数据结构 l2. 关系数据模型的操纵关系数据模型的操纵l3. 关系数据模型的完整性约束关系数据模型的完整性约束 l4. 关系数据模型的存储结构关系数据模型的存储结构 l5. 关系数据模型的优缺点关系数据模型的优缺点l6. 典型的关系数据库系统典型的关系数据库系统 关系模型关系模型l最最重重要要的的一一种种数数据据模模型型。也也是是目目前前主主要要采用的数据模型采用的数据模型l1970年年由由美美国国IBM公公司司San Jose研研究究室室的的研究员研究员E.F.Codd提出提出l本课程的重点本课程的重点1.关系数据模型的数据结构关系数据模型的数据结构l关系模型的基本数据结构关系模型的基本数据结构l关系模型的基本概念关系模型的基本概念l实体及实体间的联系的表示方法实体及实体间的联系的表示方法l关系必须是规范化的关系必须是规范化的关系数据模型的数据结构关系数据模型的数据结构(续续)l关系模型的基本数据结构关系模型的基本数据结构在在用用户户观观点点下下,关关系系模模型型中中数数据据的的逻逻辑辑结结构构是一张二维表,它由行和列组成。是一张二维表,它由行和列组成。 关系数据模型的数据结构关系数据模型的数据结构(续)续)l关系模型的基本概念关系模型的基本概念关系(关系(Relation):):一个关系对应通常说的一张表。一个关系对应通常说的一张表。元组(元组(Tuple)表中的一行即为一个元组。表中的一行即为一个元组。属性(属性(Attribute)表表中中的的一一列列即即为为一一个个属属性性,给给每每一一个个属属性性起起一一个个名称即属性名。名称即属性名。关系数据模型的数据结构关系数据模型的数据结构(续)续)l关系模型的基本概念(续)关系模型的基本概念(续)主码(主码(Key)表中的某个属性组,它可以唯一确定一个元组。表中的某个属性组,它可以唯一确定一个元组。域(域(Domain)属性的取值范围。属性的取值范围。分量分量元组中的一个属性值。元组中的一个属性值。关系数据模型的数据结构关系数据模型的数据结构(续)续)l关系模型的基本概念(续)关系模型的基本概念(续)关系模式关系模式对关系的描述对关系的描述表示方法表示方法 关系名(属性关系名(属性1,属性,属性2,属性,属性n) 例如:例如: 学生(学号,姓名,年龄,性别,系,年级)学生(学号,姓名,年龄,性别,系,年级)关系数据模型的数据结构关系数据模型的数据结构(续)续)l实体及实体间的联系的表示方法实体及实体间的联系的表示方法实体型实体型:直接用关系(表)表示。:直接用关系(表)表示。属性属性:用属性名表示。:用属性名表示。一对一联系一对一联系:隐含在实体对应的关系中。:隐含在实体对应的关系中。一对多联系一对多联系:隐含在实体对应的关系中。:隐含在实体对应的关系中。多对多联系多对多联系:直接用关系表示。:直接用关系表示。关系数据模型的数据结构关系数据模型的数据结构(续)续)例例1学生、系、系与学生之间的一对多联系:学生、系、系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,系号,年级)学生(学号,姓名,年龄,性别,系号,年级)系系 (系号,系名,办公地点系号,系名,办公地点)例例2系、系主任、系与系主任间的一对一联系系、系主任、系与系主任间的一对一联系关系数据模型的数据结构关系数据模型的数据结构(续)续)例例3学生、课程、学生与课程之间的多对多联系:学生、课程、学生与课程之间的多对多联系: 学生(学号,姓名,年龄,性别,系号,年级)学生(学号,姓名,年龄,性别,系号,年级)课程(课程号,课程名,学分)课程(课程号,课程名,学分)选修(学号,课程号,成绩)选修(学号,课程号,成绩)关系数据模型的数据结构关系数据模型的数据结构(续)续)l关关系系必必须须是是规规范范化化的的,即即必必须须满满足足一一定定的规范条件的规范条件最最基基本本的的规规范范条条件件:关关系系的的每每一一个个分分量量必必须须是一个不可分的数据项。是一个不可分的数据项。 2.关系模型的数据操纵关系模型的数据操纵l查询、插入、删除、更新查询、插入、删除、更新l数数据据操操作作是是集集合合操操作作,操操作作对对象象和和操操作作结果都是关系,即若干元组的集合结果都是关系,即若干元组的集合l存存取取路路径径对对用用户户隐隐蔽蔽,用用户户只只要要指指出出“干什么干什么”,不必详细说明,不必详细说明“怎么干怎么干”3.关系模型的完整性约束关系模型的完整性约束l实体完整性实体完整性l参照完整性参照完整性l用户定义的完整性用户定义的完整性4.关系数据模型的存储结构关系数据模型的存储结构l表以文件形式存储表以文件形式存储l有有的的DBMS一一个个表表对对应应一一个个操操作作系系统统文文件,有的件,有的DBMS自己设计文件结构自己设计文件结构5.关系模型的优缺点关系模型的优缺点l优点优点建立在严格的数学概念的基础上建立在严格的数学概念的基础上概概念念单单一一。数数据据结结构构简简单单、清清晰晰,用用户户易易懂懂易用易用实体和各类联系都用关系来表示。实体和各类联系都用关系来表示。对数据的检索结果也是关系。对数据的检索结果也是关系。关系模型的存取路径对用户透明关系模型的存取路径对用户透明具有更高的数据独立性,更好的安全保密性具有更高的数据独立性,更好的安全保密性简化了程序员的工作和数据库开发建立的工作简化了程序员的工作和数据库开发建立的工作关系模型的优缺点(续)关系模型的优缺点(续)l缺点缺点存存取取路路径径对对用用户户透透明明导导致致查查询询效效率率往往往往不不如如非关系数据模型非关系数据模型为提高性能,必须对用户的查询请求进行优化为提高性能,必须对用户的查询请求进行优化增加了开发数据库管理系统的难度增加了开发数据库管理系统的难度6. 典型的关系数据库系统典型的关系数据库系统ORACLESYBASEDB/2SQL ServerINFORMIXCOBASEPBASEEasyBaseKingBase小金灵小金灵DM/4OpenBase
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号