第2讲关系代数.ppt
上传人:sy****28 上传时间:2024-09-14 格式:PPT 页数:28 大小:3.4MB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

第2讲关系代数.ppt

第2讲关系代数.ppt

预览

免费试读已结束,剩余 18 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第2讲关系代数什么是关系代数?关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它用关系的运算来表达查询。关系代数的运算对象是关系,运算结果亦为关系。关系代数中使用的运算符包括4类:集合运算符、专门的关系运算符、比较运算符和逻辑运算符。扼要简言之,关系代数的运算对象是表,关系代数是有关表的运算。关系代数的运算按运算符的不同可分为传统的集合运算和专门的关系运算两类。传统的集合运算将关系看成元组的集合,其运算是从关系的“水平”方向即行的角度进行的专门的关系运算不仅涉及行而且涉及列。比较运算符和逻辑运算符是用来辅助专门的关系运算进行操作的。关系代数运算符传统的集合运算传统的集合运算是二目运算,包括并、交、差、广义笛卡儿积4种运算。对后面的操作预设一下前提:设关系R和关系S具有相同的目n(即两个关系都具有n个属性),且相应的属性取自同一个域则可以定义并、差、交、广义笛卡儿积运算如下。关系R与关系S的并记作:R∪S={t│tRtS},t是元组变量其结果关系仍为n目关系,由属于R或属于S的元组组成。关系R与关系S的差记作:R-S={t│tRtS},t是元组变量其结果关系仍为n目关系,由属于R而不属于S的所有元组组成。关系R与关系S的交记作:R∩S={t│tRtS},t是元组变量其结果关系仍为n目关系,由既属于R又属于S的元组组成。关系的交可以用差来表示,即R∩S=R-(R-S)广义笛卡儿积(ExtendedCartesianProduct)2024/10/6专门的关系运算专门的关系运算包括选择、投影、连接、除设关系模式为R(A1,A2,…,An),它的一个关系设为R,tR表示t是R的一个元组,t[Ai]表示元组t中相应于属性Ai上的一个分量。若A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是A1,A2,…,An中的一部分,则A称为属性列或域列。t[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元组t在属性列A上诸分量的集合。表示{A1,A2,…,An)中去掉{Ai1,Ai2,…,Aik}后剩余的属性组。R为n目关系,S为m目关系。trR,tsS,称为元组的连接,它是一个n+m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。给定一个关系R(X,Z),X和Z为属性组。定义当t[X]=x时,x在R中的象集为:Zx={t[Z]|tR,t[X]=x}它表示R中属性组X上值为x的诸元组在Z上分量的集合。选择又称为限制(Restriction),它是在关系R中选择满足给定条件的诸元组,记作:σF(R)={t|tRF(t)='真'}其中,F表示选择条件,它是一个逻辑表达式,取逻辑值“真”或“假”。逻辑表达式F的基本形式为:X1θY1[ΦX2θY2…]其中,θ表示比较运算符,它可以是>、、<、、=或≠;X1,Y1是属性名、常量或简单函数,属性名也可以用它的序号(如1,2,…)来代替;Φ表示逻辑运算符,它可以是(非)、∧(与)或∨(或);[]表示任选项,即[]中的部分可要可不要;…表示上述格式可以重复下去。选择运算实际上是从关系R中选取使逻辑表达式F为真的元组,这是从行的角度进行的运算。设有一个学生-课程数据库见表1-6,它包括以下内容。学生关系Student(说明:Sno表示学号,Sname表示姓名,Ssex表示性别,Sage表示年龄,Sdept表示所在系)课程关系Course(说明:Cno表示课程号,Cname表示课程名)选修关系Score(说明:Sno表示学号,Cno表示课程号,Degree表示成绩)其关系模式如下。Student(Sno,Sname,Ssex,Sage,Sdept)Course(Cno,Cname)Score(Sno,Cno,Degree)例1-4查询数学系学生的信息。σSdept='数学系'(Student)或σ5='数学系'(Student)结果见表1-7。选择(Selection)运算举例投影(Projection)投影(Projection)运算举例投影(Projection)运算举例连接(Join)连接(Join)2024/10/6除(Division)2024/10/6在关系代数中,关系代数运算经过有限次复合后形成的式子称为关系代数表达式。对关系数据库中数据的查询操作可以写成一个关系代数表达式,或者说,写成一个关系代数表达式就表示已经完成了查询操作。以下给出利用关系代数进行查询的例子。关系代数操作举例