《第四章 数据库设计基础关系运算优秀课件.ppt》由会员分享,可在线阅读,更多相关《第四章 数据库设计基础关系运算优秀课件.ppt(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第四章第四章数据库设计基础关系运算数据库设计基础关系运算第1页,本讲稿共43页AnIntroductiontoDatabaseSystem集合运算符-并差交笛卡尔积比较运算符大于大于等于小于小于等于等于不等于运算符含义运算符含义关系代数运算符关系代数运算符第2页,本讲稿共43页AnIntroductiontoDatabaseSystem专门的关系运算符选择投影连接除逻辑运算符非与或运算符含义运算符含义关系代数运算符(续)关系代数运算符(续)第3页,本讲稿共43页AnIntroductiontoDatabaseSystem1.并(并(Union)vR和S具有相同的目n(即两个关系都有n个属性)相
2、应的属性取自同一个域vRS仍为n目关系,由属于R或属于S的元组组成 RS=t|t Rt S 第4页,本讲稿共43页AnIntroductiontoDatabaseSystem并并(续续)第5页,本讲稿共43页AnIntroductiontoDatabaseSystem2.差(差(Difference)vR和S具有相同的目n相应的属性取自同一个域vR-S仍为n目关系,由属于R而不属于S的所有元组组成R-S=t|tRtS第6页,本讲稿共43页AnIntroductiontoDatabaseSystem差差(续续)第7页,本讲稿共43页AnIntroductiontoDatabaseSystem3.
3、交(交(Intersection)vR和S具有相同的目n相应的属性取自同一个域vRS仍为n目关系,由既属于R又属于S的元组组成 RS=t|t Rt S RS=R(R-S)第8页,本讲稿共43页AnIntroductiontoDatabaseSystem交交(续续)第9页,本讲稿共43页AnIntroductiontoDatabaseSystem4.笛卡尔积(笛卡尔积(Cartesian Product)v严格地讲应该是广义的笛卡尔积(ExtendedCartesianProduct)vR:n目关系,k1个元组vS:m目关系,k2个元组vRS列:(n+m)列元组的集合元组的前n列是关系R的一个元
4、组后m列是关系S的一个元组行:k1k2个元组RS=trts|trRtsS第10页,本讲稿共43页AnIntroductiontoDatabaseSystem笛卡尔积笛卡尔积(续续)第11页,本讲稿共43页AnIntroductiontoDatabaseSystem专门的关系运算专门的关系运算v选择v投影v连接v除第12页,本讲稿共43页AnIntroductiontoDatabaseSystem专门的关系运算专门的关系运算(续续)(a)Student学生-课程数据库:学生关系Student、课程关系Course和选修关系SC学号学号Sno姓名姓名Sname性别性别Ssex年龄年龄Sage所在系
5、所在系Sdept200215121李勇李勇男男20CS200215122刘晨刘晨女女19IS200215123王敏王敏女女18MA200215125张立张立男男19IS第13页,本讲稿共43页AnIntroductiontoDatabaseSystem专门的关系运算专门的关系运算(续续)课程号课程号Cno课程名课程名Cname先行课先行课Cpno学分学分Ccredit1数据库数据库542数学数学23信息系统信息系统144操作系统操作系统635数据结构数据结构746数据处理数据处理27PASCAL语言语言64Course(b)第14页,本讲稿共43页AnIntroductiontoDatabas
6、eSystem专门的关系运算专门的关系运算(续续)(c)SC学号学号Sno课程号课程号Cno成绩成绩Grade200215121192200215121285200215121388200215122290200215122380第15页,本讲稿共43页AnIntroductiontoDatabaseSystem1.选择(选择(Selection)v1)选择又称为限制(Restriction)v2)选择运算符的含义在关系R中选择满足给定条件的诸元组F(R)=t|tRF(t)=真F:选择条件,是一个逻辑表达式,基本形式为:X1Y1第16页,本讲稿共43页AnIntroductiontoDatab
7、aseSystem选择(续)选择(续)v3)选择运算是从关系R中选取使逻辑表达式F为真的元组,是从行的角度进行的运算第17页,本讲稿共43页AnIntroductiontoDatabaseSystem选择(续)选择(续)例1查询信息系(IS系)全体学生Sdept=IS(Student)或5=IS(Student)结果:SnoSnameSsexSageSdept200215122刘晨女19IS200215125张立男19IS第18页,本讲稿共43页AnIntroductiontoDatabaseSystem选择(续)选择(续)例2查询年龄小于20岁的学生Sage20(Student)或420(S
8、tudent)结果:SnoSnameSsexSageSdept200215122刘晨女19IS200215123王敏女18MA200215125张立男19IS第19页,本讲稿共43页AnIntroductiontoDatabaseSystem2.投影(投影(Projection)v1)投影运算符的含义从R中选择出若干属性列组成新的关系A(R)=tA|t RA:R中的属性列第20页,本讲稿共43页AnIntroductiontoDatabaseSystem2.投影(投影(Projection)v2)投影操作主要是从列的角度进行运算但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免
9、重复行)第21页,本讲稿共43页AnIntroductiontoDatabaseSystem投影(续)投影(续)v例3查询学生的姓名和所在系即求Student关系上学生姓名和所在系两个属性上的投影Sname,Sdept(Student)或2,5(Student)结果:第22页,本讲稿共43页AnIntroductiontoDatabaseSystem投影(续)投影(续)SnameSdept李勇CS刘晨IS王敏MA张立IS第23页,本讲稿共43页AnIntroductiontoDatabaseSystem投影(续)投影(续)例4查询学生关系Student中都有哪些系Sdept(Student)结
10、果:SdeptCSISMA第24页,本讲稿共43页AnIntroductiontoDatabaseSystem3.连接(连接(Join)v1)连接也称为连接v2)连接运算的含义从两个关系的笛卡尔积中选取属性间满足一定条件的元组R S=|tr Rts StrAtsBA和B:分别为R和S上度数相等且可比的属性组:比较运算符连接运算从R和S的广义笛卡尔积RS中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系的元组 ABtrts第25页,本讲稿共43页AnIntroductiontoDatabaseSystem 连接连接(续续)v3)两类常用连接运算等值连接(equijoin)什么
11、是等值连接为“”的连接运算称为等值连接等值连接的含义从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为:R S=|tr RtsStrA=tsBA=Btrts第26页,本讲稿共43页AnIntroductiontoDatabaseSystem 连接连接(续续)自然连接(Naturaljoin)自然连接是一种特殊的等值连接两个关系中进行比较的分量必须是相同的属性组在结果中把重复的属性列去掉自然连接的含义R和S具有相同的属性组BRS=|trRtsStrB=tsBtrts第27页,本讲稿共43页AnIntroductiontoDatabaseSystem连接连接(续续)v4)一般
12、的连接操作是从行的角度进行运算。自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。ABRS第28页,本讲稿共43页AnIntroductiontoDatabaseSystem连接连接(续续)v例5关系R和关系S如下所示:第29页,本讲稿共43页AnIntroductiontoDatabaseSystem连接连接(续续)一般连接RS的结果如下:CE第30页,本讲稿共43页AnIntroductiontoDatabaseSystem连接连接(续续)等值连接R S 的结果如下:R.B=S.B 第31页,本讲稿共43页AnIntroductiontoDatabaseSystem连接连接(续续
13、)自然连接R S的结果如下:第32页,本讲稿共43页AnIntroductiontoDatabaseSystem4.除(除(Division)给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X)P(X),P是R R中满足下列条件的元组在中满足下列条件的元组在 X 属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合,记作:RS=tr X|tr RY(S)Yx Yx:x在R中的象集,x=trX第33页,本讲稿共43页AnIntroductiontoDatabaseSystem除
14、除(续续)v2)除操作是同时从行和列角度进行运算RS第34页,本讲稿共43页AnIntroductiontoDatabaseSystem除除(续续)例6设关系R、S分别为下图的(a)和(b),RS的结果为图(c)第35页,本讲稿共43页AnIntroductiontoDatabaseSystem分析分析v在关系R中,A可以取四个值a1,a2,a3,a4 a1的象集为(b1,c2),(b2,c3),(b2,c1)a2的象集为(b3,c7),(b2,c3)a3的象集为(b4,c6)a4的象集为(b6,c6)vS在(B,C)上的投影为 (b1,c2),(b2,c1),(b2,c3)v只有a1的象集包
15、含了S在(B,C)属性组上的投影所以RS=a1第36页,本讲稿共43页AnIntroductiontoDatabaseSystem象集Zx给定一个关系R(X,Z),X和Z为属性组。当tX=x时,x在R中的象集象集(ImagesSet)为:Zx=tZ|t R,tX=x它表示R中属性组X上值为x的诸元组在Z上分量的集合第37页,本讲稿共43页AnIntroductiontoDatabaseSystemvx1在R中的象集 Zx1=Z1,Z2,Z3,vx2在R中的象集 Zx2=Z2,Z3,vx3在R中的象集 Zx3=Z1,Z3象集举例第38页,本讲稿共43页AnIntroductiontoDataba
16、seSystem5综合举例综合举例 以学生以学生-课程数据库为例课程数据库为例例7查询至少选修1号课程和3号课程的学生号码首先建立一个临时关系K:然后求:Sno,Cno(SC)K Cno13第39页,本讲稿共43页AnIntroductiontoDatabaseSystem综合举例综合举例(续续)v例例 7续续Sno,Cno(SC)200215121象集象集1,2,3200215122象集象集2,3 K=1,3于是:Sno,Cno(SC)K=200215121SnoCno20021512112002151212200215121320021512222002151223第40页,本讲稿共43页
17、AnIntroductiontoDatabaseSystem综合举例综合举例(续续)例8查询选修了2号课程的学生的学号。Sno(Cno=2(SC)200215121,200215122第41页,本讲稿共43页AnIntroductiontoDatabaseSystem综合举例综合举例(续续)例9查询至少选修了一门其直接先行课为5号课程的的学生姓名Sname(Cpno=5(CourseSCStudent)或Sname(Cpno=5(Course)SCSno,Sname(Student)或Sname(Sno(Cpno=5(Course)SC)Sno,Sname(Student)第42页,本讲稿共43页AnIntroductiontoDatabaseSystem综合举例综合举例(续续)例10查询选修了全部课程的学生号码和姓名。Sno,Cno(SC)Cno(Course)Sno,Sname(Student)第43页,本讲稿共43页