2019最新第02章关系数据库3数学

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

BE b1 3 S b2 7 b3 10 b3 2 b5 2
A R.B C S.B E
等值连接 R S R.B=S.B
a1 a1
b1 b2
5 6
b1 b2
3 7
a2 b3 8 b3 10
a2 b3 8 b3 2
17
3.连接
(5) 比较
ABC
a1 b1 5 R a1 b2 6
a2 b3 8 a2 b4 12
(1)首先建立一个临时关系K: Cno
(2)求πSno.Cno(SC):
1 3
27
5.综合举例
[例7]查询至少选修1号课程和3号课程的学生学号。
Sno Cno
95001 1
πSno.Cno(SC) 95001 2
95001 3 95002 2
Cno K1
3
95002 3
(3) 求象集:
(4) 结果:
7
A
R.B
C
S.B
E
[例5]
a1
b1
5
b1
3
a1
b1
5
b2
7
a1
b1
5
b3
10
ABC
a1
b1
5
b3
2
a1 b 5
R a1 b1 6
a2 b2 8
a1
b1
5
b5
2
a1
b2
6
b1
3
a1
b2
6
b2
7
a1
b2
6
b3
10
a2 b3 12
a1
b2
6
b3
2
4
BE
R×S
a1 a2
b2 b3
6 8
b5 b1
2 3
b1 3
BE b1 3 S b2 7 b3 10 b3 2 b5 2
自然连接 R S
AB
a1
b1
a1
b2
a2
b3
a2
b3
18
CE 53 67 8 10 82
3.连接
(5) 等值连接与自然连接的比较 A R.B C S.B E
等值连接 R
S
a1 b1 5
b1
3
R.B=S.B
a1 b2 6 b2 7
a2 b3 8 b3 10
20
补充例1:
象集的计算。设 R(A,B)如下:
A
B
1
aa
1
ab
2
st
1 mm
求B1
4.除
计算过程: (1)考察R的每个元组t (2)如果t[A]=1,将t[B]放
入结果 (3)得到B1:
B aa ab mm
21
4.除
(1) 除运算 设:给定关系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 }
95001象集{1,2,3} 95002象集{2,3}
πSno.Cno(SC)÷K={95001}
πCno(K)={1,3}
28
5.综合举例
补充例2:查询信息系的年龄小于20岁的学生
Sno
95001 95002 95003 95004
Sname
李勇 刘晨 王敏 张立
Ssex
男 女 女 男
Sage
20 19 18 19
a2 b3 8 b3 2
A B CE
自然连接 R S
a1 a1
b1 b2
5 6
3 7
a2 b3 8 10
a2 b3 8 2
19
4.除
常用记号: 象集(Images Set) Zx: 给定一个关系R(X,Z),X和Z为属性组。 当t[X]=x时,x在R中的象集为: Zx={t[Z]|tR,t[X]=x} 它表示R中属性组X上值为x的诸元组在Z 上分量的集合。
[例10]查询选修了全部课程的学生的学号和姓名。
πSno,Cno(SC)÷ πCno(Course) πSno,Sname(Student)
32
2.5 关系演算(一般了解)
关系演算以数理逻辑中的谓词演算为基础 种类:按谓词变元不同分类
1.元组关系演算: 以元组变量作为谓词变元的基本对象 一种典型的元组关系演算语言:ALPHA
语句的基本格式: 操作语句 工作空间名(表达式):操作条件
34
1、检索操作
语法格式:
GET 工作空间名 [(定额)](表达式1)
[:操作条件] [DOWN/UP 表达式2] 其中:
定额:规定检索的元组个数 格式:数字
表达式1:指定语句的操作对象,可以是关系名或 属性名; 操作条件:将操作结果限定在满足条件的元组中;
6
3.连接
举例
[例5] R
R C<ES
ABC
a1 b1 5 a1 b2 6
S
a2 b3 8
a2 b4 12
BE
b1 3 b2 7 b3 10 b3 2 b5 2
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
10
3.连接
举例:
ABC
a1 b1 5 R a1 b2 6
a2 b3 8 a2 b4 12
A RB.B C
等值连接 R S R.B=S.B
a1 a1
b1 b2
5 6
a2 b3 8
a2 b3 8
BE b1 3 S b2 7 b3 10 b3 8 b5 2
SB.B E
b1 3 b2 7 b3 10 b3 8
b3 10
a2
b3
8
b3 10
A
R.B
C
S.B
E
a1
b1
5
b1
3
a1
b1
5
b2
7
a1
b1
5
b3
10
a1
b1
5
b3
2
a1
b1
5
b5
2
a1
b2
6
b1
3
a1
b2
Baidu Nhomakorabea
6
b2
7
a1
b2
6
b3
10
a1
b2
6
b3
2
a1
b2
6
b5
2
a2
b3
8
b1
3
a2
b3
8
b2
7
a2
b3
8
b3
10
a2
b3
8
b3
2
a2
b3
8
b5
2
a2
b4
78 6 2 89 1 7
计算: (1) σb>‘5’(R)
ABC 789 7 8 12
(2) πA,B(R)
AB 12 45 78
3
学习目标
掌握连接、除运算规则 理解元组关系演算语言ALPHA 理解域关系演算语言QBE
4
2.4.2 专门关系运算
选择 投影 连接 除
5
3.连接
(1)连接:也称为θ连接。
S
b2 7
a2
b3
8
b2
7
a2
b3
8
b3
10
a2
b3
8
b3
2
b3 10
a2
b3
8
b5
2
b3 2 b5 2
a2
b4
12
b1
3
a2
b4
12
b2
7
a2
b4
12
b3
10
a2
b4
12
b3
2
a2
b4
12
b5
2
8
[例5] RC<ES
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
数据库系统概论
Principle and Application of Database
第二章 关系数据库(3)
1
复习
1.集合运算 ∪、- 、∩、×
2.专门的关系运算 选择 投影 连接(广义笛卡尔积、等值连接) 除
2
复习
1.给定如下关系R和S,如下:
A
R
1 4
7
7
BC
23 56 89 8 12
BC D E S5 6 3 1
12
b1
3
a2
b4
12
b2
7
a2
b4
12
b3
10
a2
b4
12
b3
2
a2
b4
12
b5
2
9
3.连接
(2)两类常用连接运算 ① 等值连接(equijoin): 什么是等值连接? θ为=的连接运算称为等值连接 。 等值连接的含义:
从关系R与S的广义笛卡尔积中选取A、B属性
值相等的元组: RA=BS = { tr ts | tr R∧ts S∧tr[A] = ts[B] }
什么是自然连接? 自然连接是一种特殊的等值连接 两个关系中进行比较的分量必须是相同的属性组 在结果中把重复的属性列去掉 自然连接的含义
R和S具有相同的属性组B R S = { tr ts | tr R∧ts S∧tr[B] = ts[B] }
13
3.连接
(3) 一般的连接操作是从行的角度进行运算。
11
举例:
3.连接
ABC
a1 b1 5 R a1 b2 6
a2 b3 8 a2 b4 12
BE
b1 3 S b2 7
b3 10 b3 8 b5 2
等值连接 R S C=E
A R.B C S.B E a2 b3 8 b3 8
12
3.连接
(2)两类常用连接运算 ②自然连接(Natural join):
其中:Yx表示x在R中的象集,x = tr[X]
22
4.除
(2) 除操作是同时从行和列角度进行运算
R
÷
S
23
4.除
[例6]已知R和S,
S
BCD b1 c2 d1 b2 c1 d1
R÷S A a1
求R÷S 。
b2 c3 d2
R
在关系R中,A可以取四个值{a1,a2,a3,a4}
A BC
a1的象集为 {(b1,c2),(b2,c3),(b2,c1)};
31
5 综合举例
[例9]查询至少选修了一门其直接先行课为5号课程的课 程的学生姓名。
πSname(σCpno='5'(Course SC Student)) 或:πSname(σCpno='5'(Course) SC πSno,name(Student))
或:πSname(πSno(σCpno='5'(Course) SC) πSno,Sname (Student))
从两个关系的笛卡尔积中选取属性间满足一定条 件的元组。
表示:
R
AθB
S = { tr ts | trR ∧ tsS ∧ tr[A]θts[B] }
其中:
含义A和:B连分接别运为算R从和RS和上S目的数笛相卡等尔且积可R×比S的中属选性取组(;R
关θ系:)比在较A运属算性符组。上的值与(S关系)在B属性组上 值满足比较关系θ的元组。
7 8 9 89 1 7
26
5.综合举例
[例7]查询至少选修1号课程和3号课程的学生号码。
学号
Sno
SC
95001 95001
95001
95002
95002
课程号 Cno 1 2 3 2 3
成绩 Grade
92 85 88 90 80
πSno.Cno(SC)
Sno Cno 95001 1 95001 2 95001 3 95002 2 95002 3
Sdept
CS IS MA IS
σSdept=‘IS’∧Sage<20 (Student) 也可以表示成:
σSdept=‘IS’ (Student) ∩σSage<20 (Student)
29
5.综合举例
补充例3:查询信息系的姓名和年龄 (投影和选择的混合运算) π姓名,年龄( σSdept=‘IS’ (Student))
格式:逻辑表达式 表达式2:指定排序方式。
也可以写成: π姓名,年龄 σSdept=‘IS’ (Student) 注:单目运算为右结合
30
5.综合举例
补充例4:求选了2号课程的学生的学号和姓名 (连接和投影的混合运算) ΠSno,Sname(Student σCno=‘2’ (SC))
补充例5:求选了“数据库”的学生的学号和姓 名
ΠSno,Sname(Student SC σCname=‘数据库’ (Course)
R
AθB
S 自然连接还需要取消重复列,所以是同时从行和 列的角度进行运算。
14
3.连接
(4) 举例
ABC
a1 b1 5 R a1 b2 6
a2 b3 8 a2 b4 12
BE b1 3 S b2 7 b3 10 b3 2 b5 2
自然连接 R S
AB
a1
b1
a1
b2
a2
b3
a2
b3
15
CE 53 67 8 10 82
3.连接
(4) 举例
R
思考:
ABC
a1 b1 5 a1 b2 6 a2 b3 8 a2 b4 12
自然连接 R S? 等值连接 R S?
B=D
DE b1 3 S b2 7 b3 10 b3 2 b5 2
16
3.连接
(5) 比较
ABC
a1 b1 5 R a1 b2 6
a2 b3 8 a2 b4 12
2.域关系演算: 以域变量作为谓词变元的基本对象 一种典型的域关系演算语言:QBE
33
2.5.1 元组关系演算语言ALPHA
由E.F.Codd提出 INGRES所用的QUEL语言是参照ALPHA语言研 制的
语句 检索语句 GET 更新语句 PUT,HOLD,UPDATE,DELETE,DROP
a1 b1 c2
a2的象集为 {(b3,c7),(b2,c3)};
a2 b3 c7 a3 b4 c6 a1 b2 c3
a3的象集为 {(b4,c6)}; a4的象集为 {(b6,c6)}。
a4 b6 c6 S在(B,C)上的投影为
a2 b2 c3
{(b1,c2),(b2,c1),(b2,c3) },
a1 b2 c1 只有a1的象集包含了S在(B,C)属性组上投影
所以:R÷S ={2a4 1} 。
练习
1.给定如下关系R和S,如下:
ABC
123 R456
789 7 8 12
计算:
BC D E
S5 6 3 1 78 6 2 89 1 7
R
S A R.B R.C S.B S.C D E
R.A=S.B
7 8 9 7 8 62
7 8 12 7 8 6 2
25
练习
1.给定如下关系R和S,如下:
ABC
123 R456
789 7 8 12
计算:
BC D E
S5 6 3 1 78 6 2 89 1 7
(4) R
S
R.B=S.B∧R.C=S.C
A
R.B R.C S.B S.C D
E
4 5 6 56 3 1
相关文档
最新文档