关系运算8046105220090310163300

上传人:宝路 文档编号:50595469 上传时间:2018-08-09 格式:PPT 页数:64 大小:735.76KB
返回 下载 相关 举报
关系运算8046105220090310163300_第1页
第1页 / 共64页
关系运算8046105220090310163300_第2页
第2页 / 共64页
关系运算8046105220090310163300_第3页
第3页 / 共64页
关系运算8046105220090310163300_第4页
第4页 / 共64页
关系运算8046105220090310163300_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《关系运算8046105220090310163300》由会员分享,可在线阅读,更多相关《关系运算8046105220090310163300(64页珍藏版)》请在金锄头文库上搜索。

1、数据库应用基础 第三章 关系运算陈杰 13691561697 计算机学院 2009-3-101第3章 关系运算2第3章 关系运算 3.1 关系模型的基本概念 3.2 关系代数 3.3 关系演算* 3.4 关系代数表达式的优化 小结 #本章先介绍关系模型的基本概念;然后介 绍关系运算中的关系代数和关系演算。 33.1 关系模型的基本概念 3.1.1 基本术语 3.1.2 关系的定义和性质 3.1.3 关系模型的三类完整性规则 3.1.4 ER模型向关系模型的转换规则 3.1.5 关系模型的三级体系结构 3.1.6 关系模型的形式定义和优点 3.1.7 关系查询语言和关系运算 返 回4基本术语(

2、1) 定义3.1 用二维表格表示实体集,用关键码进行数据导航 的数据模型称为关系模型(relational Model)。这里数据导 航(data navigation)是指从已知数据查找未知数据的过程和 方法。 示例: 职工登记表 5基本术语(2) 在关系模型中,字段称为属性,字段值称为属性值,记 录类型称为关系模式,记录称为元组(tuple),元组的集 合称为关系(relation)或实例(instance)。一般用大写 字母A、B、C、 表示单个属性,用大写字母 、X、Y、Z 表示属性集,用小写字母表示属性值,有时也习惯称呼关系 为表或表格,元组为行(row),属性为列(column)。

3、 关系中属性个数称为“元数”(arity),元组个数为“ 基数”(cardinality)。 6基本术语(3) 关系元数为5,基数为4 图 关系模型的术语 一般术语 关系模型术语字段、数据项属性记录类型关系模式记录1元组1记录2元组2记录3元组3记录4元组4字段值属性值7基本术语(4) 关键码(key,简称键)由一个或多个属性组成。在实际使 用中,有下列几种键。(1)超建(super Key)(2)候选键(candidate Key)(3)主键(primary Key) 在图3.1中,(职工编号,姓名 )是模式的一个超键,但不是候选键,而(职工编号)是候 选键。在实际使用中,如果选择(职工编号

4、)作为删除或查 找元组的标志,那么称(职工编号)是主键。(4)外键(foreign Key)一个关系R中包含有另一个关系S的主键对应的属性组F, 则称F为R的外键。并称关系S为参照关系,R为依赖关系。返 回8关系的定义和性质 定义3.2 关系是一个属性数目相同的元组的集合。 在关系模型中,对关系作了下列规范性限制: (1)关系中每一个属性值都是不可分解的; (2)关系中不允许出现重复元组(即不允许出现相同的元 组); (3)由于关系是一个集合,因此不考虑元组间的顺序,即 没有行序; (4)元组中的属性在理论上也是无序的,但使用时按习惯 考虑列的顺序。返 回9关系模型的三类完整性规则(1) 实体

5、完整性规则(entity integrity rule) 要求关系中元组在组成主键的属性上不能有空值。如果出现 空值,那么主键值就起不了唯一标识元组的作用。10关系模型的三类完整性规则 (2) 参照完整性规则(reference integrity rule) 参照完整性规则的形式定义如下:如果属性集K是关系模式R1的主键,K也是关系模式R2的 外键,那么在R2的关系中,K的取值只允许两种可能,或者 为空值,或者等于R1关系中某个主键值。这条规则的实质是“不允许引用不存在的实体”。在上述形式定义中,关系模式R1的关系称为“参照关系” ,关系模式R2的关系称为“依赖关系”。“主表”和“副表 ”,

