关系代数
F:选择条件,是一个逻辑表达式,基本形式为:
[( ] X1θY1 [ )][φ [( ] X2θY2 [ )]]…
θ:比较运算符(>,≥,<,≤,=或<>) X的1序,号Y1等来代:替属;性名、常量、简单函数;属性名也可以用它 φ:逻辑运算符(∧或∨) [ ]:表示任选项 …:表示上述格式可以重复下去
| tr R∧ts S∧tr[A]θts[B] }
A和B:分别为R和S上度数相等且可比的属性组
θ:比较运算符
连接运算从R和S的广义笛卡尔积R×S中选 取(R关系)在A属性组上的值与(S关系) 在B属性组上值满足比较关系的元组。
连接(续)
3)两类常用连接运算
等值连接(equijoin)
π σ Sno,Sname( Cno='2'(SC))
={ 95001,95002}
综合举例(续)
[例 3] 查询至少选修了一门其直接先行课为5号课程 的课程的学生姓名。
πSname(σCpno='5'(Course
或
SC Student))
πSname(σCpno='5'(Course)
或
SC πSno,Sname(Student))
具有相同的目n
相应的属性取自同一个域
R∩S
仍为n目关系,由既属于R又属于S的元组组
成
R∩S = { t|t R∧t S } R∩S = R –(R-S)
ABC R a1 b1 c1
a1 b2 c2 a2 b2 c1
ABC S a1 b2 c2
a1 b3 c2 a2 b2 c1
运算符 含义
运算符 含义
专门的 关系
运算符
σ 选择 逻辑运 π 投影 算符
连接
÷除
非 ∧与 ∨或
4.关系代数运算的分类
传统的集合运算
并、差、交、广义笛卡尔积
专门的关系运算
选择、投影、连接、除
5.表示记号
R,tR,t[Ai]
设关系模式为R(A1,A2,…,An) 它的一个关系设为R。tR表示t是R的一个元组 t [Ai]则表示元组t中相应于属性Ai的一个分量
关系数据库简介
系统而严格地提出关系模型的是美国IBM 公司的E.F.Codd
1970年提出关系数据模型
E.F.Codd, “A Relational Model of Data for Large Shared Data Banks”, 《Communication of the ACM》,1970
b1
5
a1
b2
6
a2
b3
8
a2
b4
12
R
BE
b1
3
b2
7
b3 10
b3
2
b5
2
S
连接(续)
R C<E S
A R.B C S.B E
a1
b1
5
b2
7
a1
b1
5
b3 10
a1
b2
6
b2
7
a1
b2
6
b3 10
a2
b3
8
b3 10
连接(续)
等值连接 R S R.B=S.B
A R.B C S.B E
a1
b1
π
但投影之后不仅取消了原关系中的某些列, 而且还可能取消某些元组(避免重复行)
投影(续)
3) 举例 [例3] 查询学生的姓名和所在系
即求Student关系上学生姓名和所在系两个 属性上的投影 πSname,Sdept(Student) 或 π2,5(Student)
结果:
投影(续)
Sname Sdept
IS MA IS
2. 投影(Projection)
1)投影运算符的含义
从R中选择出若干属性列组成新的关系 πA(R) = { t[A] | t R }
A:R中的属性列
π3,1(R)=[t|t=<t3,t1>∧<t1,t2,t3>∈R]
2. 投影(Projection)
2)投影操作主要是从列的角度进行运算源自李勇CS刘晨
IS
王敏 MA
张立
IS
投影(续)
[例4] 查询学生关系Student中都有哪些系 πSdept(Student)
结果:
Sdept CS IS MA
3. 连接(Join)
1)连接也称为θ连接
2)连接运算的含义
从两个关系的笛卡尔积中选取属性间满足一 定条件的元组
R AθB S = {tr ts
仓库号
WH2 WH1 WH2 WH3 WH1
职工号
E1 E3 E4 E6 E7
工资
1220 1210 1250 1230 1250
仓库号
WH2 WH1 WH2 WH3 WH1
城市
上海 北京 上海 广州 北京
面积
500 370 500 200 370
职工号
E1 E3 E4 E6 E7
工资
1220 1210 1250 1230 1250
5
b1
3
a1
b2
6
b2
7
a2
b3
8
b3
10
a2
b3
8
b3
2
连接(续)
自然连接 R S
ABCE
a1
b1
5
3
a1
b2
6
7
a2
b3
8
10
a2
b3
8
2
4.综合举例
[例 1] 查询选修了2号课程的学生的学号。
πSno(σCno='2'(SC))
={ 95001,95002}
[例 2] 查询选修了2号课程的学生的学号和姓名。
c
bdba f
b
af jk l
c
bd b g a
c
bdba f
c
bdgh i
c
bd j k l
1.5.3 专门的关系运算
选择 投影 连接 除
1. 选择(Selection)
1) 选择又称为限制(Restriction) 2) 选择运算符的含义
在关系R中选择满足给定条件的诸元组 σF(R) = {t|tR∧F(t)= '真'}
什么是等值连接
θ为“=”的连接运算称为等值连接
等值连接的含义
从关系R与S的广义笛卡尔积中选取A、B属性
值相等的那些元组,即等值连接为:
R A=BS = { tr ts ts[B] }
| tr R∧ts S∧tr[A] =
连接(续)
自然连接(Natural join)
什么是自然连接 自然连接是一种特殊的等值连接 两个关系中进行比较的分量必须是相同 的属性组 在结果中把重复的属性列去掉
πSname (πSno (σCpno='5' (Course) SC)
πSno,Sname (Student))
投影运算举例:
订购单关系
选取职工号和供应商 号两列构成新的关系
π职工号,供应商号(订购单)
选择和投影运算举例:
从订购单关系中, 选取出职工号为E3的 所经手的订购单号和 与之相关的供应商号。
19
所在系 Sdept
CS Student
IS
MA
IS
(a)
选择(续)
课程号 Cno 1 2 3 4 5 6 7
课程名 Cname 数据库
数学 信息系统 操作系统 数据结构 数据处理 PASCAL语言
先行课 Cpno
5
1 6 7
6
学分 Ccredit
4 2 4 3 4 2 4
Course
(b)
选择(续)
Sdept
95002 95004
刘晨 张立
女
19
IS
男
19
IS
选择(续)
[例2] 查询年龄小于20岁的学生
σSage < 20(Student) 或 σ4 < 20(Student)
结果:
Sno Sname Ssex
Sage
95002 刘晨
女
19
95003 王敏
女
18
95004 张立
男
19
Sdept
关系代数语句为: R2 = R1 (职工)
R3 工资 (R2)
查询过程示意
自然连接运算
选择运算
投影 运算
注意
自然连接和等值连接很相象,但它 们不同,自然连接要去掉重复的属性, 而等值连接却不需要去掉重复的属性。
等值连接特征 ① 两个关系,不一定有公共属性 ② 为‘=’时,称为等值连接 ③ 不去掉重复属性
ABC a1 b2 c2
R ∩ S a2 b2 c1
4. 广义笛卡尔积(Extended Cartesian Product)
R
n目关系,k1个元组
S
m目关系,k2个元组
R×S
列:(n+m)列的元组的集合
元组的前n列是关系R的一个元组 后m列是关系S的一个元组
行:k1×k2个元组
综合运算实例 仓库
仓库号 城市 面积
WH1
北京
370
WH2
上海
500
WH3
广州
200
WH5
合肥
130
仓库号
WH2 WH1 WH2 WH3 WH1