《数据库》第01_2章_第1页
《数据库》第01_2章_第2页
《数据库》第01_2章_第3页
《数据库》第01_2章_第4页
《数据库》第01_2章_第5页
已阅读5页,还剩101页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章第一章 绪论绪论本章主要内容本章主要内容1.1数据库系统概述1.2数据模型*(重点)1.3数据库系统结构1.4数据库系统的组成1.5小结 o 熟悉数据库及相关概念o 熟悉数据模型熟悉数据模型o 了解数据库系统结构 学习目标学习目标回顾回顾o数据库是长期储存在计算机内、有组织的有组织的、可共享的大量相关数据的集合。o数据库中的数据是按一定的数据模型数据模型组织、描述和存储。o现有的数据库系统均是基于某种数据模型的。1.2 数据模型数据模型o在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。o通俗地讲,数据模型就是现实世界的模拟o数据模型应满足三方面要求:n能比较真实地模

2、拟现实世界n容易为人所理解n便于在计算机上实现o数据模型分成两个不同的层次:(1) 概念模型概念模型:也称信息模型,它是按用户的观点来对数据和信息建模(2) 数据模型数据模型:主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模1.2 数据模型数据模型 客观对象的抽象过程-两步抽象n现实世界中的客观对象抽象为概念模型;n把概念模型转换为某一DBMS支持的数据模型。 概念模型是现实世界到机器世界的一个中间层次。1.2 数据模型数据模型现实世界现实世界认认识识抽抽象象信息世界信息世界概念模型概念模型机器世界机器世界DBMS支持的数据模型支持的数据模型现现实实世世界界中中客客观观

3、对对象象的的抽抽象象过过程程转换转换1.2.1 数据模型的组成要素数据模型的组成要素n数据模型是严格定义的一组概念的集合。这些概念精确地描述了系统的静态特性、动态特性和完整性约束条件。v数据结构 v数据操作 v数据的约束条件 一、一、 数据结构数据结构o数据结构的定义 所研究的对象类型的集合o两类对象n与数据类型、内容、性质有关的对象如网状模型中的数据项、记录,关系模型中的域、属性、关系等n与数据之间联系有关的对象o数据结构是对系统静态特性的描述1.2.1 数据模型的组成要素数据模型的组成要素二、数据操作二、数据操作 数据操作的定义数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规

4、则 数据操作的类型n 检索n更新(包括插入、删除、修改)1.2.1 数据模型的组成要素数据模型的组成要素数据模型对操作的定义n操作的确切含义n操作符号n操作规则(如优先级)n实现操作的语言数据操作是对系统动态特性的描述。二、数据操作二、数据操作 1.2.1 数据模型的组成要素数据模型的组成要素 三、数据的约束条件三、数据的约束条件 n是一组完整性规则的集合。n完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。1.2.1 数据模型的组成要素数据模型的组成要素数据模型对约束条件的定义n反映和规定本数据模型必

5、须遵守的基本的通用的完整性约束条件。如关系模型中,任何关系必须满足实体完整性和参照完整性两个条件n提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。如学籍数据库中规定入学年龄不超过30岁等 三、数据的约束条件三、数据的约束条件 1.2.1 数据模型的组成要素数据模型的组成要素 1.2.2 概念模型概念模型o概念模型的用途n概念模型用于信息世界的建模n是现实世界到机器世界的一个中间层次n是数据库设计的有力工具n数据库设计人员和用户之间进行交流的语言对概念模型的基本要求n较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识n简单、清晰、易于用户理解。 1

6、.2.2 概念模型概念模型一、一、 信息世界中的基本概念信息世界中的基本概念1、 实体实体(Entity) 客观存在并可相互区别的事物称为客观存在并可相互区别的事物称为实体实体。可以是具体的人、事、物或抽象的概念可以是具体的人、事、物或抽象的概念。2、 属性属性(Attribute) 实体所具有的某一特性称为实体所具有的某一特性称为属性属性。一个实体可以由若干个属性来刻画。一个实体可以由若干个属性来刻画。 3、码码(Key) 唯一标识实体的属性集称为唯一标识实体的属性集称为码码。4、 域域(Domain) 属性的取值范围称为该属性的属性的取值范围称为该属性的域域。(定义域) 5、 实体型实体型

