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