关系数据模型及其运算基础

上传人:tian****1990 文档编号:72597178 上传时间:2019-01-23 格式:PPT 页数:29 大小:915.50KB
返回 下载 相关 举报
关系数据模型及其运算基础_第1页
第1页 / 共29页
关系数据模型及其运算基础_第2页
第2页 / 共29页
关系数据模型及其运算基础_第3页
第3页 / 共29页
关系数据模型及其运算基础_第4页
第4页 / 共29页
关系数据模型及其运算基础_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《关系数据模型及其运算基础》由会员分享,可在线阅读,更多相关《关系数据模型及其运算基础(29页珍藏版)》请在金锄头文库上搜索。

1、补充:,关系数据模型及其运算基础,4.1 关系模型的基本概念,关系操作是集合操作。 操作的对象是集合, 操作的结果也是集合。 因此, 关系操作的基础是集合代数。 一、 笛卡尔积( Cartesian Product) 1. 定义 设D1、 D2、 、 Dn都是有限集合, 则D1、 D2、 、Dn上的笛卡尔积为 D1D2Dn =(d1, d2, , dn)diDi , i=1, 2, , n,2. 举例 例 4.1 设有两个集合如下: 职工=张三, 李四, 王五, 项目=管理, 程控, 数控, 则: 职工、 项目上的笛卡尔积为 职工项目=(张三, 管理), (张三, 程控), (张三, 数控),

2、 (李四, 管理), (李四, 程控), (李四, 数控), (王五, 管理), (王五, 程控), (王五, 数控) 笛卡尔积实际上就是一张二维表。 上例的笛卡尔积“职工项目”的对应二维表如表 4 1 所示。 ,表 4 1 二 维 表,4.2 关系模式,在1.2.3节中已介绍过,一个关系的关系模式是该关系的关系名及其全部属性名的集合,一般表示为关系名(属性名1,属性名2,属性名n)。 可见,关系是值; 而关系模式是型,是对关系的描述。 关系模式是稳定的。 关系是变化的,关系是某一时刻关系模式的内容。 关系模式常简称为关系。,但上述关系模式的定义还不全面(虽然一般情况下都是这样做的),完整的关

3、系模式定义为 R(U,D,dom,F) 其中,R为关系名,U为该关系所有属性名的集合,D为属性组U中属性所来自的域的集合,dom为属性向域映象的集合,F为属性间数据依赖关系的集合。,4.3 关 系 数 据 库,一个应用范围内,所有关系的集合就形成了一个关系数据库。 对关系数据库的描述称为关系数据库模式,也称为关系数据库的型。 一个关系数据库模式包括: 全部域的定义及在这些域上定义的全部关系模式。 全部关系模式在某一时刻的值的集合(全部关系的集合)为关系数据库的值,简称为关系数据库。,4.4 关系代数,关系代数与任何实际RDBMS所提供的实际语言并不完全相同。 关系代数是一种抽象的查询语言,但它

4、是评估实际语言中查询能力的标准。 关系代数中给出的功能在任何实际语言中应该都能实现,即使间接地实现也行。 关系代数是通过对关系的运算来表达查询的。 它的运算对象是关系,运算结果也是关系。 关系代数的运算可分为两类:,(1) 传统的集合运算: 并、 差、 交和广义笛卡尔积,其运算符号分别为、 、 和。 (2) 特殊的关系运算: 投影,选择,连接和除,其运算符分别为、 、 和。 在两类集合运算中,还将用到两类辅助操作符: (1) 比较运算符: 、 、 、 、 、 。 (2) 逻辑运算符: (或)、 (与)、 (非)。,4.4.1 传统的集合运算 传统的集合运算是二目运算。 设关系R和S的目都是n(

5、都有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) 广义笛卡尔积(Extended Cartesian Product) 广义笛卡尔积不要求参加运算的两个关系具有相同的目(自然也就不要求来自同样的域)。 设R为n目关系

6、,S为m目关系,则R和S的广义笛卡尔积为 RS tr ts表示由两个元组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 表 4 2 给出了两个关系R和

7、S,以及它们进行并、差、 交和笛卡尔积后的结果关系。,表 4 2 关系R、 S及它们的传统集合结果,4.4.2 专门的关系运算 专门的关系运算包括投影、 选择、 连接、 自然连接和除等。 投影和选择是一元操作,其他是二元操作。 一、 投影(Projection) 设中的所有属性都是关系R的属性,则R在上的投影为R中各元组只保留在上的诸分量后形成的新关系(但重复元组只能保留一个),记为 (R),投影的实际操作方法为: 从R中逐次取出一个元组,首先,去掉不在上的诸属性值,接着,按的次序重新排列剩下各分量后,作为一个新元组送入投影结果(但若投影结果关系中已有此元组,则必须舍弃之)。 投影不仅仅取消了

8、原关系中的某些列,还可能会去掉某些元组(有重复时),还可以改变属性列的排列次序,例如: Dno, Title(Employee) 即表 2 1 中表(一)所示的职工表在部门号和职称两属性列上的投影,结果见表 4 3。,表 4 3 职工表在部门号和职称上的投影,投影表达式中,可用属性在原关系中的序号代替属性名。 如上述投影表达式等价于 7, 6(Employee) 二、 选择(Selection) 选择运算是在一个关系中,选取符合某给定条件的全体元组,生成的新关系,记为 (关系名) 是个布尔表达式,例如: Dno=015=1(Employee) 表示从职工表(表 2 1 的表(一)中选取部门且第

9、列婚否的元组组成结果关系。 ,结果关系的所有属性名都是原关系的属性名,结果关系中各元组都是原关系中的元组。 不难证明,下面等式是成立的。 ((R))=(R)=(R),三、 连接(Join) 连接也称连接, 是从两个关系的广义笛卡尔积中选取满足某规定条件的全体元组,形成一个新的关系,记为,四、 等值连接(Equivalence join) 等值连接属于连接,当一个连接表达式中,所有的i都是“=”符时,则称此连接为等值连接。 等值连接是较常用的连接。 五、 自然连接(Natural join) 1. 自然连接的由来 设关系R和S共有 m个相同的属性名,把这m个相同属性名的集合记为A。 则R和S在属

10、性组A上的等值连接为,2. 自然连接 设关系R和S共有m个相同的属性名。 则R和S在这m个属性上进行等值连接后,又删除m个冗余列,所得结果称为R和S的自然连接,记为,自然连接与等值连接的差别在于: (1) 自然连接要求相等的分量必须有共同属性名,等值连接则不要求。 (2) 自然连接要求把重复属性名去掉,等值连接却不这样做。 可以证明,关系代数操作集U,是完备的操作集,任何其他关系代数操作都可以用这五种操作的组合来表示。 任何一个DBMS,只要它能完成这五种操作,则称它是关系完备的(relationally complete)。,六、 除(Division) 1 除法的简单形式 设关系S的属性是

11、关系R属性的一部分,则RS为这样一个关系: (1) 此关系的属性是由属于R但不属于S的所有属性组成。 (2) RS的任一元组都是R中某元组的一部分。 但必须符合下列要求,即任取属于RS 的一个元组t,则t与S的任一元组连串后,都为R中原有的一个元组。,例 4.3 表 4 4 给出了两个关系: 学生选课和课程,以及学生选课课程的结果。,表 4 4 两个关系的除法运算,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 给出了两个关系以及它们之间专门的关系运算。,表 4 5 两个关系间专门的关系运算,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号