




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章 关系运算数据库原理及应用教学内容关系的数学定义关系代数关系演算第1节 关系的数学定义第2章 关系运算主要内容笛卡儿积的数学定义关系的数学定义关系的性质一、笛卡儿积的数学定义1、笛卡儿积的数学定义定义2.1 设有属性A1,A2,An分别在值域D1,D2,Dn中取值,则这些值域的笛卡儿积定义为:D1D2Dn=(d1,d2,dn)|djDj, j=1,2,n其中,每个元素 (d1,d2,dn)称为元组。元组中的第j个值dj称为元组的第j个分量。若Dj (j=1,2,n)为有限集,且其基数为mj (j=1,2,n),则笛卡儿积D1D2Dn的基数为注:笛卡儿积的基数即为笛卡儿积定义的元组集合中元
2、组的个数。一、笛卡儿积的数学定义例1:设D1=1,2,3,基数为3; D2=a,b,基数为2;则有:D1D2=(1,a),(1,b),(2,a),(2,b),(3,a),(3,b)基数为32=6。一、笛卡儿积的数学定义例2:设D1=李兵,王芳,D2=男,女, D3=北京,上海。D1D2D3=(李兵,男,北京),(李兵,男,上海),(李兵,女,北京),(李兵,女,上海),(王芳,男,北京),(王芳,男,上海),(王芳,女,北京),(王芳,女,上海)基数为222=8。一、笛卡儿积的数学定义可见,笛卡儿积实际上是一个二维表,结果共有8个元组。 姓名(D1)性别(D2)籍贯(D3)李兵男北京李兵男上海
3、李兵女北京李兵女上海王芳男北京王芳男上海王芳女北京王芳女上海二、关系的数学定义2、关系的数学定义定义2.2 笛卡儿积D1D2Dn的任一子集称为在域D1,D2,Dn上的关系。值域集合D1,D2,Dn是关系中元组的取值范围,称为关系的域(Domain),n称为关系的目或度(Degree)。n=1,一元关系n=2,二元关系度为n时,n元关系有意义!姓名性别籍贯李兵男北京王芳女上海姓名性别籍贯李兵男上海王芳女北京三、关系的性质3、关系的性质(1)关系中的每个属性值都是不可再分的数据单位,即关系表中不能再有子表;(2)关系中任意两行不能完全相同,即关系中不允许出现相同的元组;(3)关系是一个元组的集合,
4、所以关系中元组间的顺序可以任意;(4)关系中的属性是无序的,使用时一般按习惯排列各列的顺序;(5)每一个关系都有一个主键,唯一地标识它的各个元组。关系是一种规范化了的二维表。第2节 关系代数第2章 关系运算主要内容基于传统集合理论的关系运算关系代数特有的关系运算4种非基本关系运算关系代数运算在查询中的应用专门的关系运算符 ,集合运算符 ,-,关系代数运算符运算结果:关系运算对象:关系一、基于传统集合理论的关系运算1、并前提:关系R和S具有相同的关系模式定义:RSt|tRtSR S RS运算过程: 将关系R和S的元组放在一起,然后消去重复的元组。一、基于传统集合理论的关系运算1、并示例:求R1R
5、2ABCabcadefdc关系R1ABCadefdcfde关系R2ABCabcadefdcfdeR1R2适用于:找出所有出现在两个关系之一的或同时出现在两个关系中的元组。一、基于传统集合理论的关系运算2、交前提:关系R和S具有相同的关系模式定义:RSttRtS 运算过程:找出同时存在于关系R和S中的所有相同的元组。R S RS一、基于传统集合理论的关系运算2、交示例:求R1R2ABCabcadefdc关系R1ABCadefdcfde关系R2适用于:需要找出所有同时出现在两个关系中的元组时。R1R2ABCadefdc一、基于传统集合理论的关系运算3、差前提:关系R和S具有相同的关系模式定义:RS
6、t|tRtS 运算过程: 从关系R的元组中去除它与关系S相同的那些元组R S RS一、基于传统集合理论的关系运算3、差示例:求R1R2ABCabcadefdc关系R1ABCadefdcfde关系R2适用于:找出在一个关系中而不在另一个关系中的那些元组.R1R2ABCabc一、基于传统集合理论的关系运算4、广义笛卡儿积前提:关系R和S的目数分别为r和s。定义: RSt|t=trRtsS 运算过程: 用R的第i(i=1,2,m)个元组与S的全部元组结合成n个元组,所以RS有mn个元组。一、基于传统集合理论的关系运算4、广义笛卡儿积示例:求R1R3DEghij关系R3R1R3ABCabcadefdc
7、关系R1ABCDEABCDEadeghadeijfdcghfdcija b c g h a b c i j 一、基于传统集合理论的关系运算4、广义笛卡儿积 命名机制 关系名.属性名 CDghij关系R3R1R3ABCabcadefdc关系R1ABR1.CR3.CDabcghabcijadeghadeijfdcghfdcij适用于: 将任意两个关系的信息无条件组合在一起二、关系代数特有的关系运算1、投影定义设关系R为r目关系,其元组变量为tr(t1,t2,tr),关系R在其属性分量Aj1,Aj2,Ajk(kr;j1,j2,jk为1到r之间互不相同的整数)上的投影是一个k目关系 j1,j2,jk(
8、R)t|t(tj1,tj2,tjk)(Aj1,Aj2,Ajk)R1、投影运算过程: 首先按照j1,j2,jk的顺序,从关系R中取出列序号为j1,j2,jk的k列,然后除去结果中的重复元组,构成一个以j1,j2,jk为顺序,以Aj1,Aj2,Ajk为属性的k目关系 投影是从列的角度进行的运算投影的下标可是列序号,也可是列属性名二、关系代数特有的关系运算1、投影示例:1,2(R2) ABCadefdcfde关系R2ABadfdfdABadfd二、关系代数特有的关系运算适用于:可以从某一关系中选出若干属性列构成新的关系,通常用于查询结果的输出2、选择定义: F(R)ttRF(t)=true运算过程:
9、 根据公式F对关系R作水平分割,从中挑选出满足公式F的那些元组组成新关系。设F是一个命题公式 或 选择是从行的角度进行的运算,产生的关系具有与R相同的属性,但其元组数量总是小于或等于R中的元组数量二、关系代数特有的关系运算2、选择示例ABCabcadefdc关系R1B=dC=e(R1) ABCade二、关系代数特有的关系运算适用于:可以在某一关系中选择满足给定条件的诸元组构成新的关系练习ABCabcadefdc关系R13,1(R1)二、关系代数特有的关系运算CAcaeacfABCadefde二、关系代数特有的关系运算ABCadefdcfde关系R223(R2) 练习3、商1)定义: 设关系R和
10、S的目数分别为r和s,且rs,s,则关系R关于S的商是一个由r-s目元组组成的集合,且如果tr-s1,2,r-s(R),则tr-s与S中的每一个元组us组成的新元组必在关系R中。关系R关于S的商记为RS:RS=t|t=(t1r,t2r,trr-s)“如果tr-s1,2,r-s(R), 则对于所有的usS,成立R”二、关系代数特有的关系运算3、商2)运算过程 计算1,2,r-s(R); 对于1,2,r-s(R) 中每一个元组tr-s和所有usS,如果均有R成立,则tr-s属于结果关系RS中的元组;否则,不属于RS中的元组。二、关系代数特有的关系运算ABCDabcdabefbcefedcdedef
11、abde关系RCDcdef关系SABabbcedRSr-s例2.3 已知关系R和S,求RS二、关系代数特有的关系运算3)示例计算1,2,r-s(R);验证R成立。ABabedA,B(R)4、联接1)设关系R和S的目数分别为r和s,是算术比较运算符,则联接运算定义为:二、关系代数特有的关系运算2)运算过程将R的每个元组的第j个分量与S的每个元组的第k个分量做比较运算,当满足比较条件时,就把S的该分量所在元组接在R的相应元组的右边构成一个新关系的元组;当不满足比较条件时,继续下一次比较,直到关系R和S中的元组都比较完为止。4、联接3)说明二、关系代数特有的关系运算 R S,FF1F2Fm 等值联接
12、:为“=” ABC123456789关系RDE3162关系SABCDE123311236245662例2.4 已知关系R和S,求R S或R S二、关系代数特有的关系运算4)示例trts 5)适用于 有选择条件的多个关系的数据组合ABCDE5、自然联接1)设关系R和S的目数分别为r和s,且关系R和S的属性中有部分相同属性A1,A2,Ak,则自然联接定义为:二、关系代数特有的关系运算2)运算过程将R的每个元组的A1,A2,Ak列的值和关系S的每个元组的A1,A2,Ak列的值进行比较,比较条件是R.A1S.A1R.A2S.A2R.AkS.Ak,当条件都满足时,就从关系S中正在比较的元组中去掉被比较的
13、k个分量后,把剩余的分量依原序接在关系R的元组的右边构成新关系的一个元组;当至少有一个条件不满足时,就继续下一次比较,直到关系R和S中的元组均比较完为止。ABCabcdbcbbfcadRSBCDbcdbceadbABCDdbcddbcecadb例2.5 已知关系R和S,求RS二、关系代数特有的关系运算3)示例ABCDabcdabce5、自然联接 4)适用于:自然联接在关系数据库理论和实践中处于中心地位,它的使用非常方便。 5)与等值联接的区别:当两个关系R和S有相同属性时,自然联接与等值联接都是判断在相同属性上的值是否相等。但结果关系中,自然联接的公共属性只出现一次,而等值联接的公共属性则要重
14、复出现;当关系R和S无公共属性时,R与S的自然联接即为R与S的广义笛卡儿积。 二、关系代数特有的关系运算1、交设R和S具有相同的关系模式。定义:RSR(RS) 或RSS(SR)三、4种非基本关系运算2、商设R和S的目数分别为r和s,且rs,s。用基本关系代数运算可定义商为: RS1,2,r-s(R)-1,2,r-s(1,2,r-s(R)S)-R)三、4种非基本关系运算3、联接设R和S的目数分别为r和s。用基本关系代数运算可定义联接为: 三、4种非基本关系运算过程为:在R和S的广义笛卡儿积中挑选那些其第j个分量和第r+k个分量满足算术比较条件的元组。4、自然联接设R和S的目数分别为r和s,且关系
15、R和S有部分相同属性A1,A2,Ak。用基本关系代数运算可定义联接为: 三、4种非基本关系运算过程为:先计算R和S的广义笛卡儿积,然后从RS中挑选出同时满足条件R.A1=S.A1,R.A2=S.A2,R.AkS.Ak的那些元组,再去掉重复值,即为自然联接的运算结果。小结并:差:-交:笛卡尔积:集合操作关系操作表示方法含义运算过程适用情况投影:选择:商:联接:自然联接:已知教学管理数据库系统中的七个关系模式如下: 学生关系模式:S(S#,SNAME,SSEX,SBIRTHIN,PLACEOFB,SCODE,CLASS) 专业关系模式:SS(SCODE#,SSNAME) 课程关系模式:C(C#,C
16、NAME,CLASSH) 设置关系模式:CS(SCODE#,C#) 学习关系模式:SC(S#,C#,GRADE) 教师关系模式:T(T#,TNAME,TSEX,TBIRTHIN,TITLEOF,TRSECTION,TEL) 讲授关系模式:TEACH(T#,C#)四、关系代数运算在查询中的应用1、查询全体教师的教职工号、教师姓名、职称和所在教研室。解题思路:从教师表中把各教师的相应属性投影出来。T#,TNAME,TITLEOF,TRSECTION (T) 或 1, 2, 5, 6(T) 四、关系代数运算在查询中的应用SSEX=“女”(S) 或 3=“女”(S) 四、关系代数运算在查询中的应用2、
17、查询全部女学生。解题思路:从学生表中选择出那些性别为“女”的元组。S#, SNAME (SSEX=“男”SCODE#=“S0401”(S) )或 1, 2 (3=“男”6=“s0401”(S) )四、关系代数运算在查询中的应用3、找出专业代码为S0401的男学生的学号和姓名。解题思路:首先确定涉及到的表,仅有学生表;涉及到的查询条件有两个,选择专业代码为“S0401”和性别为“男”的元组;最后,查询结果用投影表示出来。S#(C#=“C401001”C#=“C401002”(SC) )或 S#(C#=“C401001” (SC) )S#(C#=“C401002”(SC) )四、关系代数运算在查询
18、中的应用4、找出选修了课程号为C401001或课程号为C401002的学生的学号。解题思路:在SC表中判断元组是否满足条件为选修了课程号C401001或C401002,可以在选择条件中用“”连接“或”的条件;也可以分别查询出满足条件的元组,再并运算。S#(2=“C401001”5=“C401002”(SCSC) )或 S#(C#=“C401001” (SC) )S#(C#=“C401002”(SC) )四、关系代数运算在查询中的应用5、找出选修了课程号为C401001和课程号为C401002的学生的学号。解题思路:由于查询是按元组一行一行地检索,因此在SC表中一个元组只能满足一个课程号的条件。
19、因此,可利用广义笛卡儿积的办法创造一个元组中有两个课程号能分别满足不同的课程号要求;另一种办法为分别求出满足条件的元组,再交运算。四、关系代数运算在查询中的应用6、找出选修了课程号为C402002的学生的学号、姓名的考试成绩。解题思路:首先确定涉及到的表,学号和姓名在S表中,成绩在SC表中,而S表和SC表具有相同属性S#,因此需将两个表作自然联接操作;查询条件为选修了课程号C402002,作选择操作;最后,投影出查询结果的列。S#,SNAME,GRADE(C#=“C402002” (SSC) )四、关系代数运算在查询中的应用7、找出专业代码为S0403学习了“计算机网络”课程的学生的学号、姓名
20、的考试成绩。解题思路:首先确定涉及到的表,由于查询涉及到条件“计算机网络”课程,该属性在C表中,而查询学生的学号、姓名及专业代码在S表中,另外,考试成绩在SC表中,需将三个表作自然联接;选择出满足条件的元组;并投影出相应结果列。S#,SNAME,GRADE(SCODE#=“s0403” CNAME=“计算机网络”(SSCC)总结:将一个汉语查询语句表示成一个关系代数表达式时,应从如下几个方面入手 1、确定结果关系的属性有哪些?分别来自哪些关系? 2、是否有选择条件?条件涉及哪些关系?应用何种运算符表示条件?、 3、查询如果涉及多个关系,应用何种运算符进行联接? 、联接、 小结第3节 关系演算第
21、2章 关系运算主要内容元组关系演算域关系演算一、元组关系演算1、元组关系演算表达式 一般形式: t|(t) 其中,t为元组变量,(t)为由原子公式和运算符组成的公式。2、元组关系演算表达式中的原子形式 R(t)表示:t是关系R的元组。 tjuk表示:元组t的第j个分量与元组u的第k个分量满足运算。 tja或atj表示:元组t的第j个分量与常数a之间满足运算。一、元组关系演算3、自由元组变量和约束元组变量 在一个公式中,一个元组变量称为约束元组变量,当且仅当这个元组变量前面有存在量词或全程量词,反之,则称这个元组变量为自由元组变量。例1: 在公式t(R(t)S(u)中,约束变量为t,自由变量为u
22、。思考: 在公式x(R(y)S(x)中,约束变量和自由变量分别是什么呢?一、元组关系演算4、元组关系演算的公式定义 (1)每个原子是一个公式,称为原子公式。原子中的所有元组变量在该公式中是自由变量。(2)如果1和2是公式,则12、12和1也是公式。它们分别表示:“1和2均为真”,“1和2至少有一个为真”,“1不为真”。这些公式中的元组变量依然如它们在1和2中是自由的或是约束的。(3)若是公式,u是中的某个自由元组变量,则(u)()也是公式,它表示:存在一个元组u使公式为真。u在中是自由的,但在(u)()中是约束的。中的其它元组变量的自由约束性在(u)()中没有变化。 一、元组关系演算4、元组关
23、系演算的公式定义 (4)若是公式,u是中的某个自由元组变量,则(u)()也是公式,它表示:对于所有元组u都使为真。元组变量的自由约束性与(3)相同。(5)公式中运算符的优先次序从高到低依次为:算术比较符,量词和,逻辑运算符、。添加括号可改变上述次序。(6)公式或只限于上述五种形式,或只由上述五种基本形式组合而成。一、元组关系演算5、五种基本关系代数表达式的元组演算表示形式 (1)RSt|R(t)S(t)(2)RSt|R(t)S(t)(3)RSt|(u)(v)(R(u)S(v)t1=u1tr=urtr+1=v1tr+s=vs)(4)j1,j2,jk(R)tk|(u)(R(u)t1=uj1tk=ujk)(5)F(R)t|R(t)F,其中F为用tj代替公式F中的运算对象j得到。例:设有已知关系R如图所示,求如下元组演算表达式的值。 ABCae8cf6db4df3关系RR2t|R(t)t34ABCae8cf6db4关系R2一、元组关系演算ABCae8cf6db4df3关系RDE4x5d关系WR4t|(u)(v)(R(u)W(v)u2ft1u3t2u2t3u1t4v2)例:设有已知关系R、W如图所示,求如下元组演算表达式的值。 一、元组关系演
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 系统集成团队建设实例试题及答案
- 深入剖析系统集成试题及答案
- 新高考专版2024-2025年高一地理专题02人口的空间变化同步有效作业必修2
- 专业知识2025年系统分析师考试试题及答案
- 孕期常见不适试题及答案
- 襄阳d照理论试题及答案
- 2025年中国锅炉阻垢缓蚀剂行业市场前景预测及投资价值评估分析报告
- 政治学概论试题及答案
- 对照中级社会工作者考试大纲的试题解析试题及答案
- 影响网络性能的要素试题及答案
- 项目volume3修改版-旧20.commissioning servicing manualFMZ5000火灾探测和灭火系统控制盘安装调试维保手册
- 消防安全常识二十条系列挂图清晰版
- GB/T 3672.1-2002橡胶制品的公差第1部分:尺寸公差
- GB/T 23227-2018卷烟纸、成形纸、接装纸、具有间断或连续透气区的材料以及具有不同透气带的材料透气度的测定
- GB/T 18049-2017热环境的人类工效学通过计算PMV和PPD指数与局部热舒适准则对热舒适进行分析测定与解释
- 烟草专卖管理师岗位技能标准(2023版)
- 半条被子(红军长征时期故事) PPT
- 公司车辆驾驶扣分违章处理证明 模板
- 一次性赔偿协议书模板
- (中职)车削加工技术全册实训课教案完整版
- 幼儿园绘本故事:《漏》
评论
0/150
提交评论