7、(Entity Type) 用实体名及其属性名集合来抽象和刻画同类实体称为用实体名及其属性名集合来抽象和刻画同类实体称为实体型实体型6、实体集实体集(Entity Set) 同型实体的集合称为同型实体的集合称为实体集实体集一、信息世界中的基本概念一、信息世界中的基本概念一、一、 信息世界中的基本概念信息世界中的基本概念实体型实体型实体集实体集属性属性(每(每一列)一列)码码(学号)(学号)7、联系联系(Relationship) n现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。联系。n实体型间联系: 一对一联系(一对一联系(1:11:1)一个班只能有一个

8、班长,一个班长只在一个班一个班只能有一个班长,一个班长只在一个班 一对多联系(一对多联系(1:n1:n) 工人和仓库工人和仓库多对多联系(多对多联系(m:nm:n) 学生和课学生和课一、一、 信息世界中的基本概念信息世界中的基本概念两个实体型间的联系两个实体型间的联系实体型实体型1 1联系名联系名实体型实体型2 21 11 11:11:1联系联系实体型实体型1 1联系名联系名实体型实体型2 2m mn nm:nm:n联系联系实体型实体型1 1联系名联系名实体型实体型2 21 1n n1:n1:n联系联系v一对一联系一对一联系 n如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体

9、,实体集B中至中至多有一个实体与之联系,反之亦然,则称实体集多有一个实体与之联系,反之亦然,则称实体集A与实体集与实体集B具有一对一联系。记为具有一对一联系。记为1:1。n实例:实例:班级与班长之间的联系:班级与班长之间的联系:一个班级只有一个正班长,一个班长只在一个班一个班级只有一个正班长,一个班长只在一个班中任职中任职两个实体型间的联系两个实体型间的联系v一对多联系一对多联系n如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中有中有n个实体个实体(n0)与之联系,反之,对于实体集与之联系,反之,对于实体集B中中的每一个实体,实体集的每一个实体,实体集A中至多只有

10、一个实体与之中至多只有一个实体与之联系,则称实体集联系,则称实体集A与实体集与实体集B有一对多联系,记有一对多联系,记为为1:n。n实例:实例:班级与学生之间的联系:班级与学生之间的联系: 一个班级中有若干名学生,每个学生只在一个班一个班级中有若干名学生,每个学生只在一个班级中学习级中学习两个实体型间的联系两个实体型间的联系v多对多联系多对多联系(m:n)n如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中有中有n个实体个实体(n0)与之联系,反之,对于实体集与之联系,反之,对于实体集B中中的每一个实体,实体集的每一个实体,实体集A中也有中也有m个实体个实体(m0)

11、与之联系,则称实体集与之联系,则称实体集A与实体与实体B具有多对多联系。具有多对多联系。记为记为m:nn实例:实例:课程与学生之间的联系:课程与学生之间的联系:一门课程同时有若干个学生选修,一个学生可以同时一门课程同时有若干个学生选修,一个学生可以同时选修多门课程选修多门课程两个实体型间的联系两个实体型间的联系v一对多联系一对多联系n若实体集若实体集E1,E2,.,En存在联系,对于实体集存在联系,对于实体集Ej(j=1,2,.,i-1,i+1,.,n)中的给定实体,最中的给定实体,最多只和多只和Ei中的一个实体相联系,则我们说中的一个实体相联系,则我们说Ei与与E1,E2,.,Ei-1,Ei

12、+1,.,En之间的联系是一对多的。之间的联系是一对多的。多个实体型间联系多个实体型间联系o实例实例n 课程、教师与参考书三课程、教师与参考书三个实体型个实体型n 如果一门课程可以有若如果一门课程可以有若干个教师讲授,使用若干个教师讲授,使用若干本参考书,而每一个干本参考书,而每一个教师只讲授一门课程,教师只讲授一门课程,每一本参考书只供一门每一本参考书只供一门课程使用,课程与教师、课程使用,课程与教师、参考书之间的联系是一参考书之间的联系是一对多的对多的课程课程讲授讲授教师教师1 1m m多个实体型间的多个实体型间的1:n1:n联系联系参考书参考书n n多个实体型间联系多个实体型间联系v一对

13、一联系一对一联系v多对多联系多对多联系多个实体型间联系多个实体型间联系同一实体集内各实体间的联系同一实体集内各实体间的联系v一对多联系一对多联系n实例实例o职工实体集内部具有领导与被领导的联系职工实体集内部具有领导与被领导的联系 某一职工(干部)某一职工(干部)“领导领导”若干名职工,若干名职工,一个职工仅被另外一个职工直接领导。这一个职工仅被另外一个职工直接领导。这是一对多的联系是一对多的联系v一对一联系一对一联系v多对多联系多对多联系职工职工领导领导1 1n n同一实体型内部的同一实体型内部的1:n1:n联系联系同一实体集内各实体间的联系同一实体集内各实体间的联系同一实体集内各实体间的联系

14、同一实体集内各实体间的联系v一对多联系一对多联系v一对一联系v多对多联系二、二、 概念模型的表示方法概念模型的表示方法o概念模型的表示方法很多,最著名的是实实体联系体联系(Entity-Relationship)方法。o实体联系方法(E-R方法)n用用E-R图来描述现实世界的概念模型图来描述现实世界的概念模型nE-R方法也称为方法也称为E-R模型模型E-R图图v实体型n用矩形表示,矩形框内写明实体名。学生学生教师教师v属性n用椭圆形表示,并用无向边将其与相应的实体连接起来学生学生学号学号年龄年龄性别性别姓名姓名E-R图图v联系联系n联系本身联系本身:用菱形表示,菱形框内写明联系名,并用用菱形表

15、示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(上联系的类型(1:1、1:n或或m:n) E-R图图联系的表示方法联系的表示方法实体型实体型1 1联系名联系名实体型实体型2 21 11 11:11:1联系联系实体型实体型1 1联系名联系名实体型实体型2 2m mn nm:nm:n联系联系实体型实体型1 1联系名联系名实体型实体型2 21 1n n1:n1:n联系联系两个实体型间的联系两个实体型间的联系联系的表示方法实例联系的表示方法实例班级班级班级班级- -班长班长班长班长1 11 11:11:1联系联系课程

16、课程选修选修学生学生m mn nm:nm:n联系联系班级班级组成组成学生学生1 1n n1:n1:n联系联系两个实体型间的联系实例两个实体型间的联系实例实体型实体型1 1联系名联系名m mn n同一实体型内同一实体型内部的部的m:nm:n联系联系实体型实体型1 1联系名联系名实体型实体型2 21 1m m多个实体型间的多个实体型间的1:n1:n联系联系实体型实体型3 3n n联系的表示方法联系的表示方法职工职工领导领导1 1n n同一实体型内部同一实体型内部的的1:n1:n联系联系课程课程讲授讲授教师教师1 1m m多个实体型间的多个实体型间的1:n1:n联系联系参考书参考书n n联系的表示方

17、法实例联系的表示方法实例v联系联系n联系的属性联系的属性:联系本身也是一种实体型,也可以有属联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来边与该联系连接起来。E-R图图联系属性的表示方法联系属性的表示方法课程课程选修选修学生学生m mn n成绩成绩E-R图实例:某工厂物资管理E-R图o实体及其属性n人员某工厂物资管理某工厂物资管理E-R图图职工号职工号姓名姓名年龄年龄职工职工职称职称供应商号供应商号姓名姓名地址地址供应商供应商电话号电话号账号账号仓库号仓库号面积面积电话号电话号仓库仓库零件号零件号

18、名称名称规格规格零件零件单价单价描述描述某工厂物资管理某工厂物资管理E-R图图o实体及其属性n资源项目号项目号预算预算开工日期开工日期项目项目某工厂物资管理某工厂物资管理E-R图图o实体及其属性n项目实体及其联系图实体及其联系图供应商供应商项目项目零件零件仓库仓库职工职工供应供应库存库存领导领导供应量供应量工作工作库存量库存量1n1nmnmnp名称名称完整的完整的E-R图图供应商供应商项目项目零件零件仓库仓库职工职工供应供应库存库存领导领导工作工作1n1nmnmnp供应商号供应商号姓名姓名地址地址电话号电话号账号账号职工号职工号姓名姓名年龄年龄职称职称仓库号仓库号面积面积电话号电话号零件号零件

19、号规格规格单价单价描述描述项目号项目号预算预算开工日期开工日期供应量供应量库存量库存量1.2.3 常用数据模型常用数据模型一、层次模型(Hierarchical Model)二、网状模型(Network Model )三、关系模型(Relational Model)*四、面向对象模型(Object Oriented Model)n在非关系模型中,实体用记录表示,实体的属性对应记录的数据项(字段)。n实体之间的联系在非关系模型中转换成记录之间的两两联系n数据结构:以基本层次联系为基本单位n基本层次联系:两个记录以及它们之间的一对多(包括一对一)的联系n非关系模型中数据结构的单位是基本层次联系l非

20、关系模型(层次和网状)非关系模型(层次和网状)1.2.3 常用数据模型常用数据模型 数据结构:表数据结构:对象1.2.3 常用数据模型常用数据模型一、 层次数据模型的数据结构n层次模型满足下面两个条件的基本层次联系的集合为层次模型。1. 有且只有一个结点没有双亲结点,这个结点称为根 结点2. 根以外的其它结点有且只有一个双亲结点n 层次模型中的几个术语根结点,双亲结点,兄弟结点,叶结点1.2.4 层次模型层次模型o表示方法实体型:用记录类型描述。每个结点表示一个记录类型。属性:用字段描述。每个记录类型可包含若干个字段。联系:用结点之间的连线(有向线)表示记录(类)型之间的一对多的联系一、一、

21、层次数据模型的数据结构层次数据模型的数据结构一、一、 层次数据模型的数据结构层次数据模型的数据结构根结点根结点兄弟结点兄弟结点 叶结点叶结点兄弟结点兄弟结点 叶结点叶结点叶结点叶结点R1R3R2R4R5o特点n结点的双亲是唯一的(根结点也是唯一的)n只能直接处理一对多的实体联系n每个记录类型定义一个排序字段,也称为码字段码字段n任何记录值只有按其路径查看时,才能显出它的全部意义n没有一个子女记录值能够脱离双亲记录值而独立存在一、一、 层次数据模型的数据结构层次数据模型的数据结构一、一、 层次数据模型的数据结构层次数据模型的数据结构o实例:实例:教员教员-学生数据模型学生数据模型一、一、 层次数

22、据模型的数据结构层次数据模型的数据结构o多对多联系在层次模型中的表示n用层次模型间接表示多对多联系n方法o将多对多联系分解成一对多联系将多对多联系分解成一对多联系n分解方法o冗余结点法冗余结点法o虚拟结点法虚拟结点法一、一、 层次数据模型的数据结构层次数据模型的数据结构二、二、 层次模型的数据操纵与完整性约束层次模型的数据操纵与完整性约束n数据操纵有数据操纵有:n 查询n 插入n 删除n 更新n完整性约束有:n无相应的双亲结点值就不能插入子女结点值无相应的双亲结点值就不能插入子女结点值n如果删除双亲结点值,则相应的子女结点值如果删除双亲结点值,则相应的子女结点值也被同时删除也被同时删除n更新操

23、作时,应更新所有相应记录,以保证更新操作时,应更新所有相应记录,以保证数据的一致性数据的一致性二、二、 层次模型的数据操纵与完整性约束层次模型的数据操纵与完整性约束三、层次数据模型的存储结构三、层次数据模型的存储结构1. 邻接法邻接法按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序2. 链接法用指引元来反映数据之间的层次联系v子女兄弟链接法v层次序列链接法三、层次数据模型的存储结构三、层次数据模型的存储结构三、层次数据模型的存储结构三、层次数据模型的存储结构2. 链接法v子女兄弟链接法:每个记录设两个指引元,一个指向最大(最左)子女,一个指向最邻近的兄弟

24、三、层次数据模型的存储结构三、层次数据模型的存储结构2. 链接法v层次序列链接法四、 层次模型的优缺点v优点n层次数据模型简单,对具有一对多的层次关系的部门描述自然、直观,容易理解n性能优于关系模型,不低于网状模型n层次数据模型提供了良好的完整性支持v缺点n多对多联系表示不自然n对插入和删除操作的限制多n查询子女结点必须通过双亲结点n层次命令趋于程序化典型的层次数据库系统oIMS数据库管理系统n第一个大型商用DBMSn1968年推出nIBM公司研制一、网状数据模型的数据结构一、网状数据模型的数据结构o网状模型 满足下面两个条件的基本层次联系的集合为网状模型1. 允许一个以上的结点无双亲;2.

25、一个结点可以有多于一个的双亲。1.2.5 网状模型网状模型一、网状数据模型的数据结构一、网状数据模型的数据结构o网状数据模型的表示方法(与层次数据模型相同)实体型:用记录类型描述。 每个结点表示一个记录类型。属性:用字段描述。 每个记录类型可包含若干个字段。联系:用结点之间的连线表示记录(类)型之 间的一对多的父子联系。一、网状数据模型的数据结构一、网状数据模型的数据结构o网状数据模型的数据结构特点n只能直接处理一对多的实体联系n每个记录类型定义一个排序字段,也称为码字段n任何记录值只有按其路径查看时,才能显出它的全部意义一、网状数据模型的数据结构一、网状数据模型的数据结构o网状模型允许多个结

26、点没有双亲结点o网状模型允许结点有多个双亲结点o网状模型允许两个结点之间有多种联系(复合联系)o网状模型可以更直接地去描述现实世界o层次模型实际上是网状模型的一个特例网状模型与层次模型的区别网状模型与层次模型的区别一、网状数据模型的数据结构一、网状数据模型的数据结构(举例举例)复合联系复合联系一、网状数据模型的数据结构一、网状数据模型的数据结构(举例举例)父母父母人人子女子女树树种种植植砍砍伐伐养养育育赡赡养养复合联系复合联系(举例举例)一、网状数据模型的数据结构一、网状数据模型的数据结构(举例举例)o多对多联系在网状模型中的表示n用网状模型间接表示多对多联系n方法 将多对多联系直接分解成一对

27、多联系一、网状数据模型的数据结构一、网状数据模型的数据结构一、网状数据模型的数据结构一、网状数据模型的数据结构例如:一个学生可以选修若干门课程,某一课程可以被多个学生选修,学生与课程之间是多对多联系 引进一个学生选课的联结记录,由3个数据项组成学号课程号成绩表示某个学生选修某一门课程及其成绩 一、网状数据模型的数据结构一、网状数据模型的数据结构图1.24 学生/选课/课程的网状数据模型 二、网状模型的数据操纵与完整性约束二、网状模型的数据操纵与完整性约束n 数据操作主要有:n 查询n 插入n 删除n 更新o网状数据库系统(如DBTG)对数据操纵加了一些限制,提供了一定的完整性约束:n记录码n双

28、亲结点与子女结点之间是一对多联系n可以支持双亲记录和子女记录之间某些约束条件二、网状模型的数据操纵与完整性约束二、网状模型的数据操纵与完整性约束三、网状数据模型的存储结构三、网状数据模型的存储结构n 关键n 实现记录之间的联系n 常用方法n 单向链接n 双向链接n 环状链接n 向首链接四、网状模型的优缺点四、网状模型的优缺点n优点:n能够更为直接地描述现实世界,如一个结点可以有多个双亲n具有良好的性能,存取效率较高n缺点:n结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握nDDL、DML语言复杂,用户不容易使用典型的网状数据库系统典型的网状数据库系统nDB

29、TG系统,亦称CODASYL系统n由由DBTG提出的一个系统方案提出的一个系统方案n奠定了数据库系统的基本概念、方法和技术奠定了数据库系统的基本概念、方法和技术n20世纪世纪70年代推出年代推出n实际系统nCullinet Software Inc.公司的公司的 IDMSnUnivac公司的公司的 DMS1100nHoneywell公司的公司的IDS/2nHP公司的公司的IMAGEo最重要的一种数据模型。也是目前主要采用的数据模型o1970年由美国IBM公司San Jose研究室的研究员E.F.Codd提出关系模型,开创了数据库关系方法和关系数据理论o关系模型是建立在严格的数学概念的基础上的1

30、.2.6 关系模型关系模型(最重要)(最重要)一、关系数据模型的数据结构一、关系数据模型的数据结构 o在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。关系模型的基本概念关系模型的基本概念n关系(Relation)一个关系对应通常说的一张表。n元组(Tuple)表中的一行即为一个元组。n属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性名。关系模型的基本概念关系模型的基本概念n主码(Key)表中的某个属性组,它可以唯一确定一个元组。n域(Domain)属性的取值范围。n分量元组中的一个属性值。n关系模式对关系的描述,一般描述为:关系名(属性1,属性

31、2,属性n)如:学生(学号,姓名,年龄,性别,系,年级)n实体型:直接用关系(表)表示。n属性:用属性名表示。n一对一联系:隐含在实体对应的关系中。n一对多联系:隐含在实体对应的关系中。n多对多联系:直接用关系表示。实体及实体间的联系的表示方法实体及实体间的联系的表示方法关系关系o例1n学生、系,系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,系号,年级)系 (系号,系名,办公地点)o例2n系、系主任,系与系主任间的一对一联系系 (系号,系名,办公地点)系主任(姓名,年龄,性别,系号)实体及实体间的联系的表示方法实体及实体间的联系的表示方法关系关系o例3n学生、课程,学生与课程之间的多

32、对多联系: 学生(学号,姓名,年龄,性别,系号,年级)课程(课程号,课程名,学分)选修(学号,课程号,成绩)实体及实体间的联系的表示方法实体及实体间的联系的表示方法关系关系o关系必须是规范化的,满足一定的规范条件n最基本的规范条件:关系的每一个分量必须是一个不可分的数据项,即不允许表中还有表不合格的关系模型实体及实体间的联系的表示方法实体及实体间的联系的表示方法关系关系二、关系模型的数据操纵二、关系模型的数据操纵n查询、插入、删除、更新n关系模型的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合n存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”,提高了数据独立

33、性和用户生产率实体完整性参照完整性用户定义的完整性二、关系模型的完整性约束二、关系模型的完整性约束三、关系数据模型的存储结构三、关系数据模型的存储结构n表以文件形式存储n有的DBMS一个表对应一个操作系统文件n有的DBMS自己设计文件结构四、关系模型的优缺点四、关系模型的优缺点o 优点n建立在严格的数学概念的基础上n概念单一,数据结构简单、清晰,用户易懂易用o实体和各类联系都用关系来表示。o对数据的检索结果也是关系。n关系模型的存取路径对用户隐蔽o具有更高的数据独立性,更好的安全保密性o简化了程序员的工作和数据库开发建立的工作o 缺点n存取路径对用户透明导致查询效率往往不如非关系数据模型n为提

34、高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度四、关系模型的优缺点四、关系模型的优缺点典型的关系数据库系统典型的关系数据库系统nORACLEnSYBASEnINFORMIXnDB/2nE-R模型向关系模型的转换模型向关系模型的转换o用E-R图描述了系统中实体集与实体集之间的联系,但是E-R模型只能说明实体间语义的联系,还不能进一步说明详细的数据结构。o一般遇到一个实际的问题,总是先设计一个E-R模型,然后再把E-R模型转换为计算机可以实现的数据模型,在这里以关系模型为例。o前面已经介绍了实体集之间的联系,为(1:1)、(1:n)和(m:n)3种联系之一,下面根据3种联系介

35、绍从E-R图获得关系模式的方法。1(1 1)联系的E-R图到关系模式的转换2(1 n)联系的E-R图到关系模式的转换3(m n)联系的E-R图到关系模式的转换(1 1)联系的联系的E-R图到关系模式的转换图到关系模式的转换转换原则:o每个实体集各对应一个关系模式;o对于(1:1)的联系联系,1)可以单独对应一个关系模式:由联系属性、参与联系的各实体集的主码构成关系模式,其主码可选参与联系的实体集的任一的主码。2)也可以由联系属性及一方的主码加入到另一方实体集对应的关系模式。(1 1)联系的联系的E-R图到关系模式的转换图到关系模式的转换方法方法1 1:班级(班级(班级编号班级编号,院系,专业,

36、人,院系,专业,人数)数)正班长(正班长(学号学号,姓名),姓名)属于(属于(学号学号,班级编号),班级编号)方法方法2 2:班级(班级(班级编号班级编号,院系,专业,人数),院系,专业,人数)正班长(正班长(学号学号,姓名,班级编号),姓名,班级编号)厂长厂长姓名姓名年龄年龄性别性别工厂工厂入厂时间入厂时间管理管理11厂名厂名成立时间成立时间地址地址身份证号身份证号编号编号请写出该请写出该E-RE-R模型的关系模式模型的关系模式方法方法1 1:厂长(厂长(身份证号身份证号,姓名,年龄,姓名,年龄,性别,入厂时间)性别,入厂时间)工厂(工厂(编号编号,厂名,成立时间,厂名,成立时间,地址)地址

37、)管理(管理(身份证号身份证号,编号),编号)方法方法2 2:厂长(身份证号,姓名,年龄,厂长(身份证号,姓名,年龄,性别,入厂时间)性别,入厂时间)工厂(编号,厂名,成立时间,工厂(编号,厂名,成立时间,地址,身份证号)地址,身份证号)(1 n)联系的联系的E-R图到关系模式的转换图到关系模式的转换转换原则:o每个实体集各对应一个关系模式;o对于(1:n)的联系联系,1)可以单独对应一个关系模式:由联系属性、参与联系的各实体集的主码构成关系模式,n端的主码为该关端的主码为该关系模式的主码系模式的主码。2)也可以由联系属性及1端的主码加入到n端实体集对应的关系模式中,主码仍为主码仍为n端的主码端的主码。方法方法1 1:班级(班级(班级编号班级编号,院

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论