马鞍山学院《计算机基础》课件-第2章关系数据模型_第1页
马鞍山学院《计算机基础》课件-第2章关系数据模型_第2页
马鞍山学院《计算机基础》课件-第2章关系数据模型_第3页
马鞍山学院《计算机基础》课件-第2章关系数据模型_第4页
马鞍山学院《计算机基础》课件-第2章关系数据模型_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

第二章

关系数据模型学时数:2学时课程类型:理论马鞍山学院《计算机基础》教学目的:l

了解几种典型的数据模型,重点掌握关系模型l

掌握关系数据库的基本概念l

掌握关系代数中6种基本运算教学要求:l

牢记有关概念,掌握6种关系运算第二章关系数据模型课程章节§2.1非关系模型§2.2关系模型§2.3关系运算第二章关系数据模型§2.1非关系模型

2.1.1层次模型(HierarchicalDataModel)满足下面两个条件的基本层次联系的集合为层次模型:(1)有且只有一个结点没有双亲结点,这个结点称为根结点;(2)根以外的其他结点有且只有一个双亲结点。在层次模型中,每个结点表示一个记录类型,记录(类型)之间的联系用结点之间的连线(有向边)表示,这种联系是父子之间的一对多的联系。这就使得层次数据库系统只能处理一对多的实体联系。

第二章关系数据模型1.层次数据模型的数据结构

2.多对多联系在层次模型中的表示

3.层次模型的数据操纵与完整性约束

4.层次数据模型的存储结构

5.层次模型的优缺点

第二章关系数据模型层次模型的优点主要有:

·

层次数据模型本身比较简单。

·

对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型来实现,其性能优于关系模型,不低于网状模型。

·

层次数据模型提供了良好的完整性支持。

层次模型的缺点主要有:

·

现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个双亲等,层次模型表示这类联系的方法很笨拙,只能通过引入冗余数据(易产生不一致性)或创建非自然的数据组织(引入虚拟结点)来解决。

·

对插入和删除操作的限制比较多。

·

查询子女结点必须通过双亲结点。

·

由于结构严密,层次命令趋于程序化。

第二章关系数据模型2.1.2网状模型(NetworkDataModel)

1.网状数据模型的数据结构

把满足以下两个条件的基本层次联系集合称为网状模型:(1)允许一个以上的结点无双亲;(2)一个结点可以有多于一个的双亲。2.网状数据模型的操纵与完整性约束

3.网状数据模型的存储结构

第二章关系数据模型学生选修程课(a)S1C1

S1C2S2C2S2C1S2C3S3C1S3C2S3C3S3C4C1C3C4C2S1S3S2(b)

图2-1网状模型第二章关系数据模型4.网状数据模型的优缺点

网状数据模型的优点主要有:

·

能够更为直接地描述现实世界,如一个结点可以有多个双亲。

·

具有良好的性能,存取效率较高。

网状数据模型的缺点主要有:

·

结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。

·

其DDL,DML语言复杂,用户不容易使用。第二章关系数据模型2.1.3面向对象模型(ObjectOrientedModel)

面向对象模型中最基本的概念是对象(object)和类(class)。1.对象现实世界中实体的模型化,它和记录的概念相似,但更复杂。每个对象有一个唯一的标识符,并把一个状态(state)和一个行为(behavior)封装在一起。2.类每个类有两部分组成,其一是对象类型;其二是对这个对象类型进行的操作方法。对象的状态是描述该对象属性值的集合,对象的行为是对该对象操作的集合。第二章关系数据模型3.类层次一个系统中所有的类和子类组成一个树状的类层次。4.面向对象模型的优缺点优点:由于面向对象模型中不仅包括描述对象状态的属性集,而且包括类的方法及类层次,具有更加丰富的表达能力。因此,面向对象的数据库比层次、网状、关系数据库使用方便。缺点:由于模型复杂,系统实现起来难度大。第二章关系数据模型

§2.2关系模型(RelationDataModel)

2.2.1二维表

关系模型是用二维表的形式来表示实体和实体间联系的数据模型。关系的逻辑结构是一个二维表。表2-1和表2-2分别代表订单和库存两个关系。表2-1订单关系订单号货号订货单位售价订货量送货地点96001JW65阳光公司806.50280天津96002VF90友谊商城588.881700北京96003AB55和平饭店250.991005上海96004EF77五环实业674.00600北京第二章关系数据模型表2-2库存关系货号品名库存量仓库地点单价VF90电话机1000北京550.00JW65收录机300上海800.50SL88录像机2600北京11898.50AB55收音机3000上海280.00EF77电视机1200广州600.00第二章关系数据模型2.2.2关系术语

