第2章关系模型和关系运算理论精选文档.ppt
《第2章关系模型和关系运算理论精选文档.ppt》由会员分享,可在线阅读,更多相关《第2章关系模型和关系运算理论精选文档.ppt(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章关系模型和关系运算理论本讲稿第一页,共六十三页本章重要概念(一)(1)基本概念关系模型,关键码(主键和外键),关系的定义和性质,三类完整性规则,ER模型到关系模型的转换规则,过程性语言与非过程性语言。(2)关系代数五个基本操作,四个组合操作,七个扩充操作。本讲稿第二页,共六十三页本章重要概念(二)(3)关系演算元组关系演算和域关系演算的原子公式、公式的定义。关系演算的安全性和等价性。(4)关系代数表达式的优化关系代数表达式的等价及等价转换规则,启化式优化算法。(5)关系逻辑谓词、原子、规则和查询,规则的安全性,用规则模拟关系代数表达式。本讲稿第三页,共六十三页本章概要 l本章先介绍关系模
2、型的基本概念;然后介绍关系运算的三种理论:关系代数、关系演算和关系逻辑。本讲稿第四页,共六十三页关系模型和关系运算理 l2.1 关系模型的基本概念 l2.2 关系代数 l2.3 关系演算 l2.4 关系代数表达式的优化 l2.5 关系逻辑 本讲稿第五页,共六十三页2.1 关系模型的基本概念 l2.1.1 基本术语 l2.1.2 关系的定义和性质l2.1.3 关系模型的三类完整性规则 l2.1.4 ER模型向关系模型的转换规则 l2.1.5 关系模型的三级体系结构 l2.1.6 关系模型的形式定义和优点 l2.1.7 关系查询语言和关系运算 返回本讲稿第六页,共六十三页基本术语(1)l定义2.1
3、 用二维表格表示实体集,用关键码进行数据导航的数据模型称为关系模型(relational Model)。这里数据导航(data navigation)是指从已知数据查找未知数据的过程和方法。图2.1 职工登记表 本讲稿第七页,共六十三页基本术语(2)l 在关系模型中,字段称为属性,字段值称为属性值,记录类型称为关系模式。在图2.2中,关系模式名是R。记录称为元组(tuple),元组的集合称为关系(relation)或实例(instance)。一般用大写字母A、B、C、表示单个属性,用大写字母、X、Y、Z表示属性集,用小写字母表示属性值,有时也习惯称呼关系为表或表格,元组为行(row),属性为列
4、(column)。l关系中属性个数称为“元数”(arity),元组个数为“基数”(cardinality)。本讲稿第八页,共六十三页基本术语(3)l关系元数为5,基数为4 一般术语 关系模型术语字段、数据项属性记录类型关系模式记录1元组1记录2元组2记录3元组3记录4元组4字段值属性值图2.2 关系模型的术语 本讲稿第九页,共六十三页基本术语(4)l 关键码(key,简称键)由一个或多个属性组成。在实际使用中,有下列几种键。(1)超建(super Key)(2)候选键(candidate Key)(3)主键(primary Key)在图2.1中,(工号,姓名)是模式的一个超键,但不是候选键,而
5、(工号)是候选键。在实际使用中,如果选择(工号)作为删除或查找元组的标志,那么称(工号)是主键。(4)外键(foreign Key)返回本讲稿第十页,共六十三页关系的定义和性质 l定义2.2 关系是一个属性数目相同的元组的集合。l 在关系模型中,对关系作了下列规范性限制:(1)关系中每一个属性值都是不可分解的;(2)关系中不允许出现重复元组(即不允许出现相同的元组);(3)由于关系是一个集合,因此不考虑元组间的顺序,即没有行序;(4)元组中的属性在理论上也是无序的,但使用时按习惯考虑列的顺序。返回本讲稿第十一页,共六十三页关系模型的三类完整性规则(1)l 实体完整性规则(entity inte
6、grity rule)要求关系中元组在组成主键的属性上不能有空值。如果出现空值,那么主键值就起不了惟一标织元组的作用。本讲稿第十二页,共六十三页关系模型的三类完整性规则(2)l参照完整性规则(reference integrity rule)l定义2.3 参照完整性规则的形式定义如下:如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么在R2的关系中,K的取值只允许两种可能,或者为空值,或者等于R1关系中某个主键值。这条规则的实质是“不允许引用不存在的实体”。在上述形式定义中,关系模式R1的关系称为“参照关系”,关系模式R2的关系称为“依赖关系”。“主表”和“副表”,“父表”和“子
7、表”。本讲稿第十三页,共六十三页关系模型的三类完整性规则(3)l例2.1 下面各种情况说明了参照完整性规则在关系中如何实现的。在关系数据库中有下列两个关系模式:S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE)这里带下划线者为主键,带波浪线者为外键。据规则要求关系SC中的S#值应该在关系S中出现。如果关系SC中有一个元组(S7,C4,80),而学号S7却在关系S中找不到,那么我们就认为在关系SC中引用了一个不存在的学生实体,这就违反了参照完整性规则。另外,在关系SC中S#不仅是外键,也是主键的一部分,因此这里S#值不允许空。本讲稿第十四页,共六十三页关系模型的三类完整性规则(
8、4)设工厂数据库中有两个关系模式:DEPT(D#,DNAME)EMP(E#,ENAME,SALARY,D#)车间模式DEPT的属性为车间编号、车间名,职工模式EMP的属性为工号、姓名、工资、所在车间的编号。每个模式的主键与外键已标出。在EMP中,由于D#不在主键中,因此D#值允许空。本讲稿第十五页,共六十三页关系模型的三类完整性规则(5)设课程之间有先修、后继联系。模式如下:R(C#,CNAME,PC#)其属性表示课程号、课程名、先修课的课程号。如果规定,每门课程的直接先修课只有一门,那么模式R的主键是C#,外键是PC#.。这里参照完整性在一个模式中实现。即每门课程的直接先修课必须在关系中出现
9、。本讲稿第十六页,共六十三页关系模型的三类完整性规则(6)l用户定义的完整性规则 在建立关系模式时,对属性定义了数据类型,即使这样可能还满足不了用户的需求。此时,用户可以针对具体的数据约束,设置完整性规则,由系统来检验实施,以使用统一的方法处理它们,不再由应用程序承担这项工作。例如学生的年龄定义为两位整数,范围还太大,我们可以写如下规则把年龄限制在1530岁之间:CHECK(AGE BETWEEN 15 AND 30)返回本讲稿第十七页,共六十三页ER模型向关系模型的转换规则(1)lER模型向关系模型的转换,实际上就是把ER图转换成关系模式的集合。l规则2.1(实体类型的转换):将每个实体类型
10、转换成一个关系模式,实体的属性即为关系模式的属性,实体标识符即为关系模式的键。l规则2.2(二元联系类型的转换)若实体间联系是1:1。若实体间联系是1:N。若实体间联系是M:N。本讲稿第十八页,共六十三页ER模型向关系模型的转换规则(2)校名地址校长任职学校电话任职年月姓名性别年龄11职称图2.3 一对一联系 本讲稿第十九页,共六十三页ER模型向关系模型的转换规则(3)系号系名教师聘用系电话聘期工号姓名性别年龄1N图2.4 一对多联系 本讲稿第二十页,共六十三页ER模型向关系模型的转换规则(4)学号姓名课程学生年龄成绩课程号课程名教师名选课性别MN图2.5 多对多联系 返回本讲稿第二十一页,共
11、六十三页关系模型的三级体系结构-关系模式 l在关系模型中,记录类型称为关系模式,而关系模式的集合就是数据库的概念模式。在系统实现时,关系模式和属性的命名一般都用英文单词。譬如图2.5的ER图转换成的关系模式集可用图2.6表示。而图2.7是这个关系模型的三个具体关系。本讲稿第二十二页,共六十三页关系模型的三级体系结构-子模式 l子模式是用户所用到的那部分数据的描述。除此之外,还应指出数据与关系模式中相应数据的联系。例如,用户需要用到子模式G(图2.8)。本讲稿第二十三页,共六十三页关系模型的三级体系结构-存储模式 图2.10 关系S和SC的环结构 在有些DBMS中,关系存储是作为文件看待的,每个
12、元组就是一个记录。由于关系模式有键,因此存储一个关系可用散列方法或索引方法实现。如果关系的元组数目较少(100个以内),那么也可以用“堆文件”方式实现(即没有特定的次序)。此外,还可对任意的属性集建立辅助索引。本讲稿第二十四页,共六十三页关系模型的形式定义l 关系模型有三个重要组成部分:数据结构,数据操纵,数据完整性规则。(1)数据结构:数据库中全部数据及其相互联系都被组织成“关系”(二维表格)的形式。关系模型基本的数据结构是关系。(2)数据操纵:关系模型提供一组完备的高级关系运算,以支持对数据库的各种操作。关系运算分成关系代数、关系演算和关系逻辑等三类。(3)数据完整性规则:数据库中数据必须
13、满足实体完整性,参照完整性和用户定义的完整性等三类完整性规则。本讲稿第二十五页,共六十三页关系模型的优点l与其它数据模型相比,关系模型突出的优点如下:(1)关系模型提供单一的数据结构形式,具有高度的简明性和精确性。(2)关系模型的逻辑结构和相应的操作完全独立于数据存储方式,具有高度的数据独立性。(3)关系模型使数据库的研究建立在比较坚实的数学基础上。(4)关系数据库语言与一阶谓词逻辑的固有内在联系,为以关系数据库为基础的推理系统和知识库系统的研究提供了方便。返回本讲稿第二十六页,共六十三页关系查询语言和关系运算 l关系数据库的数据操纵语言(DML)的语句分成查询语句和更新语句两大类。查询语句用
14、于描述用户的各种检索要求;更新语句用于描述用户进行插入、删除、修改等操作。关于查询的理论称为“关系运算理论”。l关系查询语言根据其理论基础的不同分成三类:(1)关系代数语言。(2)关系演算语言。(3)关系逻辑语言。返回本讲稿第二十七页,共六十三页2.2 关系代数 l2.2.1 关系代数的五个基本操作 l2.2.2 关系代数的四个组合操作 l2.2.3 关系代数运算的应用实例 l2.2.4 关系代数的七个扩充操作 返回本讲稿第二十八页,共六十三页关系代数的五个基本操作(1)l 并(Union)设关系R和S具有相同的关系模式,R和S的并是由属于R或属于S的元组构成的集合,记为RS。形式定义如下:R
15、St|tR tS,t是元组变量,R和S的元数相同。l 差(Difference)设关系R和S具有相同的关系模式,R和S的差是由属于R但不属于S的元组构成的集合,记为RS。形式定义如下:RS t|tR tS,R和S的元数相同。本讲稿第二十九页,共六十三页关系代数的五个基本操作(2)l 投影(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)表示关
16、系R中取第1、3列,组成新的关系,新关系中第1列为R的第3列,新关系的第2列为R的第1列。如果R的每列标上属性名,那么操作符的下标处也可以用属性名表示。例如,关系R(A,B,C),那么C,A(R)与3,1(R)是等价的。本讲稿第三十页,共六十三页关系代数的五个基本操作(3)l 选择(Selection)选择操作是根据某些条件对关系做水平分割,即选取符合条件的元组。条件可用命题公式(即计算机语言中的条件表达式)F表示。F中有两种成分:l关系R关于公式F的选择操作用F(R)表示,形式定义如下:F(R)t|tR F(t)=true 为选择运算符,F(R)表示从R中挑选满足公式F为真的元组所构成的关系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 模型 运算 理论 精选 文档
限制150内