教育学数据库课件.ppt

上传人:小飞机 文档编号:4008882 上传时间:2023-03-31 格式:PPT 页数:34 大小:151.50KB
返回 下载 相关 举报
教育学数据库课件.ppt_第1页
第1页 / 共34页
教育学数据库课件.ppt_第2页
第2页 / 共34页
教育学数据库课件.ppt_第3页
第3页 / 共34页
教育学数据库课件.ppt_第4页
第4页 / 共34页
教育学数据库课件.ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《教育学数据库课件.ppt》由会员分享,可在线阅读,更多相关《教育学数据库课件.ppt(34页珍藏版)》请在三一办公上搜索。

1、2.4 关系代数,关系代数是一种抽象的数据语言。它以集合代数为基础发展起来的,它是以关系为运算对象,运算结果也是关系。关系是元组的集合,传统的集合运算并、交、差、笛卡尔积也适用于关系代数;关系还包括4个专门的运算:选择、投影、连接和除。,这8种运算中,选择、投影、并、差和笛卡儿积5种运算称为关系代数的基本运算,其他3个运算实际上都可以用这5种运算表达出来。,关系代数运算涉及的运算符分为四类:传统的集合运算符(、-、);专门的关系运算符(、);算术比较运算符(=、);逻辑运算符(、),2.4.1 传统的集合运算,传统的集合运算是二目运算,它要求参与运算的关系(设为关系R和关系S)具有属性个数相同

2、,即两个关系都是n元,且相应的属性取自同一个域。,1并(Union)关系R与S的并仍是一个n元关系,它由属于R或属于S的元组组成。记作:RS=t|t R t S2差(Difference)关系R与S的差仍是一个n元关系,由属于R而不属于S的所有元组组成。记作:R-S=t|t R t S,3交(Intersection)关系R与S的交仍是一个n元关系,由属于R而不属于S的所有元组组成。记作:R S=t|t R t S,4笛卡儿积(Cartesian Product)n目关系R和m元关系S的笛卡儿积是一个(n+m)目的新关系,其中每个元组的前n列是关系R的某个元组,后m列是关系S的某个元组。记作:

3、R S=(a1,an,b1,bm)|(a1,an)R(b1,bm)S 若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡儿积有k1k2个元组。,两个关系进行笛卡儿积运算后会得到一个非常大的关系。如R有10个元组,S有20个元组,则R S有200个元组,而且其每个元组要比R和S的元组要大。关系R和关系S可能有相同的属性名,为加以区别,就在属性名前标上相应的关系名作为前缀,例如R.A和S.A等。属性名不同时可以不用加前缀。,例2 已知关系R和S分别如下图3.1(a)、图3.1(b)所示。求(1)RS。(2)R S(3)R S(4)R S,S,解:.,R,3.2.3专门的关系运算,专门的关

4、系运算包括选择、投影、连接、除。下面介绍几个记号:(1)设关系模式为R(A1,A2,An)。它的一个关系记为R。tR表示t是R的一个元组。TAi则是表示元组t中对应于属性Ai的一个分量。,(2)若A=Ai1,Ai2,Aik,其中Ai1,Ai2,Aik是A1,A2,An中的一部分,则A称为属性组。tA=(tAi1,tAik)表示元组t在属性列A上各分量的集合。A则表示A1,A2,An中去掉Ai1,Ai2,Aik后剩余的属性组。(3)给定一个关系R(X,Z),X和Z为属性组。定义,当tX=x时,x在R中的象集为:Zx=tZ|tR tX=x,例:已知关系R为:,求:(a1,b1)在R中的象集。,一、

5、选择(selection)关系R上的选择运算是在关系R中选择满足给定条件的元组。记作F(R)。其中为选择运算符,F为条件。选择运算是单目运算,可表示为:F(R)=t|t R F(t)=真 条件F是逻辑表达式,其结果为“真”或“假”。,为了举例方便,我们先给出学生-课程管理数据库。该数据库有3个关系:学生关系、选课关系、课程关系。3个关系的内容如下:学生关系S:S(sno,sname,ssex,sage,sdept),课程关系C:C(Cno,Cname,Pcno,credit),成绩关系SC:SC(Sno,Cno,grade)例1 查找计算机系学生情况。,二、投影(Projection)关系R上

6、的投影运算是从关系R中选择若干属性形成新的关系,并在结果中删去重复元组。投影操作记为:A(R)。其中为投影运算符,A为指定保留的属性组。投影操作也是单目运算,只有一个操作对象。,例2 查询所有学生的学号,姓名,班级信息。例3 查询计算机系所有学生的学号,姓名。,三、连接(Jion)在数据库查询中所要数据常常需要从两个以上的关系中导出,而且对于参与运算的各个关系的元组常常附加了某些限制条件,这时可以采用连接运算。关系R和关系S的连接运算是指从R与S的笛卡儿积中选择R与S的属性间满足连接条件F的元组。记为:R(F)S。连接条件F=R.A S.B。,例4已知关系R和S分别为图3.6中的(a)、(b)

7、所示。求:(1)(R.BS.A R.A S.E)S的值。,R,S,连接可分为等值连接和非等值连接。等值连接是指RS。,若R(A,B)与S(B,C)有相同的属性组B(这里A、B、C为属性组),则自然连接可表示为:S=R.A,R.B,S,C(R.B=S.B(R S)参与自然连接的两个关系要有公共属性,如果无公共属性,则它们的自然连接就变成了笛卡儿积。,例5 已知关系R和S如图所示。求R与S的自然连接。,R,S,五、除法给定两个关系R(X,Y)和S(Y,Z)。其中X,Y和Z都是属性组,R是r目,S是s目。除法运算只涉及到S中与R同名的属性。R与S的除法记作R S,为 R S=trX|trR y(S)

8、Yx其中:Yx为x在R中的象集,x=trX,例6:查询至少选修了C1和C2课程的学生学号。例7:已知关系R和S如下所示。求RS。,R,S,关系代数的8种运算中选择、投影、笛卡儿积、并和差5种运算是基本运算,其他3个运算都可以用这5种运算表达出来。如下所示:RS=R(R S)R S(Y,Z)=R.X,R.Y,S.Z(R.Y=S.Y(R S)R S=R.X(R)-R.X(R.X(R)S)R),3.2.4 关系代数表达式,在关系代数运算中,把由8种运算经过有限次复合的式子称为关系代数表达式。关系代数表达式的运算结果仍是一个关系。我们可以用关系代数表达式表示我们所需要的各种数据查询和更新处理。,下面我

9、们以学生选课数据库为例说明如何用关系代数表达式表示各种数据查询和更新操作。S(Sno,Sname,Sex,Birth,Class,Dept)SC(Sno,Cno,Score)C(Cno,Cname,Credit,cdept),例8 查询学习课程号为C1的学生学号与成绩。例9 查选修课程号C2的学生学号与姓名。例10 查找选修课程名为Maths的学生学号与姓名。例11 查询选修课程号为C2或C4的学生学号。,例11 查询选修课程号为C2和C4的学生学号。例12 查询不学C4课的学生姓名及其班级。例13 查询选修了计算机系所开全部课程的学生学号。例14 查找学习全部课程的学生姓名。,例15 将新开课程记录(C7,数据仓库,2,数据库)插入到数据库中。例16 将学号为601012的学生的C1课的成绩修改为75。修改操作用关系代数表示分两步实现,先删去原来的元组,然后再插入新元组。由于(601012,C1)是主键,可唯一标识该元组,因此成绩未知没关系。,删除操作在关系代数中用差来实现。作业:P80 2,3,4,5,6,7,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号