《关系database》PPT课件.ppt_第1页
《关系database》PPT课件.ppt_第2页
《关系database》PPT课件.ppt_第3页
《关系database》PPT课件.ppt_第4页
《关系database》PPT课件.ppt_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

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

文档简介

第二章关系数据库,本章内容概述,关系模型的基本概念关系的码关系代数关系演算关系代数表达式的优化,2.1关系模型概述,关系数据库,是建立在关系数据模型基础上的数据库系统关系模型又是基于数学方面的数据抽象理论关系数据库,用数学的方法来处理数据库中的数据,2.1.1关系数据模型的基本概念,关系模型的组成:数据结构关系的操作完整性约束,数据结构:关系模型中数据的逻辑结构是一张二维表关系的操作:(1)查询操作:A选择B连接C除D并E交F差(2)更新操作:A增加B删除C修改,表达关系操作的关系数据语言,关系代数关系代数是用对关系的运算来表达查询要求的方式。关系演算关系演算是用谓词来表达查询要求的方式。介于关系代数和关系演算之间的语言SQL(StructuredQueryLanguage),完整性约束:(1)实体完整性(2)参照完整性(3)用户定义的完整性,设D1,D2,Dn为域,则D1D2Dn=(d1,d2,dn)|diDi,i=1,,n为D1,D2,Dn的笛卡尔积。其中每个元素(d1,d2,dn)称为一个n元组(n-Tuple),简称元组(Tuple),元素中每个di称为分量(Component),diDi。若Di的基数为mi,笛卡尔积的基数M为笛卡尔积可以表示为一个二维表,是元组的集合。,2.1.2笛卡尔积,2.1.3关系的定义,笛卡尔积D1D2Dn的任一子集称为在域D1,D2,Dn上的关系,表示为R(D1,D2,Dn)这里R表示关系的名字,n是关系的目或度(Degree)。关系是笛卡尔积的有限子集,所以关系也是一个二维表。表中的每一行对应一个元组,表中的每一列对应一个域。由于域可以相同,为了加以区别,必须对每列取一个名字,称为属性。关系中属性的个数称为元数,元组中的一个属性值称为分量。,形式化的关系定义同样可以把关系看成二维表,给表的每一列取一个名字,称为属性(attribute)。n目元关系有n个属性,属性的名字要唯一。属性的取值范围Di(i=1,,n)称为值域(Domain)。在实际应用的数据库中,通常关系称为数据表,属性被称为字段,元组被称为记录。,2.1.4关系的性质,同一属性的数据具有同质性同一关系的属性名具有不能重复性关系中的列位置具有顺序无关性关系具有元组无冗余性关系中的元组位置具有顺序无关性关系中每一个分量都必须是不可分的数据项,关系性质1同质的列,关系性质2不同的属性名,姓名2曾用名,关系性质3属性无序,关系性质4元组不重复,关系性质5元组无序,关系性质6分量是原子,非规范化关系,规范化关系,2.2关系的码,2.2.1侯选码与主码,能唯一标识关系中元组的一个属性或属性集,称为候选码(Candidatekey),也称候选关键字。如“学生关系”中的学号能唯一标识每一个学生,则属性“学号”是学生关系的候选码。在“选课关系”中,只有属性的组合“学号+课程号”才能唯一地区分每一条选课记录,则属性集“学号+课程号”是选课关系的候选码。,关系的码,2.2.2外部关系码,设F是基本关系R的一个或一组属性,但不是关系R的主码(或候选码)。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外部关系码,也简称外码(Foreignkey),并称基本关系R为参照关系(ReferencingRelation),基本关系S为被参照关系(ReferencedRelation)或目标关系(TargetRelation)。,外部关系码,学生关系,课程关系,学习成绩关系,外部键,外部键,主键,主键,参照完整性,职工表(R2),部门表(R1),主关系键,外部关系键,2.2.3关系模型的完整性,关系模型的实体完整性(EntityIntegrity)(1)实体完整性能够保证实体的唯一性。(2)实体完整性能够保证实体的可区分性。例如在学生表中,由于“学号”属性是码,则“学号”值不能为空值,学生的其他属性可以是空值,如“年龄”值或“性别”值如果为空,则表明不清楚该学生的这些特征值。,参照完整性,关系模型的参照完整性(ReferentialIntegrity):若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。,例如,对于上述教师表中教师号属性只能取下面两类值:空值,表示尚未给该教师分配系别:非空值,该值必须是系别关系中某个元组的系编号值。一个教师不可能分配到一个不存在的系中,即被参照关系教师中一定存在一个元组,它的主码值等于该参照关系教师中的外码值。,用户定义的完整性,用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。例如,学生考试的成绩必须在O到100之间,在职职工的年龄不能大于60岁等,都是针对具体关系提出的完整性条件。,2.3关系数据库模式与关系数据库,2.3.1关系数据库模式与关系数据库,一个关系的属性名的集合R(Al,A2,,An)叫做关系模式,一般可简化为R(U)或R(A1,A2,,An)其中R为关系名,A1,A2,,An为属性名(i=1,2,,n)。关系模式可形式化地表示为R(U,D,dom,F),其中U为组成关系的属性名的集合,D为属性组U中属性所来自的域,dom为属性和域之间的映像集合,F为关系中属性间的依赖关系集合。在书写过程中,一般用下划线表示出关系中的主码。,由定义可以看出,关系模式是关系的框架(或者称为表框架),是对关系结构的描述。它指出了关系由哪些属性构成。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,它是关系模式在某一时刻的状态或内容,这主要是由于关系的各种操作在不断地更新着数据库中的数据。,一组关系模式的集合叫做关系数据库模式。关系数据库模式是对关系数据库结构的描述,或者说是对关系数据库框架的描述,也就是前面所讲过的关系模式,可以看作是关系的型。与关系数据库模式对应的数据库中的当前值就是关系数据库的内容,称为关系数据库的实例,可以看作是关系的值。,2.3.2关系数据库,关系数据库在给定的应用领域中,相应所有实体及实体之间联系所形成关系的集合。关系数据库模式关系数据库中所有关系模式的集合。关系数据库的值关系数据库在某一时刻对应关系的集合。,关系数据库模式,整个数据库,某关系的结构,某关系的实例,2.4关系代数,2.4.1关系代数的分类及其运算符,关系代数的运算由运算对象、运算符和运算结果三大要素组成。运算对象为关系,运算结果亦为关系,运算符包括四类:集合运算符、专门的关系运算符、比较运算符和逻辑运算符。,(1)集合运算符:(并运算),一(差运算),(交运算),(广义笛卡尔积)(2)专门的关系运算符:(选择),(投影),(连接),(除)(3)比较运算符:(大于),(大于等于),v,R,S,W,元组关系演算举例,求R3=t|(u)(S(t)R(u)t3u2),R,S,R3,关系代数运算与元组演算的等价表示,用关系演算表达式表示关系代数的五种基本运算:(1)并RS=t|R(t)S(t)(2)差R-S=t|R(t)S(t),关系代数运算与元组演算的等价表示,(3)笛卡尔积这里t(m+n)表示t的m+n元组,um表示u的m元组,vn表示v的n元组。,关系代数运算与元组演算的等价表示,(4)选择这里F是F的等价表示形式。(5)投影,2.5.2域关系演算,域关系演算(DomainRelationalCalculus)类似于元组关系演算,不同的是用域变量代替了元组变量的每一分量,域变量的变化范围是某个值而不是一个关系。域关系演算简称域演算。,域演算表达式的一般形式为:其中t1,t2,tk为域变量,是公式,公式由原子公式和运算符组成。,原子公式有两种形式:,(1)R(t1,t2,tk),R是一个k元关系,tk是域变量或常量。这样关系R可表示为:(2)xy,x,y是域变量或常量,但至少有一个是域变量,是算术比较运算符。,域关系演算,域演算公式中也可以使用,等逻辑运算符及存在量词和全称量词。它们的优先级与元组演算公式中的一样。并且同样存在自由域变量和约束域变量,其概念与元组演算公式相同。,这样我们也可以用域演算来表示关系代数表达式,如:RS=,域关系演算举例,关系R,S,W,求R2=xyz|R(xyz)S(xyz)y=4,R,S,W,R2,2.6关系数据库表达式的优化,为了提高效率、减少运行时间,可以在查询语言处理程序执行查询操作之前,先由系统对用户的查询语句进行转换,将其转变为一串所需执行时间较少的关系运算,并为这些运算选择较优的存取路径,以便大大地减少执行时间,这就是关系数据库的查询优化。,2.6.1关系代数表达式的优化策略,(1)可能先做选择运算。(2)把投影运算和选择运算同时进行。(3)对关系适当的预处理。(4)把投影同其前或其后的双目运算结合起来。(5)把某些选择同在它前面要执行的笛卡儿积结合起来成为一个连接运算。(6)找出公共子表达式。,2.6.2关系代数表达式的等价变换规则,(1)连接、笛卡儿积交换律(2)连接、笛卡儿积的结合律(3)投影的串接定律(4)选择的串接定律(5)选择与投影的交换律,关系代数表达式的等价变换规则,(6)选择和笛卡儿积的交换律(7)选择与并的交换(8)选择与差的交换(9)投影与笛卡儿积的交换(10)投影与并的交换,2.6.3关系代数表达式的优化算法,利用优化策略再结合等价变换规则我们可以得到一个优化算法。算法:关系代数表达式的优化。输入:一个关系代数表达式的查询树。输出:一个优化后的查询树。,步骤:利用规则(4),将查询树中的每个选择运算变成选择串。利用规则(4)(8)把查询树中的每一个选择运算尽可能地移近树的叶节点。利用规则(3)、(5)、(9)、(10),把查询树中的投影运算均尽可能地移近树的叶节点。若某一投影是针对某一表达式中的全部属性,则可消去这一投影运算。,步骤:,利用规则(3)(5),把选择和投影运算合并成单个选择、单个投影、选择后跟随投影等三种情况。对经上述步骤后得到的查询树中的内部节点分组。,步骤:,找出查询树中的公共子树Ti,并用该公共子树的结果关系Ri代替查询树中的每一个公共子树Ti。输出经优化后的查询树。,小结,关系数据库是以关系模型为基础的数据库。本章首先介绍了关系模型的三个要素:关系数据结构,关系操作集合和关系完整性约束;接下来详细讨论了关系数据模型的完整性的约束及其作用。然后结合实例详细介绍了关系代数和关系演算。最后对关系代数表达式的优化进行了讨论。,小结,本章重点应掌握关系模型的特点和关系运算。关系运算包括传统的集合运算(并、差、交等)和专门的关系运算(选择、投影、联接等)。,习题,2.1名词解释属性、域、元组、候选码、主码、外码、全码、主属性、非主属性。2.2试述笛卡尔积、等值连接、自然连接三者之间有哪能些差异?2.3关系模型由哪几个部分组成?,习题,2.4为什么关系中的元组没有先后顺序?属性顺序也无关紧要?为什么关系中不允许有重复元组?2.5外码何时允许空?何时不允许空?,习题,2.6已知关系R和S,如下页习题6图所示:,计算:RS,R-S,S-R,RS,RS,3,2(S),B5(R),RS。,习题6图,关系R,关系S,习题,2.7设教学数据库有下列四个关系模式:学生关系S(Sno,Sname,Ssex,Sage,Sdept,Sspecial)课程关系C(Cno,Cname,Ccredit,Cdept,Cprecno,Tno)教师关系T(Tno,Tname,Tsex,Tspecial)学习关系SC(Sno,Cno,Grade),习题,上述各属性和含义是:学号(Sno),姓名(Sname),性别(Ssex),年龄(Sage),所在系(Sdept),所在专业(Sspecial),课程号(Cno),课程名(Cname),学分(Ccredit),开课系(Cdept),先修课程号(Cprecno),教师号(Tno),教

温馨提示

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

评论

0/150

提交评论