6、“父表”和“子表”。 11关系模型的三类完整性规则 (3) 例3.1 下面各种情况说明了参照完整性规则在关系中如何 实现的。 在关系数据库中有下列两个关系模式: S(S#,SNAME,AGE,SEX) SC(S#,C#,GRADE)这里带下划线者为主键。据规则要求关系SC中的S# 值应 该在关系S中出现。如果关系SC中有一个元组(S7,C4,80) ,而学号S7却在关系S中找不到,那么我们就认为在关系SC 中引用了一个不存在的学生实体,这就违反了参照完整性规 则。另外,在关系SC中S# 不仅是外键,也是主键的一部分, 因此这里S# 值不允许空。12关系模型的三类完整性规则 (4) 设工厂数据库

7、中有两个关系模式: DEPT(D#,DNAME) EMP(E#,ENAME,SALARY,D# )车间模式DEPT的属性为车间编号、车间名,职工模式EMP 的属性为工号、姓名、工资、所在车间的编号。每个模式的 主键已标出。在EMP中,由于D# 不在主键中,因此D# 值允 许空。13关系模型的三类完整性规则 (5) 设课程之间有先修、后继联系。模式如下: R(C# ,CNAME,PC# )其属性表示课程号、课程名、先修课的课程号。如果规 定,每门课程的直接先修课只有一门,那么模式R的主键是 C#,外键是PC#.。这里参照完整性在一个模式中实现。即每 门课程的直接先修课必须在关系中出现。 14关系

8、模型的三类完整性规则 (6) 用户定义的完整性规则 在建立关系模式时,对属性定义了数据类型,即使这样 可能还满足不了用户的需求。此时,用户可以针对具体的数 据约束,设置完整性规则,由系统来检验实施,以使用统一 的方法处理它们,不再由应用程序承担这项工作。例如学生 的年龄定义为两位整数,范围还太大,我们可以写如下规则 把年龄限制在1530岁之间: CHECK(AGE BETWEEN 15 AND 30) 返 回15ER模型向关系模型的转换规则 (1) ER模型向关系模型的转换,实际上就是把ER图转换成关系 模式的集合。 规则3.1(实体类型的转换):将每个实体类型转换成一 个关系模式,实体的属性

9、即为关系模式的属性,实体标识符 即为关系模式的键。 规则3.2(二元联系类型的转换) 若实体间联系是1:1。 若实体间联系是1:N。 若实体间联系是M:N。16ER模型向关系模型的转换规则 (2)图 一对一联系 17ER模型向关系模型的转换规则 (3)图 一对多联系 18ER模型向关系模型的转换规则 (4)图 多对多联系 返 回19关系模型的三级体系结构 - 关系模式 在关系模型中,记录类型称为关系模式,而关 系模式的集合就是数据库的概念模式。在系统实现 时,关系模式和属性的命名一般都用英文单词。譬 如P38图3.1的ER图转换成的关系模式集可用图3.2表 示。学生关系模式S(S#,SNAME

10、,AGE,SEX)选课关系模式SC(S#,C#,GRADE)课程关系模式C(C#,CNAME,TEACHER)图2.6 关系模式集20关系模型的三级体系结构 -子模式 子模式是用户所用到的那部分数据的描述。除此之外,还 应指出数据与关系模式中相应数据的联系。例如,用户需要 用到子模式G(P39图3.3)。成绩子模式 G(SNO#,SNAME,CNO#,GRADE) 图2.8 子模式21关系模型的三级体系结构 -存储模式 在有些DBMS中,关系存储是作为文件看待的,每个元组就 是一个记录。由于关系模式有键,因此存储一个关系可用散 列方法或索引方法实现。如果关系的元组数目较少(100个 以内),那

11、么也可以用“堆文件”方式实现(即没有特定的次序)。此外,还可对任意的属性集建立辅助索引。 返 回22关系模型的形式定义 关系模型有三个重要组成部分:数据结构,数据操纵, 数据完整性规则。 (1)数据结构:数据库中全部数据及其相互联系都被组织 成“关系”(二维表格)的形式。关系模型基本的数据结构 是关系。 (2)数据操纵:关系模型提供一组完备的高级关系运算, 以支持对数据库的各种操作。关系运算有关系代数、关系演 算等。(3)数据完整性规则:数据库中数据必须满足实体完整 性,参照完整性和用户定义的完整性等三类完整性规则。 23关系模型的优点 与其它数据模型相比,关系模型突出的优点如下: (1)关系

12、模型提供单一的数据结构形式,具有高度的简明 性和精确性。 (2)关系模型的逻辑结构和相应的操作完全独立于数据存 储方式,具有高度的数据独立性。 (3)关系模型使数据库的研究建立在比较坚实的数学基础 上。 (4)关系数据库语言与一阶谓词逻辑的固有内在联系,为 以关系数据库为基础的推理系统和知识库系统的研究提供了 方便。 返 回24关系查询语言和关系运算 关系数据库的数据操纵语言(DML)的语句分成查询语句 和更新语句两大类。查询语句用于描述用户的各种检索要求 ;更新语句用于描述用户进行插入、删除、修改等操作。关 于查询的理论称为“关系运算理论”。 本章主要关注如下两类关系运算: (1)关系代数

13、(2)关系演算返 回253.2 关系代数 3.2.1 关系代数的五个基本操作 3.2.2 关系代数的四个组合操作 3.2.3 关系代数运算的应用实例 3.2.4 关系代数的扩充操作 返 回26关系代数的五个基本操作 (1) 并(Union) 设关系R和S具有相同的关系模式,R和S的并是由属于R或属 于S的元组构成的集合,记为RS。形式定义如下: RSt | tR tS,t是元组变量,R和S的元数相同。 差(Difference) 设关系R和S具有相同的关系模式,R和S的差是由属于R但不 属于S的元组构成的集合,记为RS。形式定义如下: RS t | tR tS,R和S的元数相同。 笛卡尔积(C

14、artesian Product) 设关系R、S的元数分别为r、s。定义R和S的笛卡尔积RS是 一个(r+s)元的元组集合,每个元组的前r个属性值来自R的 一个元组,后s个属性值是来自S的一个元组,记为RS。( P44表3.5)27关系代数的五个基本操作 (2) 投影(Projection)这个操作是对一个关系进行垂直分割,消去某些列,并 重新安排列的顺序。设关系R是k元关系,R在其分量Ai1,Aim(mk,i1 ,im为1到k间的整数)上的投影用i1,im(R)表 示,它是一个m元元组集合,形式定义如下: i1,im(R) t | tti1,timt1,tkR 例如,3,1(R)表示关系R中

15、取第1、3列,组成新 的关系,新关系中第1列为R的第3列,新关系的第2列为R 的第1列。如果R的每列标上属性名,那么操作符的下标 处也可以用属性名表示。例如,关系R(A,B,C),那么 C,A(R)与3,1(R)是等价的。28关系代数的五个基本操作 (3) 选择(Selection)选择操作是根据某些条件对关系做水平分割,即选取符合条 件的元组。条件可用命题公式(即计算机语言中的条件表达 式)F表示。关系R关于公式F的选择操作用F(R)表示,形 式定义如下: F(R) t | tR F(t)= true 为选择运算符,F(R)表示从R中挑选满足公式F为真的元 组所构成的关系。 例如,23(R)表示从R中挑选第2个分量值大于3的元组 所构成的关系。书写时,为了与属性序号区别起见,常量用 引号括起来,而属性序号或属性名不要用引号括起来。29关系代数的五个基本操作 (例)例3.3 下页图有两个关系R和S,并且给出了以下五种操作的 结果。 RS RS RS C,A(R) B=b(R)30关系代数的五个基本操作 (例)返 回RSR SRSC,A(R)B=b(R)RS31关系代数的四个组合操作 (1) 交(intersection) 关系R和S的交是由属于R又属于S的元组构成的集合,记为 RS,这里要求R和S定义在相同的关系模式上。形式定义如 下: RSttR tS,R和S的元数

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

当前位置:首页 > 中学教育 > 教学课件

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