关系数据模型及其运算基础.ppt_第1页
关系数据模型及其运算基础.ppt_第2页
关系数据模型及其运算基础.ppt_第3页
关系数据模型及其运算基础.ppt_第4页
关系数据模型及其运算基础.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

补充:,关系数据模型及其运算基础,4.1关系模型的基本概念,关系操作是集合操作。操作的对象是集合,操作的结果也是集合。因此,关系操作的基础是集合代数。一、笛卡尔积(CartesianProduct)1.定义设D1、D2、Dn都是有限集合,则D1、D2、Dn上的笛卡尔积为D1D2Dn=(d1,d2,dn)diDi,i=1,2,n,2.举例例4.1设有两个集合如下:职工=张三,李四,王五,项目=管理,程控,数控,则:职工、项目上的笛卡尔积为职工项目=(张三,管理),(张三,程控),(张三,数控),(李四,管理),(李四,程控),(李四,数控),(王五,管理),(王五,程控),(王五,数控)笛卡尔积实际上就是一张二维表。上例的笛卡尔积“职工项目”的对应二维表如表41所示。,表41二维表,4.2关系模式,在1.2.3节中已介绍过,一个关系的关系模式是该关系的关系名及其全部属性名的集合,一般表示为关系名(属性名1,属性名2,属性名n)。可见,关系是值;而关系模式是型,是对关系的描述。关系模式是稳定的。关系是变化的,关系是某一时刻关系模式的内容。关系模式常简称为关系。,但上述关系模式的定义还不全面(虽然一般情况下都是这样做的),完整的关系模式定义为R(U,D,dom,F)其中,R为关系名,U为该关系所有属性名的集合,D为属性组U中属性所来自的域的集合,dom为属性向域映象的集合,F为属性间数据依赖关系的集合。,4.3关系数据库,一个应用范围内,所有关系的集合就形成了一个关系数据库。对关系数据库的描述称为关系数据库模式,也称为关系数据库的型。一个关系数据库模式包括:全部域的定义及在这些域上定义的全部关系模式。全部关系模式在某一时刻的值的集合(全部关系的集合)为关系数据库的值,简称为关系数据库。,4.4关系代数,关系代数与任何实际RDBMS所提供的实际语言并不完全相同。关系代数是一种抽象的查询语言,但它是评估实际语言中查询能力的标准。关系代数中给出的功能在任何实际语言中应该都能实现,即使间接地实现也行。关系代数是通过对关系的运算来表达查询的。它的运算对象是关系,运算结果也是关系。关系代数的运算可分为两类:,(1)传统的集合运算:并、差、交和广义笛卡尔积,其运算符号分别为、和。(2)特殊的关系运算:投影,选择,连接和除,其运算符分别为、和。在两类集合运算中,还将用到两类辅助操作符:(1)比较运算符:、。(2)逻辑运算符:(或)、(与)、(非)。,4.4.1传统的集合运算传统的集合运算是二目运算。设关系R和S的目都是n(都有n个属性),且相应属性取自同一域,则(1)关系R和S的并(Union)为RS其含义为:任取元组t,当且仅当t属于R或t属于S时,t属于RS。RS是一个n目关系。,(2)R和S的差(Difference)为R-S其含义为:当且仅当t属于R并且不属于S时,t属于R-S。R-S也是一个n目关系。(3)R和S的交(Intersection)为RS其含义为:当且仅当t既属于R又属于S时,tRS。,(4)广义笛卡尔积(ExtendedCartesianProduct)广义笛卡尔积不要求参加运算的两个关系具有相同的目(自然也就不要求来自同样的域)。设R为n目关系,S为m目关系,则R和S的广义笛卡尔积为RStrts表示由两个元组tr和ts前后有序连接而成的一个元组。任取元组tr和ts,当且仅当tr属于R且ts属于S时,tr和ts的有序连接即为RS的一个元组。,R和S的广义笛卡尔积是一个(n+m)目的关系。其中任何一个元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有K1个元组,S有K2个元组,则RS有K1K2个元组。实际操作时,可从R的第一个元组开始,依次与S的每一个元组组合,然后,对R的下一个元组进行同样的操作,直至R的最后一个元组也进行完同样的操作为止,即可得到RS的全部元组。,例4.2表42给出了两个关系R和S,以及它们进行并、差、交和笛卡尔积后的结果关系。,表42关系R、S及它们的传统集合结果,4.4.2专门的关系运算专门的关系运算包括投影、选择、连接、自然连接和除等。投影和选择是一元操作,其他是二元操作。一、投影(Projection)设中的所有属性都是关系R的属性,则R在上的投影为R中各元组只保留在上的诸分量后形成的新关系(但重复元组只能保留一个),记为(R),投影的实际操作方法为:从R中逐次取出一个元组,首先,去掉不在上的诸属性值,接着,按的次序重新排列剩下各分量后,作为一个新元组送入投影结果(但若投影结果关系中已有此元组,则必须舍弃之)。投影不仅仅取消了原关系中的某些列,还可能会去掉某些元组(有重复时),还可以改变属性列的排列次序,例如:Dno,Title(Employee)即表21中表(一)所示的职工表在部门号和职称两属性列上的投影,结果见表43。,表43职工表在部门号和职称上的投影,投影表达式中,可用属性在原关系中的序号代替属性名。如上述投影表达式等价于7,6(Employee)二、选择(Selection)选择运算是在一个关系中,选取符合某给定条件的全体元组,生成的新关系,记为(关系名)是个布尔表达式,例如:Dno=015=1(Employee)表示从职工表(表21的表(一)中选取部门且第列婚否的元组组成结果关系。,结果关系的所有属性名都是原关系的属性名,结果关系中各元组都是原关系中的元组。不难证明,下面等式是成立的。((R))=(R)=(R),三、连接(Join)连接也称连接,是从两个关系的广义笛卡尔积中选取满足某规定条件的全体元组,形成一个新的关系,记为,四、等值连接(Equivalencejoin)等值连接属于连接,当一个连接表达式中,所有的i都是“=”符时,则称此连接为等值连接。等值连接是较常用的连接。五、自然连接(Naturaljoin)1.自然连接的由来设关系R和S共有m个相同的属性名,把这m个相同属性名的集合记为A。则R和S在属性组A上的等值连接为,2.自然连接设关系R和S共有m个相同的属性名。则R和S在这m个属性上进行等值连接后,又删除m个冗余列,所得结果称为R和S的自然连接,记为,自然连接与等值连接的差别在于:(1)自然连接要求相等的分量必须有共同属性名,等值连接则不要求。(2)自然连接要求把重复属性名去掉,等值连接却不这样做。可以证明,关系代数操作集U,是完备的操作集,任何其他关系代数操作都可以用这五种操作的组合来表示。任何一个DBMS,只要它能完成这五种操作,则称它是关系完备的(relationallycomplete)。,六、除(Division)1除法的简单形式设关系S的属性是关系R属性的一部分,则RS为这样一个关系:(1)此关系的属性是由属于R但不属于S的所有属性组成。(2)RS的任一元组都是R中某元组的一部分。但必须符合下列要求,即任取属于RS的一个元组t,则t与S的任一元组连串后,都为R中原有的一个元组。,例4.3表44给出了两个关系:学生选课和课程,以及学生选课课程的结果。,表44两个关系

温馨提示

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

评论

0/150

提交评论