《第2章数据模型精.ppt》由会员分享,可在线阅读,更多相关《第2章数据模型精.ppt(90页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章数据模型章数据模型第1页,本讲稿共90页SQL Server 20052.1 信息的三种世界2.2 概念模型2.3 数据模型第二章第二章 数据模型数据模型第2页,本讲稿共90页SQL Server 20052.1.1 现实世界现实世界现实世界(现实世界(Real World)就是人们所能看到的、接触到的世)就是人们所能看到的、接触到的世界。主要涉及的概念有:界。主要涉及的概念有:1.实体(实体(Entity)2.实体的特征(实体的特征(Entity Characteristic)3.实体集(实体集(Entity Set)及实体集间的联系()及实体集间的联系(Relation)2.1 信
2、息的三种世界信息的三种世界第3页,本讲稿共90页SQL Server 2005信息世界(信息世界(Information World)是现实世界在人们头脑中)是现实世界在人们头脑中的反映,主要涉及的概念有:的反映,主要涉及的概念有:1.实例(实例(Example)2.属性(属性(Attribute)3.对象(对象(Object)及对象间联系()及对象间联系(Relation)2.1.2 信息世界信息世界第4页,本讲稿共90页SQL Server 2005计算机世界(Computer World)又称数据世界(Data World),是将信息世界中的信息经过人们的抽象和组织,按照特定的数据结构,
3、即数据模型,将数据存储在计算机中。主要涉及的概念有:1.字段(Field)2.记录(Record)3.文件(File)4.文件集(File Set)2.1.3 计算机世界计算机世界第5页,本讲稿共90页SQL Server 20052.1.4现实世界中客观对象的抽象过程现实世界中客观对象的抽象过程现实世界:存在于人们头脑之外的客观世界。信息世界:现实世界在人们头脑中的反映,人们把它用文字和符号记载下来。机器世界:信息世界的信息在机器世界中以数据形式存储。现实世界信息世界 概念模型(不依赖computer)机器世界DBMS支持的数据模型 认识、抽象、命名、分类加工转换第6页,本讲稿共90页SQL
4、 Server 2005数据模型数据模型n在数据库中用数据模型这个工具来抽象、表示和处抽象、表示和处理理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟n数据模型应满足三方面要求n能比较能比较真实真实地模拟现实世界地模拟现实世界n容容易易为人所为人所理解理解n便于在计算机上便于在计算机上实现实现第7页,本讲稿共90页SQL Server 2005数据模型数据模型(续续)n数据模型分成两个不同的层次数据模型分成两个不同的层次(1)概念模型概念模型 也称信息模型,它是按用户的观点来对数据也称信息模型,它是按用户的观点来对数据和信息建模。和信息建模。(2)数据模型数据模型 主要包括网状模型
5、、层次模型、关系模型等,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。它是按计算机系统的观点对数据建模。第8页,本讲稿共90页SQL Server 2005数据模型数据模型(续续)n客观对象的抽象过程-两步抽象n现实世界中的客观对象抽象为概念模型;现实世界中的客观对象抽象为概念模型;n把概念模型转换为某一把概念模型转换为某一DBMS支持的数据模型。支持的数据模型。概念模型是现实世界到机器世界的一个中间层次。第9页,本讲稿共90页SQL Server 20052.2 概念模型概念模型1.概念模型2.信息世界中的基本概念3.概念模型的表示方法第10页,本讲稿共90页SQ
6、L Server 20051.概念模型概念模型n概念模型的用途n概念模型用于信息世界的建模概念模型用于信息世界的建模n是现实世界到机器世界的一个中间层次是现实世界到机器世界的一个中间层次n是数据库设计的有力工具是数据库设计的有力工具n数据库设计人员和用户之间进行交流的语言数据库设计人员和用户之间进行交流的语言n对概念模型的基本要求n较较强强的的语语义义表表达达能能力力,能能够够方方便便、直直接接地地表表达达应应用用中中的的各种语义知识各种语义知识n简单、清晰、易于用户理解简单、清晰、易于用户理解。第11页,本讲稿共90页SQL Server 20052.信息世界中的基本概念信息世界中的基本概念
7、(1)实体(Entity)客观存在并可相互区别的事物称为实体。客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念可以是具体的人、事、物或抽象的概念。(2)属性(Attribute)实体所具有的某一特性称为属性。实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。一个实体可以由若干个属性来刻画。(3)码(Key)唯一标识实体的属性集称为码。唯一标识实体的属性集称为码。第12页,本讲稿共90页SQL Server 2005信息世界中的基本概念信息世界中的基本概念(续续)(4)域(Domain)属性的取值范围称为该属性的域属性的取值范围称为该属性的域。(5)实体型(En
8、tity Type)用实体名及其属性名集合来抽象和刻画用实体名及其属性名集合来抽象和刻画同类实体称为实体型同类实体称为实体型(6)实体集(Entity Set)同型实体的集合称为实体集同型实体的集合称为实体集第13页,本讲稿共90页SQL Server 2005信息世界中的基本概念信息世界中的基本概念(续续)(7)联系(Relationship)现实世界中事物内部以及事物之间的联系在信息世界现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系中反映为实体内部的联系和实体之间的联系实体型间联系 两个实体型两个实体型 一对一联系(一对一联系(1:1)三个实体型三个实
9、体型 一对多联系(一对多联系(1:n)一个实体型一个实体型 多对多联系(多对多联系(m:n)第14页,本讲稿共90页SQL Server 2005两个实体型间的联系两个实体型间的联系实体型1联系名实体型2111:1联系实体型1联系名实体型2mnm:n联系实体型1联系名实体型21n1:n联系第15页,本讲稿共90页SQL Server 2005两个实体型间的联系两个实体型间的联系 n一对一联系 n如如果果对对于于实实体体集集A中中的的每每一一个个实实体体,实实体体集集B中中至至多多有有一一个个实实体体与与之之联联系系,反反之之亦亦然然,则则称称实实体体集集A与与实实体体集集B具有一对一联系具有一
10、对一联系。记为。记为1:1。n 实例班级与班长之间的联系:班级与班长之间的联系:一个班级只有一个正班长一个班级只有一个正班长一个班长只在一个班中任职一个班长只在一个班中任职第16页,本讲稿共90页SQL Server 2005两个实体型间的联系两个实体型间的联系(续续)n一对多联系n如如果果对对于于实实体体集集A中中的的每每一一个个实实体体,实实体体集集B中中有有n个个实实体体(n0)与与之之联联系系,反反之之,对对于于实实体体集集B中中的的每每一一个个实实体体,实实体体集集A中中至至多多只只有有一一个个实实体体与与之之联联系系,则则称称实实体体集集A与与实体集实体集B有一对多联系有一对多联系
11、 记为记为1:nn实例班级与学生之间的联系:班级与学生之间的联系:一个班级中有若干名学生,一个班级中有若干名学生,每个学生只在一个班级中学习每个学生只在一个班级中学习第17页,本讲稿共90页SQL Server 2005两个实体型间的联系两个实体型间的联系(续续)n多对多联系(m:n)n如如果果对对于于实实体体集集A中中的的每每一一个个实实体体,实实体体集集B中中有有n个个实实体体(n0)与与之之联联系系,反反之之,对对于于实实体体集集B中中的的每每一一个个实实体体,实实体体集集A中中也也有有m个个实实体体(m0)与与之之联联系系,则则称称实体集实体集A与实体与实体B具有多对多联系。记为具有多
12、对多联系。记为m:nn实例课程与学生之间的联系:课程与学生之间的联系:一门课程同时有若干个学生选修一门课程同时有若干个学生选修一个学生可以同时选修多门课程一个学生可以同时选修多门课程第18页,本讲稿共90页SQL Server 2005多个实体型间的联系多个实体型间的联系(续续)n多个实体型间的一对多联系n若实体集若实体集E1,E2,.,En存在联系,对于实存在联系,对于实体集体集Ej(j=1,2,.,i-1,i+1,.,n)中的给定实体,最多只和中的给定实体,最多只和Ei中的一个实体相中的一个实体相联系,则我们说联系,则我们说Ei与与E1,E2,.,Ei-1,Ei+1,.,En之间的联系是一
13、对多的。之间的联系是一对多的。第19页,本讲稿共90页SQL Server 2005多个实体型间的联系多个实体型间的联系(续续)n实例 课程、教师与参考书三个实体型课程、教师与参考书三个实体型如果一门课程可以有若干个教师讲授,使用若干如果一门课程可以有若干个教师讲授,使用若干本参考书,每一个教师只讲授一门课程,每一本本参考书,每一个教师只讲授一门课程,每一本参考书只供一门课程使用参考书只供一门课程使用课程与教师、参考书之间的联系是一对多的课程与教师、参考书之间的联系是一对多的n多个实体型间的一对一联系n多个实体型间的多对多联系第20页,本讲稿共90页SQL Server 2005同一实体集内各
14、实体间的联系同一实体集内各实体间的联系n一对多联系n实例 职工实体集内部具有领导与被领导的联系职工实体集内部具有领导与被领导的联系某一职工(干部)某一职工(干部)“领导领导”若干名职工若干名职工一个职工仅被另外一个职工直接领导一个职工仅被另外一个职工直接领导这是一对多的联系这是一对多的联系n一对一联系n多对多联系第21页,本讲稿共90页SQL Server 20053.概念模型的表示方法概念模型的表示方法n概念模型的表示方法很多n实体联系方法(E-R方法)n用E-R图来描述现实世界的概念模型nE-R方法也称为E-R模型第22页,本讲稿共90页SQL Server 2005E-R图图n实体型n用
15、矩形表示,矩形框内写明实体名。学生教师第23页,本讲稿共90页SQL Server 2005E-R图图(续续)n属性n用椭圆形表示,并用无向边将其与相应的实体连接起来学生学号年龄性别姓名第24页,本讲稿共90页SQL Server 2005E-R图图(续续)n联系n联系本身:用菱形表示,菱形框内写明联系名,并用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(标上联系的类型(1:1、1:n或或m:n)n联系的属性:联系本身也是一种实体型,也可以有联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,
16、则这些属性也要用无属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来向边与该联系连接起来 第25页,本讲稿共90页SQL Server 2005联系的表示方法联系的表示方法实体型1联系名实体型2111:1联系实体型1联系名实体型2mnm:n联系实体型1联系名实体型21n1:n联系第26页,本讲稿共90页SQL Server 2005联系的表示方法联系的表示方法(续续)实体型1联系名mn同一实体型内部的m:n联系实体型1联系名实体型21m多个实体型间的1:n联系实体型3n第27页,本讲稿共90页SQL Server 2005联系的表示方法示例联系的表示方法示例班级班级-班长班长1
17、11:1联系课程选修学生mnm:n联系班级组成学生1n1:n联系第28页,本讲稿共90页SQL Server 2005联系的表示方法示例联系的表示方法示例(续续)职工领导1n同一实体型内部的1:n联系课程讲授教师1m多个实体型间的1:n联系参考书n第29页,本讲稿共90页SQL Server 2005联系属性的表示方法联系属性的表示方法课程选修学生mn成绩第30页,本讲稿共90页SQL Server 2005E-R图实例图实例(例(例2-1)第31页,本讲稿共90页SQL Server 2005例题:例题:假设一个学生可选多门课程,假设一个学生可选多门课程,而一门课程又有多个学生选修,而一门课
18、程又有多个学生选修,一个教师至多可讲多门课程,一个教师至多可讲多门课程,一门课程至多只有一个教师讲授。一门课程至多只有一个教师讲授。第32页,本讲稿共90页SQL Server 2005实体联系模型(E-R模):教学管理的实体联系模型ER图 第33页,本讲稿共90页SQL Server 2005如何建立实体如何建立实体-联系模型联系模型(1)了解用户需要用数据库解决那些问题;了解用户需要用数据库解决那些问题;(2)确定实体模型应包含哪些实体;确定实体模型应包含哪些实体;(3)这些实体中哪些实体是明显的;这些实体中哪些实体是明显的;(4)根据考虑问题的范围和角度,确定是否有实体间的某种联根据考虑
19、问题的范围和角度,确定是否有实体间的某种联系系 或某个实体的某个属性也应视为概念存在的实体;或某个实体的某个属性也应视为概念存在的实体;(5)根据现有技术条件,实际能够观测和存储那些实体和那些属根据现有技术条件,实际能够观测和存储那些实体和那些属性,等等。性,等等。第34页,本讲稿共90页SQL Server 2005例:例:试设计一个实体-联系模型以存放初二年级期末考试:语文、数学、英语、物理、化学五门课程学生成绩。ER图(1)ER图(2)ER图(3)ER图(4)第35页,本讲稿共90页SQL Server 2005ER图图(1)第36页,本讲稿共90页SQL Server 2005ER图图
20、(2)第37页,本讲稿共90页SQL Server 2005ER图图(3)第38页,本讲稿共90页SQL Server 2005ER图图(4)第39页,本讲稿共90页SQL Server 2005 2.3 数据模型数据模型 2.3.1 数据模型的组成要素数据模型的组成要素 2.3.2 常用数据模型常用数据模型n层次模型层次模型n网状模型网状模型n关系模型关系模型n面向对象模型面向对象模型第40页,本讲稿共90页SQL Server 20052.3.1 数据模型的组成要素数据模型的组成要素n数据结构 n数据操作 n数据的约束条件 第41页,本讲稿共90页SQL Server 2005 1.数据结
21、构数据结构n什么是数据结构n对象类型的集合n两类对象n与数据类型、内容、性质有关的对象n与数据之间联系有关的对象n数据结构是对系统静态特性的描述第42页,本讲稿共90页SQL Server 2005 2.数据操作数据操作 n数据操作n对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则n数据操作的类型n检索n更新(包括插入、删除、修改)第43页,本讲稿共90页SQL Server 2005 数据操作数据操作(续续)n数据模型对操作的定义n操作的确切含义n操作符号n操作规则(如优先级)n实现操作的语言n数据操作是对系统动态特性的描述。第44页,本讲稿共90页SQL Server 2
22、005 3.数据的约束条件数据的约束条件 n数据的约束条件n一组完整性规则的集合。一组完整性规则的集合。n完整性规则是给定的数据模型中数据及其联完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容保证数据的正确、有效、相容。第45页,本讲稿共90页SQL Server 2005 数据的约束条件数据的约束条件(续续)n数据模型对约束条件的定义n反映和规定本反映和规定本数据模型数据模型必须遵守的基本的通用的完整性必须遵守的基本的通用的完
23、整性约束条件。例如在关系模型中,任何关系必须满足实体约束条件。例如在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。完整性和参照完整性两个条件。n提提供供定定义义完完整整性性约约束束条条件件的的机机制制,以以反反映映具具体体应应用用所所涉涉及及的数据必须遵守的特定的语义约束条件的数据必须遵守的特定的语义约束条件。第46页,本讲稿共90页SQL Server 2005 2.3.2 常用数据模型常用数据模型n非关系模型n层次模型(层次模型(Hierarchical Model)n网状模型网状模型(Network Model)n数据结构:以基本层次联系为基本单位 基基本本层层次次联联系系
24、:两两个个记记录录以以及及它它们们之之间间的的一一对对多多(包包括括一一对对一一)的的联联系系n关系模型(Relational Model)n数据结构:表n面向对象模型(Object Oriented Model)n数据结构:对象第47页,本讲稿共90页SQL Server 20052.3.3 层次模型层次模型1.层次数据模型的数据结构 2.层次数据模型的数据操纵3.层次数据模型的与完整性约束 4.层次数据模型的优缺点 5.典型的层次数据库系统第48页,本讲稿共90页SQL Server 20051.层次数据模型的数据结构层次数据模型的数据结构n层次模型 满足下面两个条件的基本层次联系的集合为
25、层次模型。满足下面两个条件的基本层次联系的集合为层次模型。1.有且只有一个结点没有双亲结点,这个结点称为根有且只有一个结点没有双亲结点,这个结点称为根 结点结点2.根以外的其它结点有且只有一个双亲结点根以外的其它结点有且只有一个双亲结点n层次模型中的几个术语n根结点,双亲结点,兄弟结点,叶结点根结点,双亲结点,兄弟结点,叶结点第49页,本讲稿共90页SQL Server 2005层次数据模型的数据结构层次数据模型的数据结构(续)续)1 根结点 2 兄弟结点 3 叶结点 4 兄弟结点 5 叶结点 叶结点第50页,本讲稿共90页SQL Server 2005层次数据模型的数据结构层次数据模型的数据
26、结构(续)续)n表示方法实体型实体型:用记录类型描述。:用记录类型描述。每个结点表示一个记录类型。每个结点表示一个记录类型。属性属性:用字段描述。每个记录类型可包含若干个字段。:用字段描述。每个记录类型可包含若干个字段。联系联系:用结点之间的连线表示记录(类)型之间的:用结点之间的连线表示记录(类)型之间的 一对多的联系一对多的联系实例:实例:学员管理的层次数据模型(学员管理的层次数据模型(P19)第51页,本讲稿共90页SQL Server 2005层次数据模型的数据结构层次数据模型的数据结构(续)续)n特点n结点的双亲是唯一的结点的双亲是唯一的n只能直接处理一对多的实体联系只能直接处理一对
27、多的实体联系n每个记录类型定义一个排序字段,也称为码字段每个记录类型定义一个排序字段,也称为码字段n任何记录值只有按其路径查看时,才能显出它的全部意义任何记录值只有按其路径查看时,才能显出它的全部意义n没有一个子女记录值能够脱离双亲记录值而独立存在没有一个子女记录值能够脱离双亲记录值而独立存在第52页,本讲稿共90页SQL Server 2005层次数据模型的数据结构层次数据模型的数据结构(续)续)n多对多联系在层次模型中的表示n用层次模型用层次模型间接间接表示多对多联系表示多对多联系n方法方法将多对多联系将多对多联系分解分解成一对多联系成一对多联系n分解方法分解方法n冗余结点法冗余结点法n虚
28、拟结点法虚拟结点法第53页,本讲稿共90页SQL Server 20052.层次模型的数据操纵层次模型的数据操纵n 查询n 插入n 删除n 更新第54页,本讲稿共90页SQL Server 20053.层次模型的完整性约束层次模型的完整性约束n无相应的双亲结点值就不能插入子女结无相应的双亲结点值就不能插入子女结点值点值n如果删除双亲结点值,则相应的子女结如果删除双亲结点值,则相应的子女结点值也被同时删除点值也被同时删除n更新操作时,应更新所有相应记录,以更新操作时,应更新所有相应记录,以保证数据的一致性保证数据的一致性第55页,本讲稿共90页SQL Server 20054.层次模型的优缺点层
29、次模型的优缺点n优点n层层次次数数据据模模型型简简单单,对对具具有有一一对对多多的的层层次次关关系系的的部部门门描描述自然、直观,容易理解述自然、直观,容易理解n性能优于关系模型,不低于网状模型性能优于关系模型,不低于网状模型n层次数据模型提供了良好的完整性支持层次数据模型提供了良好的完整性支持n缺点n多对多联系表示不自然多对多联系表示不自然n对插入和删除操作的限制多对插入和删除操作的限制多n查询子女结点必须通过双亲结点查询子女结点必须通过双亲结点n层次命令趋于程序化层次命令趋于程序化第56页,本讲稿共90页SQL Server 20055.典型的层次数据库系统典型的层次数据库系统IMS数据库
30、管理系统n第一个大型商用第一个大型商用DBMSn1968年推出年推出nIBM公司研制公司研制第57页,本讲稿共90页SQL Server 20052.3.4 网状模型网状模型1.网状数据模型的数据结构 2.网状数据模型的数据操纵3.网状数据模型的完整性约束 4.网状数据模型的存储结构 5.网状数据模型的优缺点6.典型的网状数据库系统第58页,本讲稿共90页SQL Server 20051.网状数据模型的数据结构网状数据模型的数据结构n网状模型满满足足下下面面两两个个条条件件的的基基本本层层次次联联系系的的集集合合为为网状模型。网状模型。1.允许一个以上的结点无双亲;允许一个以上的结点无双亲;2
31、.一个结点可以有多于一个的双亲一个结点可以有多于一个的双亲。第59页,本讲稿共90页SQL Server 2005网状数据模型的数据结构网状数据模型的数据结构 1 2 R3 L1L2 R1 R2 L3 L1 L2 R3 L4 R4 R5 第60页,本讲稿共90页SQL Server 2005网状数据模型的数据结构网状数据模型的数据结构(续)续)n表示方法(与层次数据模型相同)实体型实体型:用记录类型描述。:用记录类型描述。每个结点表示一个记录类型。每个结点表示一个记录类型。属性属性:用字段描述。:用字段描述。每个记录类型可包含若干个字段。每个记录类型可包含若干个字段。联系联系:用结点之间的连线
32、表示记录(类)型之:用结点之间的连线表示记录(类)型之 间的间的一对多的父子联系一对多的父子联系。第61页,本讲稿共90页SQL Server 2005网状数据模型的数据结构网状数据模型的数据结构(续)续)n特点n只能直接处理一对多的实体联系只能直接处理一对多的实体联系n每每个个记记录录类类型型定定义义一一个个排排序序字字段段,也也称称为为码码字段字段n任任何何记记录录值值只只有有按按其其路路径径查查看看时时,才才能能显显出出它的全部意义它的全部意义第62页,本讲稿共90页SQL Server 2005网状数据模型的数据结构网状数据模型的数据结构(续)续)n网状模型与层次模型的区别n网状模型允
33、许多个结点没有双亲结点网状模型允许多个结点没有双亲结点n网状模型允许结点有多个双亲结点网状模型允许结点有多个双亲结点n网状模型允许两个结点之间有多种联系(复网状模型允许两个结点之间有多种联系(复合联系)合联系)n网状模型可以更直接地去描述现实世界网状模型可以更直接地去描述现实世界n层次模型实际上是网状模型的一个特例层次模型实际上是网状模型的一个特例第63页,本讲稿共90页SQL Server 2005网状数据模型的数据结构网状数据模型的数据结构(续)续)1 2 R3 L1L2 R1 R2 L3 L1 L2 R3 L4 R4 R5 第64页,本讲稿共90页SQL Server 2005网状数据模
34、型的数据结构网状数据模型的数据结构(续)续)1 L1L2 R2第65页,本讲稿共90页SQL Server 2005网状数据模型的数据结构网状数据模型的数据结构(续)续)学生宿舍学生教研室系教师第66页,本讲稿共90页SQL Server 2005网状数据模型的数据结构网状数据模型的数据结构(续)续)父母人子女树种植砍伐养育赡养第67页,本讲稿共90页SQL Server 2005网状数据模型的数据结构网状数据模型的数据结构(续)续)多对多联系在网状模型中的表示n用网状模型用网状模型间接间接表示多对多联系表示多对多联系n方法方法 将多对多联系将多对多联系直接直接分解成一对多联系分解成一对多联系
35、第68页,本讲稿共90页SQL Server 20052.网状模型的数据操纵网状模型的数据操纵l查询l插入l删除l更新第69页,本讲稿共90页SQL Server 20053.网状数据模型的完整性约束网状数据模型的完整性约束网状数据库系统(如DBTG)对数据操纵加了一些限制,提供了一定的完整性约束n码码n双亲结点与子女结点之间是一对多联系双亲结点与子女结点之间是一对多联系n属籍类别属籍类别n加入类别加入类别(自动的,手工的自动的,手工的)n移出类别移出类别(固定的,必须固定的,必须 的,随意的的,随意的)第70页,本讲稿共90页SQL Server 20053.网状数据模型的完整性约束网状数据
36、模型的完整性约束 n完整性约束条件n允许插入尚未确定双亲结点值的子女结点值允许插入尚未确定双亲结点值的子女结点值n允许只删除双亲结点值允许只删除双亲结点值第71页,本讲稿共90页SQL Server 20054.网状模型的优缺点网状模型的优缺点n优点n能能够够更更为为直直接接地地描描述述现现实实世世界界,如如一一个个结结点点可可以以有有多多个双亲个双亲n具有良好的性能,存取效率较高具有良好的性能,存取效率较高n缺点n结构比较复杂,而且随着应用环境的扩大,数据库的结构结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握就变得越来越复杂,不利于最终用户掌握nDDL
37、、DML语言复杂,用户不容易使用语言复杂,用户不容易使用第72页,本讲稿共90页SQL Server 20055.典型的网状数据库系统典型的网状数据库系统nDBTG系统,亦称CODASYL系统n由由DBTG提出的一个系统方案提出的一个系统方案n奠定了数据库系统的基本概念、方法和技术奠定了数据库系统的基本概念、方法和技术n70年代推出年代推出n实际系统nCullinet Software Inc.公司的公司的 IDMSnUnivac公司的公司的 DMS1100nHoneywell公司的公司的IDS/2nHP公司的公司的IMAGE第73页,本讲稿共90页SQL Server 20052.3.5 关
38、系模型关系模型1.关系数据模型的数据结构 2.关系数据模型的操纵3.关系数据模型的完整性约束 4.关系数据模型的存储结构 5.关系数据模型的优缺点6.典型的关系数据库系统 第74页,本讲稿共90页SQL Server 2005关系模型关系模型n最重要的一种数据模型。也是目前主要采用的数据模型n1970年由美国IBM公司San Jose研究室的研究员E.F.Codd提出n本课程的重点第75页,本讲稿共90页SQL Server 2005关系数据模型的数据结构关系数据模型的数据结构 n在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。第76页,本讲稿共90页SQL Server
39、2005关系模型的基本概念关系模型的基本概念n关系(Relation)一个关系对应通常说的一张表。n元组(Tuple)表中的一行即为一个元组。n属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性名。第77页,本讲稿共90页SQL Server 2005关系模型的基本概念关系模型的基本概念n主码(Key)表中的某个属性组,它可以唯一确定一个元组。n域(Domain)属性的取值范围。n分量元组中的一个属性值。n关系模式对关系的描述关系名(属性1,属性2,属性n)学生(学号,姓名,年龄,性别,系,年级)第78页,本讲稿共90页SQL Server 2005关系数据模型的数
40、据结构关系数据模型的数据结构(续)续)n实体及实体间的联系的表示方法n实体型实体型:直接用关系(表)表示。:直接用关系(表)表示。n属性属性:用属性名表示。:用属性名表示。n一对一联系一对一联系:隐含在实体对应的关系中。:隐含在实体对应的关系中。n一对多联系一对多联系:隐含在实体对应的关系中。:隐含在实体对应的关系中。n多对多联系多对多联系:直接用关系表示:直接用关系表示。第79页,本讲稿共90页SQL Server 2005关系数据模型的数据结构关系数据模型的数据结构(续)续)例1学生、系、系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,系号,年级)学生(学号,姓名,年龄,性别,系号
41、,年级)系系(系号,系名,办公地点系号,系名,办公地点)例2系、系主任、系与系主任间的一对一联系第80页,本讲稿共90页SQL Server 2005关系数据模型的数据结构关系数据模型的数据结构(续)续)例3学生、课程、学生与课程之间的多对多联系:学生(学号,姓名,年龄,性别,系号,年级)学生(学号,姓名,年龄,性别,系号,年级)课程(课程号,课程名,学分)课程(课程号,课程名,学分)选修(学号,课程号,成绩)选修(学号,课程号,成绩)第81页,本讲稿共90页SQL Server 2005关系数据模型的数据结构关系数据模型的数据结构(续)续)n关系必须是规范化的,满足一定的规范条件最基本的规范
42、条件:关系的每一个分量必须是一个不最基本的规范条件:关系的每一个分量必须是一个不可分的数据项。可分的数据项。第82页,本讲稿共90页SQL Server 20052.关系模型的数据操纵关系模型的数据操纵n查询、插入、删除、更新n数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合n存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”第83页,本讲稿共90页SQL Server 20053.关系模型的完整性约束关系模型的完整性约束n实体完整性n参照完整性n用户定义的完整性第84页,本讲稿共90页SQL Server 20054.关系模型的优缺点关系模型的优缺点n优点n建
43、立在严格的数学概念的基础上建立在严格的数学概念的基础上n概念单一。数据结构简单、清晰,用户易懂易用概念单一。数据结构简单、清晰,用户易懂易用n实体和各类联系都用关系来表示。实体和各类联系都用关系来表示。n对数据的检索结果也是关系。对数据的检索结果也是关系。n关系模型的存取路径对用户透明n具有更高的数据独立性,更好的安全保密性具有更高的数据独立性,更好的安全保密性n简化了程序员的工作和数据库开发建立的工作简化了程序员的工作和数据库开发建立的工作第85页,本讲稿共90页SQL Server 2005关系模型的优缺点(续)关系模型的优缺点(续)n缺点存取路径对用户透明导致查询效率往往不如非存取路径对
44、用户透明导致查询效率往往不如非关系数据模型关系数据模型为提高性能,必须对用户的为提高性能,必须对用户的查询请求进行优化查询请求进行优化增加了开发数据库管理系统的难度增加了开发数据库管理系统的难度第86页,本讲稿共90页SQL Server 20055.典型的关系数据库系统典型的关系数据库系统nORACLEnSYBASEnINFORMIXnDB2nCOBASEnPBASEnEasyBasenDM/2nOpenBase第87页,本讲稿共90页SQL Server 20053.4.6 面向对象模型面向对象模型 面向对象模型是数据库系统中最近出现的一种模型。面向对象模型是数据库系统中最近出现的一种模型
45、。面向对象模型中最基本的概念是对象和类。每个对象都有唯一面向对象模型中最基本的概念是对象和类。每个对象都有唯一的标识符把对象的数据和操作封装在一起。共享同一属性集合和的标识符把对象的数据和操作封装在一起。共享同一属性集合和方法集合的所有对象组合在一起构成一个类。方法集合的所有对象组合在一起构成一个类。类具有嵌套结构,一个类从类层次祖先那里继承所有类具有嵌套结构,一个类从类层次祖先那里继承所有的属性和方法。面向对象模型是正在发展中的模型,它的属性和方法。面向对象模型是正在发展中的模型,它比层次模型、网状模型和关系模型具有更为丰富的表达比层次模型、网状模型和关系模型具有更为丰富的表达能力,具有广阔的前途能力,具有广阔的前途第88页,本讲稿共90页SQL Server 2005本章小结本章小结 n n信息的三个世界信息的三个世界n n概念模型表示概念模型表示n n常用数据模型常用数据模型n n数据模型三要素数据模型三要素n n关系模型关系模型n n面向对象模型面向对象模型第89页,本讲稿共90页下课!下课!第90页,本讲稿共90页
限制150内