关模型和关系运算理论PPT讲稿.ppt
《关模型和关系运算理论PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《关模型和关系运算理论PPT讲稿.ppt(92页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、关模型和关系运算理论第1页,共92页,编辑于2022年,星期五本章重要概念(一)(1)基本概念关系模型,关键码(主键和外键),关系的定义和性质,三类完整性规则,ER模型到关系模型的转换规则,过程性语言与非过程性语言。(2)关系代数五个基本操作,四个组合操作,七个扩充操作。第2页,共92页,编辑于2022年,星期五本章重要概念(二)(3)关系演算元组关系演算和域关系演算的原子公式、公式的定义。关系演算的安全性和等价性。(4)关系代数表达式的优化关系代数表达式的等价及等价转换规则,启化式优化算法。(5)关系逻辑谓词、原子、规则和查询,规则的安全性,用规则模拟关系代数表达式。第3页,共92页,编辑于
2、2022年,星期五关系模型和关系运算理 l2.1 关系模型的基本概念 l2.2 关系代数 l2.3 关系演算 l2.4 关系代数表达式的优化 l2.5 关系逻辑 第4页,共92页,编辑于2022年,星期五2.1 关系模型的基本概念 l2.1.1 基本术语 l2.1.2 关系的定义和性质l2.1.3 关系模型的三类完整性规则 l2.1.4 ER模型向关系模型的转换规则 l2.1.5 关系模型的三级体系结构 l2.1.6 关系模型的形式定义和优点 l2.1.7 关系查询语言和关系运算 返回第5页,共92页,编辑于2022年,星期五基本术语(1)l定义2.1 用二维表格表示实体集,用关键码进行数据导
3、航的数据模型称为关系模型(relational Model)。这里数据导航(data navigation)是指从已知数据查找未知数据的过程和方法。图2.1 职工登记表 第6页,共92页,编辑于2022年,星期五基本术语(2)n关系:关系:一个关系对应一张二维表(非形式化描述)关系名一个关系对应一张二维表(非形式化描述)关系名 表名。表名。记录类型称为关系模式。记录类型称为关系模式。n元组:元组:表中的一行称为一个元组(元组的集合即为关系)。表中的一行称为一个元组(元组的集合即为关系)。n属性属性:表中的一列称为属性,列名即属性名。:表中的一列称为属性,列名即属性名。字段值字段值称为属性值,称
4、为属性值,n元数(元数(arityarity):关系中属性的个数。:关系中属性的个数。n基数基数(cardinality)(cardinality):元组个数称为基数。元组个数称为基数。n属性的值域:属性的值域:属性的取值范围(数据类型),记作属性的取值范围(数据类型),记作DOM(DOM(属性名属性名),每一个属性对应一个值域不同属性可对应同一个值域。比如:职,每一个属性对应一个值域不同属性可对应同一个值域。比如:职称称=教授,副教授,讲师,助教教授,副教授,讲师,助教 第7页,共92页,编辑于2022年,星期五学号学号9800019800029800039800028:9800029姓名姓
5、名赵学众赵学众钱习志钱习志孙雷成孙雷成:李锋城李锋城甘甘 清清性别性别男男女女:男男男男女女班级班级力力91化化81物物71:汽汽93仪仪81元元组组(行行)关系模式关系模式数据库术语数据库术语关系模型术语关系模型术语记记录录字段值字段值属性值属性值字段字段属性属性记录类型记录类型关系关系文件文件基本术语(3)图2.2 关系模型的术语 第8页,共92页,编辑于2022年,星期五基本术语(4)职工关系模式ZG(工号,姓名,年龄,性别,工资)1.超键:能唯一标识元组的一个或一组属性,称为关系的超键超键,例如:(工号,姓名)。2.候选键key:不含多余属性的超键叫候选键,如(工号)。3.主键prim
6、ary key:当一个关系中有多个候选键时,我们从候选键中选择一个用作元组标识的称为主键,若实际使用中,用工号作为插入、查找的操作变量,称工号为主键。n每个关系都必定有且只有一个主键n对于一个关系,主键一经选定,通常是不能随意改变的4、外部键(Foreign Key)如果关系R2的一个或一组属性不是R2的主键,而是另一关系R1的主键,则该属性或属性组成为关系R2的外部键。第9页,共92页,编辑于2022年,星期五数据库应用实例及比较n学生信息管理系统实例n该系统用来管理学生的基本情况,开设课程情况,学生的选课情况及成绩;n数据库:以表格的形式储存了学生,课程,选课的记录;n数据管理系统(DBM
7、S)负责存储和检索这些表格的数据;n建立相关的应用程序,负责处理数据输入,数据查询和产生报表第10页,共92页,编辑于2022年,星期五学生课程成绩管理学生学生(学号,姓名,年龄,性别)(学号,姓名,年龄,性别)S(S#,SNAME,SEX,AGE)课程(课程号,课程名,学分)课程(课程号,课程名,学分)C(C#,CNAME,GRADE)选课选课(课程号,学号,成绩)(课程号,学号,成绩)SC(C#,S#,SCORE)举例说明超键、候选键、主键、外键Student(number,name,age,sex)Class(number,name,grade)Sc(classnum,studentnu
8、m,score)建议:同学们记下这三个关系模式。好好理解第11页,共92页,编辑于2022年,星期五练习:n1 1、现有关系表:学生(宿舍编号,宿舍地址,学号,姓名,、现有关系表:学生(宿舍编号,宿舍地址,学号,姓名,性别,专业)的主键为:性别,专业)的主键为:nA A宿舍编号宿舍编号 B B学号学号nC C宿舍地址,姓名宿舍地址,姓名 D D宿舍编号,学号宿舍编号,学号n2 2、现有关系表:医疗(患者编号,医生编号,医生姓名,诊断日期,、现有关系表:医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果,恢复情况)的主键是:诊断结果,恢复情况)的主键是:nA A患者编号,医生编号,诊断日期患
9、者编号,医生编号,诊断日期 B B医生编号医生编号nC C诊断日期诊断日期 D D患者编号患者编号第12页,共92页,编辑于2022年,星期五练习:1 1、现有如下关系:、现有如下关系:部门(部门编号、部门名称、部门地址、电话)部门(部门编号、部门名称、部门地址、电话)职工(职工号、姓名、性别、职务、部门编号、电话)职工(职工号、姓名、性别、职务、部门编号、电话)其中,职工关系中的外键是()其中,职工关系中的外键是()A A部门编号部门编号 B B姓名姓名nC C职工号职工号 D D职工号,姓名职工号,姓名答案:1、A 2、CDEPT(D#,DNAME)EMP(E#,ENAME,SALARY,
10、D#)第13页,共92页,编辑于2022年,星期五2.1.2关系的定义和性质 l定义2.2 关系是一个属性数目相同的元组的集合。l 在关系模型中,对关系作了下列规范性限制:(1)关系中每一个属性值都是不可分解的;关系中每一个属性值都是不可分解的;(2)关系中不允许出现重复元组(即不允许出现相同的元组);(3)由由于于关关系系是是一一个个集集合合,因因此此不不考考虑虑元元组组间间的的顺顺序序,即即没没有有行行序;序;(4)元组中的属性在理论上也是无序的,但使用时按习惯考虑列的顺序。返回第14页,共92页,编辑于2022年,星期五2.1.3关系模型的三类完整性规则(1)关系模型的三类完整性 三类完
11、整性是实体完整性、参照完整性和用户定义的完整性(其中三类完整性是实体完整性、参照完整性和用户定义的完整性(其中前两类完整性是关系模型必须满足的约束条件)前两类完整性是关系模型必须满足的约束条件)实体完整性规则(entity integrity rule)要求关系中元组在组成主键的属性上不能有空值。如果出现空值,那么主键值就起不了惟一标织元组的作用。n意义:关系对应到现实世界中的实体集,元组对应到实体,实体是相互可区分的,通过主键来唯一标识,若主键为空,则出现不可标识的实体,这是不容许的。第15页,共92页,编辑于2022年,星期五关系模型的三类完整性规则(2)l参照完整性规则(referenc
12、e integrity rule)l定义2.3 参照完整性规则的形式定义如下:如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么在R2的关系中,K的取值只允许两种可能,或者为空值,或者等于R1关系中某个主键值。这条规则的实质是“不允许引用不存在的实体”。在上述形式定义中,关系模式R1的关系称为“参照关系”,关系模式R2的关系称为“依赖关系”。“主表”和“副表”,“父表”和“子表”。第16页,共92页,编辑于2022年,星期五关系模型的三类完整性规则(3)l例2.1 下面各种情况说明了参照完整性规则在关系中如何实现的。在关系数据库中有下列两个关系模式:S(S#,SNAME,AGE,
13、SEX)SC(S#,C#,GRADE)这里带下划线者为主键,红色者为外键。据规则要求关系SC中的S#值应该在关系S中出现。如果关系SC中有一个元组(S7,C4,80),而学号S7却在关系S中找不到,那么我们就认为在关系SC中引用了一个不存在的学生实体,这就违反了参照完整性规则。另外,在关系SC中S#不仅是外键,也是主键的一部分,因此这里S#值不允许空。第17页,共92页,编辑于2022年,星期五关系模型的三类完整性规则(4)设工厂数据库中有两个关系模式:DEPT(D#,DNAME)EMP(E#,ENAME,SALARY,D#)车间模式DEPT的属性为车间编号、车间名,职工模式EMP的属性为工号
14、、姓名、工资、所在车间的编号。每个模式的主键与外键已标出。在EMP中,由于D#不在主键中,因此D#值允许空。l级联更新级联更新/级联删除级联删除 示例 产品订单产品订单.mdb/.mdb/客户客户-订单订单第18页,共92页,编辑于2022年,星期五关系模型的三类完整性规则(5)设课程之间有先修、后继联系。模式如下:R(C#,CNAME,PC#)其属性表示课程号、课程名、先修课的课程号。如果规定,每门课程的直接先修课只有一门,那么模式R的主键是C#,外键是PC#。这里参照完整性在一个模式中实现。即每门课程的直接先修课必须在关系中出现。n注意事项:注意事项:n外键和相应的主键可以不同名,只要定义
15、在相同值域上即可。nR1和R2也可以是同一个关系模式,表示了属性之间的联系。n外键值是否允许空,应视具体问题而定。第19页,共92页,编辑于2022年,星期五关系模型的三类完整性规则(6)l用户定义的完整性规则 在建立关系模式时,对属性定义了数据类型,即使这样可能还满足不了用户的需求。此时,用户可以针对具体的数据约束,设置完整性规则,由系统来检验实施,以使用统一的方法处理它们,不再由应用程序承担这项工作。例如学生的年龄定义为两位整数,范围还太大,我们可以写如下规则把年龄限制在1530岁之间:CHECK(AGE BETWEEN 15 AND 30)n用户针对具体的应用环境定义的完整性约束条件。n
16、如S#要求是8位整数,SEX要求取值为“男”或“女”。n关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们而不要由应用程序来承担这一功能。第20页,共92页,编辑于2022年,星期五2.1.5关系模型的优点l与其它数据模型相比,关系模型突出的优点如下:(1)关系模型提供单一的数据结构形式,具有高度的简明性和精确性。(2 2)关关系系模模型型的的逻逻辑辑结结构构和和相相应应的的操操作作完完全全独独立立于于数数据据存存储储方方式式,具有高度的数据独立性。具有高度的数据独立性。(3)关系模型使数据库的研究建立在比较坚实的数学基础上。(4 4)关关系系数数据据库库语语言言与与一一
17、阶阶谓谓词词逻逻辑辑的的固固有有内内在在联联系系,为为以以关关系系数数据据库库为为基基础础的的推推理理系系统统和和知知识识库库系系统统的的研研究究提提供供了了方便。方便。返回第21页,共92页,编辑于2022年,星期五2.1.6关系查询语言和关系运算 l关系数据库的数据操纵语言(DML)的语句分成查询语句和更新语句两大类。查询语句用于描述用户的各种检索要求;更新语句用于描述用户进行插入、删除、修改等操作。关于查询的理论称为“关系运算理论”。l关系查询语言根据其理论基础的不同分成三类:(1 1)关系代数语言。)关系代数语言。(2)关系演算语言。(3)关系逻辑语言。返回第22页,共92页,编辑于2
18、022年,星期五2.2关系代数 关系代数是一种抽象的查询语言,用对关系的运算来表达查询,作为研究关系数据语言的数学工具。l关系数据库的数据操作分为查询和更新两类。l查询用于各种检索操作,更新语句用于插入、删除和修改等操作。l更新在查询的基础上工作,查询更复杂。关于查询的理论称为“关系运算理论”。返回第23页,共92页,编辑于2022年,星期五2.2关系代数l2.2.1 关系代数的五个基本操作 l2.2.2 关系代数的四个组合操作 l2.2.3 关系代数运算的应用实例 l2.2.4 关系代数的七个扩充操作 第24页,共92页,编辑于2022年,星期五关系代数的五个基本操作(1)l 并(Union
19、)设关系R和S具有相同的关系模式,R和S的并是由属于R或属于S的元组构成的集合,记为RS。形式定义如下:RSt|tR tS,t是元组变量,R和S的元数相同。R Sn两个关系R和S若进行并运算,则它们必须是相容的:n关系R和S必须是同元的,即它们的属性数目必须相同。n对i,R的第i个属性的域必须和S的第i个属性的域相同。第25页,共92页,编辑于2022年,星期五集合运算并Union()第26页,共92页,编辑于2022年,星期五关系代数的五个基本操作(1)l 差(Difference)设关系R和S具有相同的关系模式,R和S的差是由属于R但不属于S的元组构成的集合,记为RS。形式定义如下:R S
20、R和S必须同类型(属性集相同,但属性名可以不同)RS=t|tRtS第27页,共92页,编辑于2022年,星期五集合运算差Minus(-)第28页,共92页,编辑于2022年,星期五关系代数的五个基本操作(1)l笛卡尔积 关系R和S的元数分别为r和s,定义R和S的笛卡尔积是一个(r+s)元的元组集合,每个元组的前r个分量来自R的一个元组,后s个分量来自S的一个元组,记为R S。RS t|t tr,ts tr R ts S 若R有m个元组,S有n个元组,则R S有m*n个元组。nRS的元数为R与S的元数之和(r+s),RS的基数为R和S的基数的乘积m*n。第29页,共92页,编辑于2022年,星期
21、五笛卡儿积()关系r,s:r x s:AB12CD10102010EaabbAB11112222CD 1019201010102010Eaabbaabbrs第30页,共92页,编辑于2022年,星期五笛卡儿积()R.AR.BR.CS.AS.BS.C第31页,共92页,编辑于2022年,星期五笛卡儿积()引伸性别男女姓名王强李明李梅姓名姓名性别性别王强男李明男李梅男王强女李明女李梅女=说明:笛卡尔积的元组数量虽然庞大,但很多数据是没有意义的,正是有意义的数据(自然连接)组成关系,即笛卡尔积的一个子集。第32页,共92页,编辑于2022年,星期五关系代数的五个基本操作(2)l 投影(Project
22、ion)这个操作是对一个关系进行垂直分割,消去某些列,并重新安排列的顺序。设关系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中取第1、3列,组成新的关系,新关系中第1列为R的第3列,新关系的第2列为R的第1列。如果R的每列标上属性名,那么操作符 的下标处也可以用属性名表示。例如,关系R(A,B,C),那么 C,A(R)与 3,1(R)是等价的。第33页,共92页,编辑于2022年,星期五关系运算投影()l例:ssex,
23、sage(student)第34页,共92页,编辑于2022年,星期五关系运算投影()l关系R:ABC102030401112AC1112=AC112lA,C(R)n投影运算的结果中,也要去除重复元组第35页,共92页,编辑于2022年,星期五关系代数的五个基本操作(3)l 选择(Selection)选择操作是根据某些条件对关系做水平分割,即选取符合条件的元组。条件可用命题公式(即计算机语言中的条件表达式)F表示。F中有两种成分:关系R关于公式F的选择操作用F(R)表示,形式定义如下:F(R)t|tR F(t)=true 为选择运算符,F(R)表示从R中挑选满足公式F为真的元组所构成的关系。例
24、如,23(R)表示从R中挑选第2个分量值大于3的元组所构成的关系。书写时,为了与属性序号区别起见,常量用引号括起来,而属性序号或属性名不要用引号括起来。第36页,共92页,编辑于2022年,星期五关系运算选择()l例:ssex=男 AND sdep=IS(Student)第37页,共92页,编辑于2022年,星期五练习:n1、R和S的结构相同,且各有20个元组,那么两个关系的并操作结果的元组个数为()A.20 B.小于等于20 C.40 D.小于等于40 2、R和S的结构相同,且各有20个元组,那么两个关系的差操作结果的元组个数为()A.20 B.小于等于20 C.40 D.小于等于40 答案
25、:1、D 2、B第38页,共92页,编辑于2022年,星期五 与与 V V或或 NOTNOT非非 量词:量词:存在,存在,任一个任一个运算结果T TT FF FT V V TT V V FF V V F第39页,共92页,编辑于2022年,星期五2.2.2关系代数的四个组合操作(1)l 交(intersection)n定义n所有同时出现在两个关系中的元组集合。n交运算可以通过差运算来重写:RS=R (R S)nR和S必须同类型(属性集相同、次序相同,但属性名可以不同)R R S=r|rS=r|r R R r r S S R S第40页,共92页,编辑于2022年,星期五关系运算交Interse
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模型 关系 运算 理论 PPT 讲稿
限制150内