1、传统的集合运算并差交广义笛卡尔积1.并(Union)R和S具有相同的目n(即两个关系都有n个属性)相应的属性取自同一个域RS仍为n目关系,由属于R或属于S的元组组成 RS=t|t Rt S 并(续)ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSRS2.差(Difference)R和S具有相同的目n相应的属性取自同一个域R-S仍为n目关系,由属于R而不属于S的所有元组组成R-S=t|tRtS差(续)ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1R
2、SR-S3.交(Intersection)R和S具有相同的目n相应的属性取自同一个域RS仍为n目关系,由既属于R又属于S的元组组成 RS=t|t Rt S RS=R(R-S)广义笛卡尔积(续)ABCa1 b1 c1a1 b2 c2a2 b2 c1ABCa1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1ABCa1 b2 c2a1 b3 c2a2 b2 c1RSR SABCa1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1关系代数概述传统的集合运算专门的关系运算专门的关系运算选择投影
3、连接除1.选择(Selection)1)选择又称为限制(Restriction)2)选择运算符的含义在关系R中选择满足给定条件的诸元组F(R)=t|tRF(t)=真F:选择条件,是一个逻辑表达式,基本形式为:(X1Y1)(X2Y2):比较运算符(,:比较运算符(,或,或)X1,Y1等等:属属性性名名、常常量量、简简单单函函数数;属属性性名名也也可可以以用用它它的序号来代替;的序号来代替;:逻辑运算符(:逻辑运算符(或或):表示任选项:表示任选项:表示上述格式可以重复下去:表示上述格式可以重复下去选择(续)3)选择运算是从行的角度进行的运算4)举例设有一个学生-课程数据库,包括学生关系Stude
4、nt、课程关系Course和选修关系SC。选择(续)学学号号Sno姓姓名名Sname性性别别Ssex年年龄龄Sage所所在在系系Sdept95001李勇李勇男男20CS95002刘晨刘晨女女19IS95003王敏王敏女女18MA95004张立张立男男19IS(a)Student例1例2例4例3例9选择(续)(b)Course课程号课程号课程名课程名先行课先行课学分学分CnoCnameCpnoCcredit1数据库数据库542数学数学23信息系统信息系统144操作系统操作系统635数据结构数据结构746数据处理数据处理27PASCAL语言语言64例9选择(续)(c)SC学学号号课课程程号号成成绩
5、绩SnoCnoGrade9500119295001285950013889500229095002380例7例9选择(续)例1查询信息系(IS系)全体学生Sdept=IS(Student)或5=IS(Student)结果:SnoSnameSsexSageSdept95002刘晨刘晨女女19IS95004张立张立男男19IS选择(续)例2查询年龄小于20岁的学生Sage20(Student)或420(Student)结果:SnoSnameSsexSageSdept95002刘晨刘晨女女19IS95003王敏王敏女女18MA95004张立张立男男19IS2.投影(Projection)1)投影运算
6、符的含义从R中选择出若干属性列组成新的关系A(R)=tA|t RA:R中的属性列中的属性列2.投影(Projection)2)投影操作主要是从列的角度进行运算但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)投影(续)3)举例例3查询学生的姓名和所在系即求Student关系上学生姓名和所在系两个属性上的投影Sname,Sdept(Student)或2,5(Student)结果:投影(续)SnameSdept李勇李勇CS刘晨刘晨IS王敏王敏MA张立张立IS投影(续)例4查询学生关系Student中都有哪些系Sdept(Student)结果:SdeptCSISMA3.连接(
7、Join)1)连接也称为连接2)连接运算的含义从两个关系的笛卡尔积中选取属性间满足一定条件的元组R S=|tr Rts StrAtsBA和和B:分分别别为为R和和S上上度度数数相相等等且且可可比比的的属属性性组组:比较运算符:比较运算符连接运算从R和S的广义笛卡尔积RS中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系的元组。ABtrts连接(续)3)两类常用连接运算等值连接(equijoin)什么是等值连接什么是等值连接为为“”的连接运算称为等值连接的连接运算称为等值连接等值连接的含义等值连接的含义从从关关系系R与与S的的广广义义笛笛卡卡尔尔积积中中选选取取A、B属属性值
8、相等的那些元组,即等值连接为:性值相等的那些元组,即等值连接为:R S=|tr Rts StrA=tsBA=Btrts连接(续)自然连接(Naturaljoin)什么是自然连接什么是自然连接自然连接是一种特殊的等值连接自然连接是一种特殊的等值连接两个关系中进行比较的分量必须是相同两个关系中进行比较的分量必须是相同的属性组的属性组在结果中把重复的属性列去掉在结果中把重复的属性列去掉自然连接的含义自然连接的含义R和和S具有相同的属性组具有相同的属性组BRS=|trRtsStrB=tsBtrts连接(续)4)一般的连接操作是从行的角度进行运算。自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。ABRS连接(等值)5)举例 例5ABCa1b15a1b26a2b38a2b412BEb13b27b310b32b52RSAR.BCS.BEa1b15b13a1b26b27a2b38b310a2b38b32连接(续)自然连接R S ABCEa1b153a1b267a2b3810a2b382ABCa1b15a1b26a2b38a2b412BEb13b27b310b32b52除(续)2)除操作是同时从行和列角度进行运算RS除(续)ABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1BCDb1c2d1b2c1d1b2c3d2RSAa1RS