文档介绍:关系数据结构
第2章 关系数据库理论
关系操作
关系的完整性
关系代数
1
任何一种运算都是将一定的运算符作用
于一定的运算对象,得到预期的运算结果。
关系代数的运算对象和号
课程名
先行课
学分
Cno
Cname
Cpno
Ccredit
1
数据库
5
4
2
数学
2
3
信息系统
1
4
4
操作系统
6
3
5
数据结构
7
4
6
数据处理
2
7
PASCAL语言
6
4
18
选择(续)
(c)
SC
学 号
课 程 号
成 绩
Sno
Cno
Grade
95001
1
92
95001
2
85
95001
3
88
95002
2
90
95002
3
80
19
选择(续)
[例1] 查询信息系(IS系)全体学生
σSdept = 'IS' (Student)
或 σ5 ='IS' (Student)
结果:
Sno
Sname
Ssex
Sage
Sdept
95002
刘晨
女
19
IS
95004
张立
男
19
IS
注意:常量要用单引号括起来,而属性名或属性 序号不用加引号。
20
选择(续)
[例2] 查询年龄小于20岁的学生
σSage < ’20’(Student)
或 σ4 < ’20’(Student)
结果:
Sno
Sname
Ssex
Sage
Sdept
95002
刘晨
女
19
IS
95003
王敏
女
18
MA
95004
张立
男
19
IS
21
②投影
从现有关系中选取某些属性(列),可对选取的属性重新排序,并删除重复的行(元组),组成新的关系。(从列的角度进行运算)
πA(R)={t[A]|t∈R} A为R的属性列。
22
投影操作主要是从列的角度进行运算
但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)
π
23
投影(续)
[例3] 查询学生的姓名和所在系
即求Student关系上学生姓名和所在系两个属性上的投影
πSname,Sdept(Student)
或 π2,5(Student)
结果:
24
投影(续)
Sname
Sdept
李勇
CS
刘晨
IS
王敏
MA
张立
IS
25
投影(续)
[例4] 查询学生关系Student中都有哪些系
πSdept(Student)
结果:
Sdept
CS
IS
MA
26
③ 连接
连接也称为θ连接,它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。记作:
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
27
两类常用连接运算
等值连接(equijoin)
什么是等值连接
θ为“=”的连接运算称为等值连接。
等值连接的含义
从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为:
R S = { | tr R∧ts S∧tr[A] = ts[B] }
A=B
tr ts
28
自然连接(Natural join)
什么是自然连接
自然连接是一种特殊的等值连接
两个关系中进行比较的分量必须是相同的属性组
在结果中把重复的属性列去掉
自然连接的含义
R和S具有相同的属性组B
R S = { | tr R∧ts S∧tr[B] =ts[B] }
tr ts
29
一般的联结操作是从行的角度进行运算。
自然联结还需要取消重复列,所以是同时从行和列的角度进行运算。
AθB
R
S
30
[例5]
A
B
C
a1
b1
5
a1
b2
6
a2
b3
8
a2
b4
12
B
E
b1
3
b2
7
b3
10
b3
2
b5