关系数据模型与关系运算优秀PPT.ppt

上传人:石*** 文档编号:65063258 上传时间:2022-12-02 格式:PPT 页数:43 大小:2.96MB
返回 下载 相关 举报
关系数据模型与关系运算优秀PPT.ppt_第1页
第1页 / 共43页
关系数据模型与关系运算优秀PPT.ppt_第2页
第2页 / 共43页
点击查看更多>>
资源描述

《关系数据模型与关系运算优秀PPT.ppt》由会员分享,可在线阅读,更多相关《关系数据模型与关系运算优秀PPT.ppt(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、关系数据模型与关系运算第1页,本讲稿共43页Example of a Relation第2页,本讲稿共43页2.1 关系数据模型v关系数据结构描述关系的笛卡尔积乘积定义vDomain(域)/datatype(数据类型)vCartesian Product(笛卡尔积)定义:设有一组域D1,D2,Dn,这些域可以部分或者全部相同。域D1,D2,Dn的笛卡尔乘积(Cartesian Products)定义为如下集合:D1D2Dn=(d1,d2,dn)|diDi,i=1,2,n 其中每一个元素(d1,d2,dn)称为一个元组(Tuple),通常用t表示;元组中每一个值称为一个分量(Component)

2、。例子:总分登记表中的四个域第3页,本讲稿共43页2.1 关系数据模型va relation is a subset of a Cartesian product 例子1:总分登记表 Domain(学号)Domain(姓名)Domain(性别)Domain(总分)例子2:if relation t have 4 attributes,A1,A2,A3,and A4,则 T Domain(A1)x Domain(A2)x Domain(A3)x Domain(A4)关系的二维表格描述v关系是满足特定规范性要求的二维表格v关系的规范化限定v关系的其他一些概念:数据库、关系(表)、属性、元组、基数、

3、度数第4页,本讲稿共43页2.1 关系数据模型v键超键、候选键、主键、外键v设X是关系R的一个或一组属性,但不是关系R的键。如果X与关系S的主键KS相对应,则称X是关系R的外键(Foreign key)。关系R为参照关系(Referencing Relation)。关系S为被参照关系(Referenced Relation)或目标关系(Target Relation)。关系模式和关系实例v关系模式关系模式关系模式(Relation Schema)。它是一个5元组:R(U,D,dom,F)v关系实例第5页,本讲稿共43页v关系的性质在关系模型中,对关系作了下列规范性限制:(1)关系中每一个属性值

4、都是不可分解的;(2)关系中不允许出现重复元组(即不允许出现相同的元组);(3)由于关系是一个集合,因此不考虑元组间的顺序,即没有行序;(4)元组中的属性在理论上也是无序的,但使用时按习惯考虑列的顺序。第7页,本讲稿共43页2.1 关系数据模型v完整性约束(1)实体完整性约束v实体完整性约束(Entity Integrity)要求组成主键的属性不能为空值,(2)参照完整性约束v参照完整性规则:如果X是关系R的外键,它与关系S的主键KS相对应,则对于R中每个元组在X上的值必须为:或者为空值(X包含的所有属性都为空值)或者等于S中某个元组的主键值(3)用户定义完整性约束v例如:订货数不得小于0;订

5、货数不得小于存货量第8页,本讲稿共43页例1 下面各种情况说明了参照完整性规则在关系中如何实现的。在关系数据库中有下列两个关系模式:S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE)这里带下划线者为主键,SC关系中的S属性为外键。据规则要求关系SC中的S#值应该在关系S中出现。如果关系SC中有一个元组(S7,C4,80),而学号S7却在关系S中找不到,那么我们就认为在关系SC中引用了一个不存在的学生实体,这就违反了参照完整性规则。另外,在关系SC中S#不仅是外键,也是主键的一部分,因此这里S#值不允许空。第9页,本讲稿共43页例2 设工厂数据库中有两个关系模式:DEPT(D#