1.关系(Relations)一个关系对应通常说的一张表;2.元组(Tuples)表中的一行即为一个元组;3.属性(Attributes)表中的一列即为一个属性,给每一个属性起一个名称即属性名。如上表有六列,对应六个属性(学号,姓名,年龄,性别,系和年级);第二章关系数据模型

4.域(Domains)属性的取值范围称为该属性的域。如人的年龄一般在1~150岁之间,大学生年龄属性的域是(14~38),性别的域是(男,女),系别的域是一个学校所有系名的集合;学号的域为8位整数,姓名的域为字符串集合。5.关键字或码(Keys)表中的某个属性组,它可以唯一确定一个元组,如图1.27中的学号,可以唯一确定一个学生,也就成为本关系的主关键字;6.分量(Component):元组中的一个属性值;7.关系模式(RelationSchemas)对关系的描述,一般表示为:关系名(属性1,属性2,…,属性n)第二章关系数据模型相关英文讲解:Recursiverelationship:Arelationshiptypewherethesameentitytypeparticipatesmorethanonceindifferentroles.Attribute:Apropertyofanentityorarelationshiptype.Attributedomain:Thesetofallowablevaluesforoneormoreattributes.Candidatekey:Theminimalsetofattributesthatuniquelyidentifieseachoccurrenceofanentitytype.第二章关系数据模型2.2.3关系模型的特点

1.关系必须规范化所谓规范化是指关系模型中的每一个关系模式都必须满足一定的要求。2.

模型概念单一无论实体还是实体之间的联系都用关系表示。对数据的检索结果也是关系(即表)。所以其数据结构简单、清晰,用户易懂易用。3.集合操作在关系模型中,操作的对象和结果都是元组的集合,即关系。第二章关系数据模型关系数据模型还具有下列优点:

·关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。

·关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。关系数据模型最主要的缺点是,由于存取路径对用户透明,查询效率往往不如非关系数据模型。因此为了提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统难度。第二章关系数据模型§2.3关系运算

关系代数的运算对象是关系,运算结果亦为关系。关系代数用到的运算符包括四类:集合运算符、专门的关系运算符、算术比较符和逻辑运算符。关系代数的运算按运算符的不同可分为传统的集合运算和专门的关系运算两类。第二章关系数据模型2.3.1传统的集合运算传统的集合运算是二目运算,包括并、差、交三种运算。1.并运算(Union)设有两个关系R和S,它们具有相同的元素。R和S的并是由属于R或属于S的元素组组成的集合。2.差运算(Difference)设有两个关系R和S,它们具有相同的元数。R和S的差是由属于R但不属于S的元组组成的集合。3.交(Intersection)设有两个关系R和S,它们具有相同的元数。R和S的交是由既属于R又属于S的元组组成的集合。第二章关系数据模型2.3.2选择运算(Selection)选择运算是从指定的关系中选取满足给定条件的若干元组以构成一个新关系的运算,其表现形式为:

SELECT关系名

WHERE条件

其中,条件是由常数、字段名及其通过相应的比较运算符和逻辑运算符连接形成逻辑运算式组成的。第二章关系数据模型例1:设有关系图书如表所示,从图书中找出书名是“数据库理论”的书目。

图书目总编号分类号书名作者出版单位单价

445501445502445503332211112266665544114455113388TP3/12TP3/12TP3/12TP5/10TP3/12TS7/21TR9/12TR7/90数据库导论数据库导论数据库导论计算机基础FoxBASE高等数学线性代数大学英语DateDateDate李伟张三刘明孙业胡玲科技出版社科技出版社科技出版社高等教育出版社电子工业出版社高等教育出版社北京大学出版社清华大学出版社17.9017.9017.9018.0032.6019.0020.8012.50SELECT图书WHERE书名=″数据库导论″查询结果包括3个元组第二章关系数据模型例2:从图书中找出高等教育出版社出版的,单价不超过20元的书目。SELECT图书WHERE出版单位=“高等教育出版社”AND单价<=20

