《数据库的学校原理及应用精品文稿.ppt》由会员分享,可在线阅读,更多相关《数据库的学校原理及应用精品文稿.ppt(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库的学校课件原理及应用2023/2/4数据结构1第1页,本讲稿共49页2023/2/4数据库原理及应用2 1.4 数据模型n 1.4.1 数据模型的概念、分类及构成n 1.4.2 实体联系模型n 1.4.3 关系模型n 1.4.4 层次模型概述n 1.4.5 网状模型概述第2页,本讲稿共49页2023/2/4数据库原理及应用31.4.1 1.4.1 数据模型概念数据模型概念1、模型 模型是对现实世界特征的模拟和抽象,它可以帮助人们描述和了解现实世界。数据模型(Data Model)也是一种模型,它是现实世界数据特征的抽象。现有的数据库系统都是基于某种数据模型的。数据模型应满足三方面要求:1
2、、能比较真实地模拟现实世界;2、容易为人所理解:3、便于在计算机上实现。第3页,本讲稿共49页2023/2/4数据库原理及应用4图1.6 对现实世界的抽象过程现实世界机器世界DBMS支持的数据模型信息世界概念模型认识抽象转换2、三个领域第4页,本讲稿共49页2023/2/4数据库原理及应用5 3、两类数据模型 (1)语义数据模型,是现实世界到信息世界的第一层抽象。实体联系模型实体联系模型(E-R(E-R模型模型)、面向对象模型面向对象模型。(2)经典数据模型,也简称为数据模型,是一种基基于记录于记录的模型,主要包括网状模型、层次模型、关系模型网状模型、层次模型、关系模型等。第5页,本讲稿共49
3、页2023/2/4数据库原理及应用6 数据模型通常包括数据结构、数据操作和完整性约束三部分内容。数据结构:数据结构:数据结构描述的是数据库中的数据的组成、及其相互间联系。数据操作:数据操作:操作的集合及操作规则。数据的约束条件:数据的约束条件:数据的约束条件指数据完整性规则的集合。第6页,本讲稿共49页2023/2/4数据库原理及应用71.4.2 实体联系模型1、基本概念、基本概念(1)实体(Entity)客观存在并可相互区别的事物称为实体。客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念可以是具体的人、事、物或抽象的概念。(2)属性(Attribute)实体所具有的某一
4、特性称为属性。实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。一个实体可以由若干个属性来刻画。(3)码(Key)唯一标识实体的唯一标识实体的属性集属性集称为码。称为码。第7页,本讲稿共49页2023/2/4数据库原理及应用8(4)域(Domain):属性的取值范围称为该属性的域属性的取值范围称为该属性的域。(5)实体型(Entity Type):用用实实体体名名及及其其属属性性名名集集合合来来抽抽象象和和刻刻画画同同类类实体称为实体型。实体称为实体型。例如,员工(工号,姓名,性别,出生日期,联系电话)例如,员工(工号,姓名,性别,出生日期,联系电话)(6)实体集(Entity S
5、et);同型实体的集合称为实体集。同型实体的集合称为实体集。例如全体职工就是一个例如全体职工就是一个实体集。实体集。(7)联系(Relationship):现现实实世世界界中中事事物物事事物物之之间间的的联联系系,事事物物内内部元素之间的联系。部元素之间的联系。实体型间联系 一对一联系(一对一联系(1:1)一对多联系(一对多联系(1:n)多对多联系(多对多联系(m:n)第8页,本讲稿共49页2023/2/4数据库原理及应用91)多个实体型间的联系n多个实体型间的一对多联系n若实体集若实体集E1,E2,.,En存在联系,对于实体集存在联系,对于实体集Ej(j=1,2,.,i-1,i+1,.,n)
6、中的给定实体,最多只和)中的给定实体,最多只和Ei中的一个实体中的一个实体相联系,则我们说相联系,则我们说Ei与与E1,E2,.,Ei-1,Ei+1,.,En之间的联系是之间的联系是一对多的。一对多的。例:如果一门课程可以有若干个教师讲授,使用若干本参考书,每一个教师只讲授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书之间的联系是一对多的第9页,本讲稿共49页2023/2/4数据库原理及应用102)同一实体集内部的一对多联系n实例 职工实体集内部具有领导与被领导的联系职工实体集内部具有领导与被领导的联系某一职工(干部)某一职工(干部)“领导领导”若干名职工若干名职工一个职工仅被另
7、外一个职工直接领导一个职工仅被另外一个职工直接领导这是一对多的联系这是一对多的联系第10页,本讲稿共49页2023/2/4数据库原理及应用112、ER图:实体联系模型的表达方式。学生学生教师教师n实体型n用矩形表示,矩形框内写明实体名。第11页,本讲稿共49页2023/2/4数据库原理及应用12n属性n用椭圆形表示,并用无向边将其与相应的实体连接起来学生学生学号学号年龄年龄性别性别姓名姓名第12页,本讲稿共49页2023/2/4数据库原理及应用13n联系n联系本身联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)n
8、联系的属性联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来 第13页,本讲稿共49页2023/2/4数据库原理及应用14nER图班级班级班级班级-班长班长班长班长111:1联系联系课程课程选修选修学生学生mnm:n联系联系班级班级组成组成学生学生1n1:n联系联系第14页,本讲稿共49页2023/2/4数据库原理及应用15nER图实体型实体型1联系名联系名mn同一实体型内同一实体型内部的部的m:n联系联系实体型实体型1联系名联系名实体型实体型21m多个实体型间的多个实体型间的1:n联系联系实体型实体型3n第15页,本讲稿共49页20
9、23/2/4数据库原理及应用16nER图课程课程选修选修学生学生mn成绩成绩图1.10 三个实体间多对多联系的E-R图工程零件供应商供应工程零件MPN第16页,本讲稿共49页2023/2/4数据库原理及应用17nER图M学生1图1.9 一个教学管理系统的E-R图系老师课程班级属于管理选修教学属于开课系代码姓名职工号课程名课程号分数姓名性别学生号班级名班级号系名NN1M1N1NNN工作量第17页,本讲稿共49页2023/2/4数据库原理及应用18 1.4.3关系模型n1.关系数据模型的数据结构 n2.关系数据模型的数据操纵n3.关系数据模型的完整性约束 n4.关系数据模型的存储结构 n5.关系数
10、据模型的优缺点n6.典型的关系数据库系统 n1970年由美国IBM公司San Jose研究室的研究员E.F.Codd提出第18页,本讲稿共49页2023/2/4数据库原理及应用191.4 数据模型数据模型 1.4.3关系模型n基本概念:在用用户户观观点点下,是一张二维表(1)元组(Tuple)(2)属性(Attribute)(3)主码(Key)(4)域(Domain)(5)关系(Relation)(6)关系模式(7)关系数据库模式第19页,本讲稿共49页2023/2/4数据库原理及应用20n实体及实体间的联系的表示方法n实体型实体型:直接用关系(表)表示。:直接用关系(表)表示。n属性属性:用
11、属性名表示。:用属性名表示。n一对一联系一对一联系:隐含在实体对应的关系中。:隐含在实体对应的关系中。n一对多联系一对多联系:隐含在实体对应的关系中。:隐含在实体对应的关系中。n多对多联系多对多联系:直接用关系表示直接用关系表示。第20页,本讲稿共49页2023/2/4数据库原理及应用21实体联系模型转换为关系模型的方法(1)将E-R图中的实体的处理(2)对于一对一的联系的处理(3)对于一对多的联系的处理(4)对于多对多的联系处理(5)对于自回路的处理:如果是一对多联系,直接在该实体对应的关系中增加一个字段,如增加一个字段“班长学号”。对于多对多的联系,先复制原实体中主码及涉及的主要属性,改名
12、后存为另一个表,再仿照多对多联系处理。例如,零件的自回路,将联系“构成”作为一个关系,其主码为(零件号,相关零件号)。第21页,本讲稿共49页2023/2/4数据库原理及应用22例1:学生、系,系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,系号,年级)学生(学号,姓名,年龄,性别,系号,年级)系系(系号,系名,办公地点系号,系名,办公地点)例2:系、系主任,系与系主任间的一对一联系系系(系号,系名,系主任名,办公地点系号,系名,系主任名,办公地点)例3:学生、课程、学生与课程之间的多对多联系:学生(学号,姓名,年龄,性别,系号,年级)学生(学号,姓名,年龄,性别,系号,年级)课程(课
13、程号,课程名,学分)课程(课程号,课程名,学分)选修(学号,课程号,成绩)选修(学号,课程号,成绩)图1.10 三个实体间多对多联系的E-R图工程零件供应商供应工程零件MPN第22页,本讲稿共49页2023/2/4数据库原理及应用23n关系必须是规范化的,满足一定的规范条件最基本的规范条件:关系的每一个分量必须是一个不最基本的规范条件:关系的每一个分量必须是一个不可分的数据项。可分的数据项。第23页,本讲稿共49页2023/2/4数据库原理及应用242.关系模型的数据操纵n查询、插入、删除、更新n数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合n存取路径对用户隐蔽,用户只要指出
14、“干什么”,不必详细说明“怎么干”第24页,本讲稿共49页2023/2/4数据库原理及应用253.关系模型的完整性约束n实体完整性n参照完整性n用户定义的完整性第25页,本讲稿共49页2023/2/4数据库原理及应用264.关系数据模型的存储结构n表以文件形式存储n有的DBMS一个表对应一个操作系统文件n有的DBMS自己设计文件结构第26页,本讲稿共49页2023/2/4数据库原理及应用275.关系模型的优缺点n优点n建立在严格的数学概念的基础上n概念单一。数据结构简单、操作对象和结果都是关系n关系模型的存取路径对用户透明n缺点(1)存取路径对用户透明导致查询效率往往不如非)存取路径对用户透明
15、导致查询效率往往不如非关系数据模型关系数据模型(2)为提高性能,必须对用户的)为提高性能,必须对用户的查询请求进行优化查询请求进行优化增加了开发数据库管理系统的难度增加了开发数据库管理系统的难度第27页,本讲稿共49页2023/2/4数据库原理及应用286.典型的关系数据库系统nORACLEnSYBASEnINFORMIXnDB/2nCOBASEnPBASEnEasyBasenDM/2nOpenBasenSQL ServernKingBase第28页,本讲稿共49页2023/2/4数据库原理及应用29 1.4.4 层次模型1.层次数据模型的数据结构 2.层次数据模型的数据操纵3.层次数据模型的
16、与完整性约束 4.层次数据模型的存储结构 5.层次数据模型的优缺点 6.典型的层次数据库系统第29页,本讲稿共49页2023/2/4数据库原理及应用301.层次数据模型的数据结构n层次模型 满足下面两个条件的基本层次联系的集合为层次模型。满足下面两个条件的基本层次联系的集合为层次模型。1.有且只有一个结点没有双亲结点,这个结点称为根有且只有一个结点没有双亲结点,这个结点称为根 结点结点2.根以外的其它结点有且只有一个双亲结点根以外的其它结点有且只有一个双亲结点n层次模型中的几个术语n根结点,双亲结点,兄弟结点,叶结点根结点,双亲结点,兄弟结点,叶结点第30页,本讲稿共49页2023/2/4数据
17、库原理及应用31 1 根结点根结点 2 兄弟结点兄弟结点 3 叶结点叶结点 4 兄弟结点兄弟结点 5 叶结点叶结点 叶结点叶结点第31页,本讲稿共49页2023/2/4数据库原理及应用32第32页,本讲稿共49页2023/2/4数据库原理及应用33 1.4.4 层次模型第33页,本讲稿共49页2023/2/4数据库原理及应用34第34页,本讲稿共49页2023/2/4数据库原理及应用35n层次模型特点n结点的双亲是唯一的结点的双亲是唯一的n只能直接处理一对多的实体联系只能直接处理一对多的实体联系n每个记录类型定义一个排序字段,也称为码字段每个记录类型定义一个排序字段,也称为码字段n任何记录值只
18、有按其路径查看时,才能显出它的全部意义任何记录值只有按其路径查看时,才能显出它的全部意义n没有一个子女记录值能够脱离双亲记录值而独立存在没有一个子女记录值能够脱离双亲记录值而独立存在第35页,本讲稿共49页2023/2/4数据库原理及应用36n多对多联系在层次模型中的表示n用层次模型用层次模型间接间接表示多对多联系表示多对多联系n方法方法将多对多联系将多对多联系分解分解成一对多联系成一对多联系n分解方法分解方法n冗余结点法冗余结点法n虚拟结点法虚拟结点法第36页,本讲稿共49页2023/2/4数据库原理及应用373、实体联系模型转换成层次模型的方法 第一步是去掉E-R图中所有的一对多联系的菱形
19、及其相关边,直接用直线相连;第二步,对于多对多的联系,去掉菱形及其相关边,增加两个冗余结点或虚结点,用直线将原来的两个结点与新增结点或虚结点相连接,新增结点或虚结点的名字与原结点名字交叉对应。第37页,本讲稿共49页2023/2/4数据库原理及应用381.4 数据模型数据模型 1.4.4 层次模型系课程班级学生老师课程学生课程老师图1.18 将图1.9所示的E-R图转换成的层次模型第38页,本讲稿共49页2023/2/4数据库原理及应用393.层次模型的完整性约束n无相应的双亲结点值就不能插入子女结点值无相应的双亲结点值就不能插入子女结点值n如果删除双亲结点值,则相应的子女结点值也被同时如果删
20、除双亲结点值,则相应的子女结点值也被同时删除删除n更新操作时,应更新所有相应记录,以保证数据更新操作时,应更新所有相应记录,以保证数据的一致性的一致性第39页,本讲稿共49页2023/2/4数据库原理及应用404.层次数据模型的存储结构n邻接法按照层次树前序遍历的顺序把所有记录值依次邻接存按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序放,即通过物理空间的位置相邻来实现层次顺序n链接法用指引元来反映数据之间的层次联系用指引元来反映数据之间的层次联系n子女兄弟链接法子女兄弟链接法n层次序列链接法层次序列链接法第40页,本讲稿共49页2023/2/4数据库原
21、理及应用415.层次模型的优缺点n优点n层层次次数数据据模模型型简简单单,对对具具有有一一对对多多的的层层次次关关系系的的部部门门描描述自然、直观,容易理解述自然、直观,容易理解n性能优于关系模型,不低于网状模型性能优于关系模型,不低于网状模型n层次数据模型提供了良好的完整性支持层次数据模型提供了良好的完整性支持n缺点n多对多联系表示不自然多对多联系表示不自然n对插入和删除操作的限制多对插入和删除操作的限制多n查询子女结点必须通过双亲结点查询子女结点必须通过双亲结点n层次命令趋于程序化层次命令趋于程序化第41页,本讲稿共49页2023/2/4数据库原理及应用426.典型的层次数据库系统IMS数
22、据库管理系统n第一个大型商用第一个大型商用DBMSn1968年推出年推出nIBM公司研制公司研制第42页,本讲稿共49页2023/2/4数据库原理及应用43 1.4.4 网次模型1.网状数据模型的数据结构 2.网状数据模型的数据操纵3.网状数据模型的完整性约束 4.网状数据模型的存储结构 5.网状数据模型的优缺点6.典型的网状数据库系统第43页,本讲稿共49页2023/2/4数据库原理及应用441.网状数据模型的数据结构n网状模型满满足足下下面面两两个个条条件件的的基基本本层层次次联联系系的的集集合合为为网状模型。网状模型。1.允许一个以上的结点无双亲;允许一个以上的结点无双亲;2.一个结点可
23、以有多于一个的双亲一个结点可以有多于一个的双亲。第44页,本讲稿共49页2023/2/4数据库原理及应用451.4 数据模型数据模型 1.4.4 网次模型系班级老师L1L5L4L3L2L6图1.19 网状模型的模型结构学生课程第45页,本讲稿共49页2023/2/4数据库原理及应用46n网状模型与层次模型的区别n网状模型允许多个结点没有双亲结点网状模型允许多个结点没有双亲结点n网状模型允许结点有多个双亲结点网状模型允许结点有多个双亲结点n网状模型允许两个结点之间有多种联系(复网状模型允许两个结点之间有多种联系(复合联系)合联系)n网状模型可以更直接地去描述现实世界网状模型可以更直接地去描述现实
24、世界n层次模型实际上是网状模型的一个特例层次模型实际上是网状模型的一个特例第46页,本讲稿共49页2023/2/4数据库原理及应用475.网状模型的优缺点n优点n能够更为直接地描述现实世界,如一个结点可以有多个双亲能够更为直接地描述现实世界,如一个结点可以有多个双亲n具有良好的性能,存取效率较高具有良好的性能,存取效率较高n缺点n结构比较复杂,而且随着应用环境的扩大,数据库的结构就结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握变得越来越复杂,不利于最终用户掌握nDDL、DML语言复杂,用户不容易使用语言复杂,用户不容易使用第47页,本讲稿共49页2023/2/4数据库原理及应用48小结(1)语义数据模型(2)经典数据模型(3)E-R图(4)关系模型(5)层次模型(6)网状模型我们在进行数据库设计时一般先设计实体联系模型,再将实体联系模型转换成对应的经典数据模型。第48页,本讲稿共49页2023/2/4数据库原理及应用49小结作业:3.13.23.3第49页,本讲稿共49页