资源描述:
《第二章 关系数据库ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章关系数据库(2)第二章关系数据库2.1关系模型概述2.2关系数据结构2.3关系的完整性2.4关系代数2.5关系演算2.6小结传统的集合运算专门的关系运算元组关系演算语言ALPHA域关系演算语言QBE教学知识点要求掌握五种基本的关系代数运算重点:连接运算(投影、选择)并 差 笛卡尔积 投影 选择难点:除法运算等值连接 自然连接理解交、连接、除关系代数运算2.4关系代数关系代数类别传统的集合运算专门的关系运算关系代数运算符关系代数类别关系代数运算符(续)1.并(Union)R和S具有相同的目n(即两
2、个关系都有n个属性)相应的属性取自同一个域R∪S仍为n目关系,由属于R或属于S的元组组成R∪S={t
3、tR∨tS}2.4.1传统的集合运算并2.差R和S具有相同的目n相应的属性取自同一个域R-S仍为n目关系,由属于R而不属于S的所有元组组成R-S={t
4、tR∧tS}差思考:S-R的结果?3.交R和S具有相同的目n相应的属性取自同一个域R∩S仍为n目关系,由既属于R又属于S的元组组成R∩S={t
5、tR∧tS}思考:如何用差运算表达?交运算的图示差运算的图示R∩S=R-(R-S)RRSS交4.笛卡
6、尔积(CartesianProduct)严格地讲应该是广义的笛卡尔积(ExtendedCartesianProduct)R:n目关系,k1个元组S:m目关系,k2个元组R×S列:(n+m)列元组的集合元组的前n列是关系R的一个元组后m列是关系S的一个元组行:k1×k2个元组R×S={trts
7、trR∧tsS}笛卡尔积2.4.2专门的关系运算先引入几个记号(1)R,tR,t[Ai]设关系模式为R(A1,A2,…,An)它的一个关系设为RtR表示t是R的一个元组t[Ai]则表示元组t中相应于属性Ai的
8、一个分量(2)A,t[A],A若A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是A1,A2,…,An中的一部分,则A称为属性列或属性组。t[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元组t在属性列A上诸分量的集合。A则表示{A1,A2,…,An}中去掉{Ai1,Ai2,…,Aik}后剩余的属性组。(3)trtsR为n目关系,S为m目关系。trR,tsS,trts称为元组的连接。trts是一个n+m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。
9、(4)象集Zx给定一个关系R(X,Z),X和Z为属性组。当t[X]=x时,x在R中的象集(ImagesSet)为:Zx={t[Z]
10、tR,t[X]=x}它表示R中属性组X上值为x的诸元组在Z上分量的集合。象集实例x1在R中的象集Zx1={Z1,Z2,Z3},x2在R中的象集Zx2={Z2,Z3},x3在R中的象集Zx3={Z1,Z3}专门的关系运算(续)选择投影连接除专门的关系运算(续)(a)Student4)学生-课程数据库:学生关系Student、课程关系Course和选修关系SC专门的关系运算(续
11、)Course(b)专门的关系运算(续)(c)SC1.选择(Selection)1)选择又称为限制(Restriction)2)选择运算符的含义在关系R中选择满足给定条件的诸元组σF(R)={t
12、tR∧F(t)='真'}F:选择条件,是一个逻辑表达式,基本形式为:X1θY1X1Y1------是属性名、常量或简单函数;属性名可以用序号代替;θ------比较运算符。3)选择运算是从关系R中选取使逻辑表达式F为真的元组,是从行的角度进行的运算σ[例1]查询信息系(IS系)全体学生σSdept='IS'(S
13、tudent)或σ5='IS'(Student)结果:[例2]查询年龄小于20岁的学生σSage<20(Student)或σ4<20(Student)结果:2.投影(Projection)1)投影运算符的含义从R中选择出若干属性列组成新的关系πA(R)={t[A]
14、tR}A:R中的属性列2)投影操作主要是从列的角度进行运算但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)π[例3]查询学生的姓名和所在系。即求Student关系上学生姓名和所在系两个属性上的投影。πSname,Sd
15、ept(Student)或π2,5(Student)结果:πSdept(Student)结果:[例4]查询学生关系Student中都有哪些系?注意:投影不仅取消了原关系中的某些列,而且还可能取消某些元组-----即消除重复行课堂练习试用关系代数表达式表示下列查询语句:设有三个关系:S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE)C(C#,CNAME,TEACHER)(一)简单查询(单表的查询)检索学习