查询结果包括两个元组第二章关系数据模型2.3.3投影运算(Projection)关系R上的投影是从R中选择出若干属性列组成新的关系。投影运算是从指定的关系中选取指定的若干字段从而构成一个新关系的运算,其表现形式为:PROJECT关系名(字段名1,字段名2,……,字段名n)第二章关系数据模型例3:设有读者关系,读者(借书证号、姓名、性别、单位、职称、地址)。按照单位在前,姓名在后的次序列出读者名单。PROJECT读者(单位、姓名)

此运算结果包括元组数目不变,但减少了列的数目,同时列的顺序颠倒过来了。例4:从图书中找出藏书所涉及的所有的出版社。PROJECT图书(出版社)查询结果包括5个元组。

投影之后不仅减少了某些列,也可能减少了某些元组。以为取消了某些属性之后,其余属性可能有相同的值,造成重复元组,应当删除完全相同的元组。第二章关系数据模型2.3.4联接运算(Join)

选择和投影运算都属于一目运算,它们的操作对象只是一个关系。连接运算是二目运算,需要两个关系作为操作对象。1.联接联接运算是选取若干个指定关系中的字段满足给定条件的元组从左至右连接,从而构成一个新关系的运算,其表现形式为:

JOIN〈关系1〉AND〈关系2〉WHERE〈条件〉第二章关系数据模型例5

:设有订单和库存两个关系如表2-4和表2-5所示。查看存库量的商品详情。

表2-4定单关系订单号货号订货单位售价订货量送货地点96001JW65阳光公司806.50280天津96002VF90友谊商城588.881700北京96003AB55和平饭店250.991005上海96004EF77五环实业590.00600北京第二章关系数据模型货号品名库存量仓库地点单价VF90电话机1000北京550.00JW65收音机300上海800.50SL88录像机2600北京11898.50AB55收音机3000上海280.00EF77电视机1200广州600.00表2-5库存关系第二章关系数据模型表2.6定单关系订货号货号订货单位售价订购量送货地点品名存库量仓库地点单价96001JW65阳光公司806.50280天津收音机300上海800.5096003AB55和平饭店250.991005上海收音机3000上海280.0096004EF77五还实业674.00600北京电视机1200广州600.00JOIN订单AND库存WHERE订单(货号)=库存(货号)AND库存量>=订购量结果如表2-6所示。表2-6例5联接结果第二章关系数据模型例6:设有3个关系:学生(学号,姓名,所在系,性别,籍贯,现住址……)课程(课程号,课程名称,学分,课时……)选修(学号,课程号,成绩)查询成绩90分以上的学生姓名。R1=SELECT选修WHERE成绩>=90R2=PROJECT学生(学号,姓名)R3=JOINR1ANDR2WHERER1(学号)=R2(学号)如果用以下方式查询,效率则低得多。S1=JOIN选课AND学生WHERE选课(学号)=学生(学号)S2=SELECTS1WHERE成绩>=90第二章关系数据模型例7查看选修了“操作系统”课程的学生详细情况。S1=SELECT课程WHERE课程名=“操作系统”S2=PROJECTS1(课程号,课程名)S3=JOIN选修ANDS2WHERE选课(课程号)=S2(课程号)S4=JOIN学生ANDS3WHERE学生(学号)=S3(学号)通过上述例子可见,不同关系中的公共属性是自然联接的“纽带”。利用关系的投影、选择和自然联接可以方便地构造新的关系。2.自然联接自然联接是去掉重复属性的等值联接。它属于联接运算的一个特例,是最常用的联接运算,在关系运算中起着重要作用。第二章关系数据模型

2.3.5外关键字

定义:如果一个关系中的属性或属性组并非该关系的关键字,但它们是另外一个关系的关键字,则称其为该关系的外关键字。在例5、例6中,订单关系中的关键字是订单号,属性货号不是本关系的关键字,而是库存关系的关键字。因此,对于订单关系而言,货号是外关键字。在例7、例8中,选修关系的关键字是属性组合(学号,课程号);学号或课程号的任何一个都不能唯一确定选修关系的整个元组,但它们分别是学生和课程关系的关键字。因此,对于选修而言,它们是外关键字。第二章关系数据模型本章小结

在这一章,我们首先简单介绍了非关系模型:层次模型、网状模型、面向对象模型。然后重点介绍了关系数据模型。通俗的讲,一个关系就是一个二维表。表中的一行是关系的一个元组,表中的一列为关系中一个属性的具体值。应当掌握关系模型的特点和关系运算

温馨提示

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

评论

0/150

提交评论