6、,DNAME)EMP(E#,ENAME,SALARY,D#)车间模式DEPT的属性为车间编号、车间名,职工模式EMP的属性为工号、姓名、工资、所在车间的编号。每个模式的主键与外键已标出。在EMP中,由于D#不在主键中,因此D#值允许空。第10页,本讲稿共43页2.1 关系数据模型v关系数据操作数据查询数据更新v关系数据操作过程分类v关系数据语言第11页,本讲稿共43页2.2 关系代数v五种基本关系代数运算并运算;差运算;投影运算;选择运算;广义笛卡尔乘积 数据更新基本运算(对应于传统集合运算)v更新操作:插入;删除;修改v(两张表相兼容)Two tables are said to be co

7、mpatible iff they have the same schema.vExample:第12页,本讲稿共43页2.2 关系代数v1.插入-集合的并运算设有兼容关系R、S(即R、S具有相同的关系模式),则二者的并运算定义为:式中“”为并运算符,t为元组变量,结果RS为一个新的与R、S兼容的关系,该关系是由属于R或属于S的元组构成的集合。v2.删除-集合的差运算设有兼容关系R、S,则二者的差运算定义为:式中“”为差运算符,t为元组变量,结果R-S为一个新的与R、S兼容的关系,该关系是由属于R而且不属于S的元组构成的集合,即在R中减去与S中相同的那些元组。第13页,本讲稿共43页第14页,

8、本讲稿共43页v3.修改-并运算与差运算的组合 设需要修改的元组构成关系R1,则先做删除,得R-R1。设需修改后的元组构成关系R2,此时将其插入,得到结果(R-R1)R2。2.2 关系代数第15页,本讲稿共43页2.2 关系代数数据查询基本运算v1关系属性的指定投影运算 这个操作是对一个关系进行垂直分割,消去某些列,并重新安排列的顺序。例子2-3第16页,本讲稿共43页v2关系元组选定选择运算 选择操作是根据某些条件对关系做水平分割,即选取符合条件的元组。例子第17页,本讲稿共43页赋值与别名 v关系R 有如下字段 Head(R)=A1.,An,如果希望创建一个新的关系 S 有如下属性 Hea

9、d(S)=B1,.,Bn,且属性Bi 具有以下特性 Dom(Bi)=Dom(Ai)for all i,1=i=n,并且关系s的记录和关系 R相同.则我们可以通过赋值来定义关系Sv S(B1,.,Bn):=R(A1,.,An).S(B1,.,Bn):=R(A1,.,An).v符号:=称为 the assignment operator.(赋值运算符)v如果仅需要重新定义表名,而不需要重新定义列名,我们可以S:=RS:=R.并称S为表R的 表别名表别名v采用别名可以保存操作的中间结果.v赋值操作符的左边只能是表名,不允许为表达式 v例如:(1)T:=(R S)-(R S)(2)T1:=(R S)T

10、2:=(R S)T3:=T1-T2 第18页,本讲稿共43页v3关系的联结广义笛卡尔乘积运算 当两个关系中有属性重名时,要表名其Qualified names 即即 table_name.attribute_name思考:自己和自己做笛卡尔集,应该如何来做?例子第19页,本讲稿共43页2.2 关系代数v基本关系代数运算综合实例 图有两个关系R和S,图2.13的(a)、(b)表示RS和RS。(c)表示RS,(d)表示C,A(R),即3,1(R)。(e)表示B=b(R)。(a)RS (b)RS (c)RS (d)(e)R S第23页,本讲稿共43页2.2 关系代数v基本关系代数运算综合实例学生关系

11、:S(S#,Sn,Sex,Sa,Sd);课程关系:C(C#,Cn,P#,Tn);选课关系:SC(S#,C#,G),其中 S#表示学号,Sn表示学生姓名,Sex 表示学生性别,Sa表示学生年龄,Sd表示学生所在系别;C#表示课程号,Cn表示课程名,P#表示预修课程号,Tn表示任课教师姓名;G表示课程成绩。第24页,本讲稿共43页例例2-5 学号为S17的学生因故退学,在S和SC中将其删去:例例2-6 检索不修读任何课程的学生学号:例例2-7 在关系C中增加一门新课程(C13,ML,C3,null):如果令这门新课程元组所构成的关系为R,则有:R=(C13,ML,C3,null),这时结果为:CR

12、。学生关系:S(S#,Sn,Sex,Sa,Sd);课程关系:C(C#,Cn,P#,Tn);选课关系:SC(S#,C#,G),第25页,本讲稿共43页例例2-8 将关系S中的年龄增加一岁:S(S#,Sn,Sd,Sa+1)例例2-9 检索学生年龄大于等于20岁的学生姓名:例例2-10 检索预修课程号为C2的课程的课程号:例例2-11 将关系S中学生S6的年龄改为22岁:其中,W为修改后的学生有序组构成的关系,即W=(S6,22)。表示原值学生关系:S(S#,Sn,Sex,Sa,Sd);课程关系:C(C#,Cn,P#,Tn);选课关系:SC(S#,C#,G),第26页,本讲稿共43页v检索选修课程号

13、为c2或c4的学生学号 或者v检索至少选修了课程号为c2和c4的学生学号学生关系:S(S#,Sn,Sex,Sa,Sd);课程关系:C(C#,Cn,P#,Tn);选课关系:SC(S#,C#,G),第27页,本讲稿共43页2.2 关系代数v扩充关系代数运算1.交运算v设有兼容关系R、S(即R、S具有相同的关系模式),则二者的并运算定义为:RS=R(RS)或RS=S(SR),所以交运算可以看作是组合运算,而不是基本运算。第28页,本讲稿共43页2.2 关系代数2.除法运算设关系R和S的元数分别为r和s(设rs0),那么RS是一个(r-s)元的元组的集合。(RS)是满足下列条件的最大关系:其中每个元组

14、t与S中每个元组u组成的新元组必在关系R中。第29页,本讲稿共43页第30页,本讲稿共43页 3.连接运算(join)v联接有两种:联接和自然联接(这里是算术比较符)。v(1)联接 t t=trR tsS tritsj 第31页,本讲稿共43页第32页,本讲稿共43页v(2)自然联接(natural join)两个关系R和S的自然联接操作具体计算过程如下:计算RS;设R和S的公共属性是A1,AK,挑选RS中满足R.A1=S.A1,R.AK=S.AK 的那些元组;去掉S.A1,S.AK这些列。定义:i1,im(R.A1=S.A1.R.AK=S.AK(RS),其中i1,im为R和S的全部属性,但公

15、共属性只出现一次。第33页,本讲稿共43页第34页,本讲稿共43页outer joinLeft outer joinRight outer join第35页,本讲稿共43页外连接OUTER JOINDefinitionthe left outer join/the right outer joinExample想查看所有学生的选课情况 想查看准备开设的选修课程被选修的情况第36页,本讲稿共43页v例例2-17检索课程号为C,且成绩为A的所有学生姓名:vSn(C#=C G=A(S SC)v例例2-18 检索S1所修读的课程名及其预修课号:vCn,P#(S#=s1(C SC)v例例2-19 检索年

16、龄为20岁,并且预修课程成绩为A的学生所修读的课程名:vCn(Sn=20 G=A(S SC C)学生关系:S(S#,Sn,Sex,Sa,Sd);课程关系:C(C#,Cn,P#,Tn);选课关系:SC(S#,C#,G),第37页,本讲稿共43页关系代数运算小结v(1 1)从运算的基本性与复合性考虑,关系代数运算可以分为:基本关系代数运算:关于数据更新的并运算、差运算;关于数据查询的投影运算、选择运算和(广义)笛卡尔乘积运算。扩充关系代数运算:交运算、除运算、连接与自然连结运算。关系代数中5个基本的运算:并、差、笛卡尔乘积、投影、选择,组成了关系代数完备的运算集。v(2 2)从传统集合运算和关系数

17、据库专门集合运算考虑,关系代数运算可以分为:传统的集合运算:并、差、交和笛卡尔乘积。专门的关系运算:投影、选择、连接和除法等。第38页,本讲稿共43页第39页,本讲稿共43页重要内容分析(一)1.一般规则对于否定的操作,一般要用差操作表示,例如“检索不学C2课的学生姓名”。对于检索具有“全部”特征的操作,一般要用除法操作表示,例如“检索学习全部课程的学生姓名”。第40页,本讲稿共43页重要内容分析(二)(1)“检索不学C2课的学生姓名”,决不能用下式表示:SN,SA(C#C2(S SC)一定要用“差”的形式:SN,SA(S)SN,SA(C#=C2(S SC)(2)“检索学习全部课程的学生学号”

18、,要用S#,C#(SC)C#(C)表示,而不能写成S#(SCC#(C)形式。这是因为一个学生学的课程的成绩可能是不一样的。第41页,本讲稿共43页重要内容分析(三)2非过程性语言与过程性语言的区别编程时必须指出“干什么”及“怎么干”的语言,称为过程性语言;编程时只须指出“干什么”,不必指出“怎么干”的语言,称为非过程性语言。第42页,本讲稿共43页本章小结v1.关系数据模型的数据结构数据结构的数学表达概念:表(关系);属性(字段);元组(记录);超键,候选键,主键;外键;域v2.完整性约束实体完整性;参照性完整性;用户自定义的完整性v3.关系代数五种基本运算;三种扩展运算(连接运算有两种)掌握运算的表达式;新关系的head和记录内容;综合实例如何用关系代数表达式表示第43页,本讲稿共43页

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

当前位置:首页 > 生活休闲 > 资格考试

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