数据库原理与方法chp02_关系数据库_2

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

S
R.B=S.B
R.B b1 b2 b3 b3
C 5 6 8 8
S.B b1 b2 b3 b3
E 3 7 10 2
连接(Join)
自然连接 R
A a1 a1 a2 a2 B b1 b2 b3 b3
S
C 5 6 8 8 E 3 7 10 2
自然连接 R S ?

自然连接是一种特殊的等值连接,要求两个关系中进行比较
Course
课程号 课程名 先行课 学分
Cno 1 2 3 4 5 6 7
Cname 数据库 数学 信息系统 操作系统 数据结构 数据处理 PASCAL语言
(b)
Cpno 5 1 6 7 6
Ccredit 4 2 4 3 4 2 4
学生-课程数据库—选修关系
SC
学 号 Sno 95001 95001 95001 95002 95002 课程号 Cno 1 2 3 2 3

θ为 =的连接称为等值连接 从关系 R与 S的广义笛卡尔积中选取A、 B属性值相等的那些元 组,即等值连接为: R
A=B
S = { trts | tr ∈ R∧ ts ∈ S∧ tr[A]=ts[B] }

自然连接(Natural join)

自然连接是一种特殊的等值连接 它要求两个关系中进行比较的分量必须是相同的属性组,并且 在结果中把重复的属性列去掉 若关系 R与 S具有相同的属性组B,则自然连接可记作 (
结果:
Sname 李勇 刘晨 王敏 张立
Sdept CS IS MA IS
投影(Projection)
[例 4] 查询学生关系Student中都有哪些系 πSdept(Student) 结果:
Sdept CS IS MA
三、连接(Join)

连接也称 θ连接
它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。 记作 R
选择(Selection)
[例 2] 查询年龄小于20岁的学生 σSage < 20(Student) 或 σ4 < 20(Student) 结果:
Sno 95002 95003 95004 Sname 刘晨 王敏 张立 Ssex 女 女 男 Sage 19 18 19 Sdept IS MA IS
(c)
成 绩 Grade 92 85 88 90 80
选择(Selection)
[例 1] 查询信息系(IS系)全体学生 σSdept = 'IS' (Student) 或 σ5 ='IS' (Student)
它是对关系的水平分割,是从行的角度进行的运算
结果:
Sno 95002 95004 Sname 刘晨 张立 Ssex 女 男 Sage 19 19 Sdept IS IS
二、投影(Projection)

关系 R上的投影是从 R中选择出若干属性列组成新的关系。 记作: πA(R) = { t[A] | t ∈ R },其中 A为 R中的属性列

投影操作主要是从列的角度进行的运算
π
投影之后不仅取消了原关系中的某些列,而且还可能取消某些 元组,因为取消了某些属性列后,就可能出现重复行

S在 (B, C)上的投影为 {(b1, c2), (b2,c1),(b2,c3) }

只有 a1的象集包含了S在(B,C)属性组上的投影 所以 R÷ S ={a1}

R÷ S ?
根据定义,此题的X为属性AB, Y为属性CD 。应当满足元组 在属性 AB上的分量值x的象集Yx包含关系S在CD上投影的集合

关系 S在 Y上的投影为 π CD ( S ) ={(c, d), (e, f)}
对于关系 R,属性组 X(即 AB)可以取 3个值 {(a, b),(b, d), (c, k)},它们的象集分别如下:
象集 CD(a,b) ={(c, d), (e, f), (h, k)} 象集 CD(b,d) ={(e, f), (d, l)} 象集 CD(c,k) ={(c, d), (e, f)}
称为属性列或属性组

量的集合

的属性组
引入几个记号(三)
⌒ tt
r s
R为 n目关系, S为m目关系
tr
∈ R, ts∈ S,⌒ trts称为元组的连接
它是一个 n + m列元组,前 n个分量为R中的一个n元组,后 m个分量为 S中的一个m元组
引入几个记号(四)
象集 Zx 给定一个关系R(X, Z),X和Z为属性组
σ
Fra Baidu bibliotek
P155例 6-3
学生-课程数据库—学生关系
Student
学 号 Sno 姓 名 Sname 性 别 Ssex 年 龄 Sage 所在系 Sdept
95001 95002 95003 95004
李勇 刘晨 王敏 张立
男 女 女 男 (a)
20 19 18 19
CS IS MA IS
学生-课程数据库—课程关系
R
a3 a1 a4 a2 a1
S
b2 b2


在关系 R中, A可以取四个值{a1,a2, a3,a4}
a1的象集为 {(b1, c2),(b2,c3), (b2,c1)} a2的象集为 {(b3, c7), (b2,c3)} a3的象集为 {(b4, c6)} a4的象集为 {(b6, c6)}
x 2 z2 z3 z3 x 3 z1
一、选择(Selection)

选择又称为限制(Restriction) 是在关系 R中选择满足给定条件的诸元组,记作 σF(R) = {t|t∈ R∧ F(t)= '真 '}

其中 F表示选择条件,它是一个逻辑表达式,取逻辑值“真” 或“假” 逻辑表达式 F的基本形式为X1θY1
CS IS MA IS
学生-课程数据库—课程关系
Course
课程号 课程名 先行课 学分
Cno 1 2 3 4 5 6 7

关系代数中,这些运算经过有限次复合后形成的式子称为关
系代数表达式
学生-课程数据库—学生关系
Student
学 号 Sno 姓 名 Sname 性 别 Ssex 年 龄 Sage 所在系 Sdept
95001 95002 95003 95004
李勇 刘晨 王敏 张立
男 女 女 男 (a)
20 19 18 19

当 t[X]=x时, x在R中的象集(Images Set)为: Zx={t[Z]|t ∈ R, t[X]=x}

它表示 R中属性组X上值为x的诸元组在Z上分量的集合
象集举例
R x1 x1 x1 x2 x3 z1 z2 z3
x1在 R中的象集Zx1 = {Z1, Z2, Z3 } x2在 R中的象集Zx2 = {Z2, Z3 } x3在 R中的象集Zx3 = {Z1, Z3 }
(c)
成 绩 Grade 92 85 88 90 80
投影(Projection)
[例 3] 查询学生的姓名和所在系 即求 Student关系上学生姓名和所在系两个属性上的投影 πSname, Sdept(Student) 或 π2, 5(Student)
它是对关系的垂直分割,是从列的角度进行的运算
AθB
S = { trts | tr ∈ R∧ ts ∈ S∧ tr[A]θts[B] }

其中 A和 B分别为 R和S上度数相等且可比的属性组,θ是比较运 算符 连接运算是从R和S的笛卡尔积R× S中选取R关系在A属性组上 的值与 S关系在B属性组上的值满足比较关系θ的元组


等值连接(Equijoin)

S = { t t | tr ∈ R∧ ts ∈ S∧ tr[B]=ts[B] } r s P155例 6-4 R
连接(Join)

一般的连接操作是从行的角度进行运算 R
S

AθB
自然连接还需要取消重复列,所以是同时从行和列的角 度进行运算
连接(Join)
[例 5]
A a1 a1 a2 a2 B b1 b2 b3 b4 C 5 6 8 12
的分量必须是相同的属性组,并且在结果中将重复属性列去掉

本题 R与 S关系中相同的属性组为A、C,因此,结果集中的
属性列应为ABCD
四、除(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 } Yx: x在 R中的象集, x = tr[X]
数据库原理与应用
Database Principles and Applications
第二章 关系数据库
2.1 关系数据结构及其形式化定义 2.2 关系操作 2.3 关系的完整性 2.4 关系代数
内容回顾
关系的完整性
实体完整性(规则) 参照完整性(关系间的引用、规则) 用户自定义完整性 ( ……)


两个关系 R(X, Y)和S(Y,Z)应该有公共属性列 运算的结果为P( X),元组来自于R关系,只包含X属性列 关系 P 的属性由属于R但不属于 S的所有属性组成,且P的任
一元组与关系S组合后都成为R中原有的一个元组
除操作是同时从行和列角度进行运算
R
÷
S

[例 6]
A a1 a2 B b1 b3 b4 b2 b6 b2 b2 C c2 c7 c6 c3 c6 c3 c1 B b1 C c2 c1 c3
Course
课程号 课程名 先行课 学分
Cno 1 2 3 4 5 6 7
Cname 数据库 数学 信息系统 操作系统 数据结构 数据处理 PASCAL语言
(b)
Cpno 5 1 6 7 6
Ccredit 4 2 4 3 4 2 4
学生-课程数据库—选修关系
SC
学 号 Sno 95001 95001 95001 95002 95002 课程号 Cno 1 2 3 2 3

上述象集包含 π CD ( S ) 有 (a, b)和 (c, k),所以,
R ÷ S ={(a, b), (c, k)},
五、关系代数的综合应用

本节介绍了8种关系代数运算,其中并、差、笛卡尔积、选择 其它 3种运算,即交、连接和除,均可以用这5种基本运算来
和投影 5种运算为基本运算

表达 R∩S = R – (R-S) R AθB S =σ AθB ( R× S)
运算对象、运算符、运算结果:运算的三大要素 传统的集合运算(并、差、交、笛卡尔积)
2.4 关系代数
2.4.1 概述 2.4.2 传统的集合运算 2.4.3 专门的关系运算
2.4.3 专门的关系运算
选择 投影 连接 除
引入几个记号(一)
R, t∈ R, t[Ai] 设关系模式为R(A1,A2,…,An),它的一个关系设为R

t∈ R表示 t是 R的一个元组 t[Ai]则表示元组t中相应于属性Ai的一个分量
引入几个记号(二)
A, t[A], A 若 A={Ai1, Ai2, …, Aik}

其中 Ai1, Ai2, …,Aik是A1,A2,…,An中的一部分,则A t[A]=(t[Ai1], t[Ai2],…,t[Aik])表示元组 t在属性列A上诸分 A则表示 {A1, A2, …,An}中去掉{Ai1,Ai2,…,Aik}后剩余
B b1 b2 b3 b3 b5
E 3 7 10 2 2
R
S
连接(Join)
R
C<E
S
A a1 a1 a1 a1 a2 R.B b1 b1 b2 b2 b3 C 5 5 6 6 8 S.B b2 b3 b2 b3 b3 E 7 10 7 10 10
连接(Join)
等值连接 R
A a1 a1 a2 a2

θ表示比较运算符,它可以是>,≥,<,≤,=或<> X1, Y1等是属性名,可以是常量、变量或简单函数,属性名也可以用其序号代替 在基本的选择条件上可以进一步进行逻辑运算,即进行非、与、或运算
选择(Selection)

选择运算实际上是从关系R中选取使逻辑表达式 F为真的元 组,它是对关系的水平分割,是从行的角度进行的运算

P154例 6-2
学生-课程数据库—学生关系
Student
学 号 Sno 姓 名 Sname 性 别 Ssex 年 龄 Sage 所在系 Sdept
95001 95002 95003 95004
李勇 刘晨 王敏 张立
男 女 女 男 (a)
20 19 18 19
CS IS MA IS
学生-课程数据库—课程关系
相关文档
最新文档