关系数据库系统总结.pptVIP

  • 15
  • 0
  • 约9.64千字
  • 约 49页
  • 2017-05-13 发布于湖北
  • 举报
关系数据库系统总结

例3,设有一“学生学籍管理RDB”,包含:学生信息表(S)、课程信息表(C)、学生选课表(SC)三个关系。 S: 学号(S#) 姓名(SN) 所属系名(SD) 年龄(SA) S1 A CS 20 S2 B CS 21 S3 C MA 19 S4 D CI 19 S5 E MA 20 S6 F CS 22 课程号(C#) 课程名(CN) 先修课程编号(PC#) C1 G C2 H C1 C3 I C2 C4 J C2 C5 K C4 C: 学号(S#) 课程号(C#) 学习成绩(G) S1 C1 90 S1 C2 90 S1 C3 90 S1 C5 80 S2 C1 80 S2 C2 70 S2 C4 70 S3 C2 80 S3 C3 70 SC: 学号(S#) 课程号(C#) 学习成绩(G) S3 C4 80 S4 C3 80 S4 C5 60 S5 C2 70 S5 C3 80 S5 C5 80 S6 C4 90 S6 C5 90 求: (1)计算机科学系(CS)的学生信息。 σSD=‘CS’(S) (2)年龄大于或等于20的学生信息。 σSA≥‘20’(S) 2. 投影(projection) 是从R中选择出若干属性列组成新的关系。也就是对一个关系R进行垂直分割,消去某些列,并重新安排列的顺序,是从列的角度进行的运算。 记为:πA(R) = {t[A]|t∈R} 其中A是R中的属性列。 投影后不仅消去了原关系中的某些列,而且还可能消去某些元组。因为消去了某些属性列后,就可能出现重复行,应消去这些完全相同的行。 在上例基础上求: 所有学生的姓名及所属系; πSN,SD(S) π 3. 连接 (join) (1)也称为θ连接。它是从两个关系的广义笛卡尔积中选取属性间满足给定θ条件的元组。记为: R S = { trts|tr∈R∧ts∈S∧tr[A]θts[B]} 其中A和B分别为关系R和S上度数相等且可比的属性组。θ是比较运算符。连接运算是从R和S的广义笛卡尔积R×S中选取R关系在A属性组上的值与S关系在B属性组上的值满足比较关系θ的元组。 A θ B A B C a1 b1 5 a1 b2 6 a2 b3 8 A R.B C a1 b1 5 a1 b1 5 a1 b2 6 a1 b2 6 a2 b3 8 B E b1 3 b2 7 b3 10 例4,R: S: R S : S.B E b2 7 b3 10 b2 7 b3 10 b3 10 C E 具体步骤:先求R×S;再从中按θ条件选取部分元组。 A B C a1 b1 5 a1 b2 6 a2 b3 8 A R.B C a1 b1 5 a1 b2 6 a2 b3 8 B E b1 3 b2 7 b3 10 例5,R: S: S.B E b1 3 b2 7 b3 10 R S: R.B =S.B (2)等值连接:当θ为“=”时的连接。 具体步骤同上例。 (3)自然连接(natural join):是一种特殊的等值连接。它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中须消去重复的属性列,它是从行和列的角度进行运算。即R和S若具有相同的属性组,则自然连接可记为: R S = { trts|tr∈R∧ts∈S∧tr[B]θts[B]} 自然连接的具体计算过程如下: ①计算R×S。 ②选取满足自然连接条件的元组。 ③去掉重复的属性列。 例,R S: A B C E a1 b1 5 3 a1 b2 6 7 a2 b3 8 10 补充:关系代数中,关系运算经有限次集合而成的式子称为“关系代数表达式”。 例6, S、C、SC表结构及内容同本节例3(课件P31-33)。 求:(1)选修了“C2”课程的学生学号。 πS#(σC#=‘C2’(SC)) (2)至少选修了这样一门课程-直接先修课程为‘C2’的学生姓名。 πSN(σPC#=‘C2’(C) πS#,C#(SC) πS#,SN(S)) 4. 除(division) 给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。记为: R÷S = { tr[X] | tr∈R∧πy(S)Yx } 除操作是同时从行和

文档评论(0)

1亿VIP精品文档

相关文档