关系运算理论

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

3.1.2 交Intersect (∩)
• R和S的交,R∩S,是在R和S中都存在 的元素的集合
• 一个元素在交集中只出现一次 • R和S必须同类型(属性集相同、次序
相同,但属性名可以不同)
3.1.3 差Minus (-)
• R和S的差,R-S,是在R中而不在S 中的元素的集合
• R和S必须同类型(属性集相同、次 序相同,但属性名可以不同)
C为真)的元组 • 行的运算
• 例:σsage >= 23 AND sdep = ‘CS’(student) ?
• 例:列出CS系的学号及姓名
πsno,sname (σsdep = ‘CS’(student) )
应用举例:设有两个关系R和S分别如图所示,
求R和S的并、差、笛卡尔积、投影以及交。
ABC abc da f cbd
• 关系R、S的笛卡儿积是两个关系的元组对 的集合所组成的新关系
• R×S: – 属性是R和S的组合(有重复) – 元组是R和S所有元组的可能组合 – 是R、S的无条件连接,使任意两个关系 的信息能组合在一起
• 例:student ×sc
3.1.6 选择Selection(σ)
• 从关系R中选择符合条件的元组构成新的关系 • σC(R),表示从R中选择满足条件(使逻辑表达式
3.1.7 自然连接( )
从R×S的结果集中,选取在某些公 共属性上具有相同值的元组,组成新的 关系,其计算步骤如下:
(1)计算 R ×S (2)设 R 和 S 的公共属性是 A1、 A2….Ak ,
挑选 R.A1=S.A1、 R.A2=S.A2 ….. R.Ak=S.Ak的那些元组。 (3)删除 S.A1、S.A2 ….. S.Ak RS
R
456 789
DE S 31
62
ABCDE
12331 12362 45662
3.1.9 F 连接
从关系 R 和 S 的笛卡尔积中选取属性 间满足某一公式的元组。
F是形如F1Λ F2Λ F3Λ ……Λ Fn的公 式,其中 Fk 为形如 iθj 的公式。
RS
F
RS
2<1Λ1≥2
ABC 123
R
456 789
关系 R
ABC bga da f
关系 S
R∪S
ABC abc
R
da f cbd
ABC Sb g a
da f
ABC abc da f cbd bga
R∩S
ABC abc
R
da f cbd
ABC Sb g a
da f
ABC da f
R-S
ABC abc
R
da f cbd
ABC Sb g a
da f
CNO CNAME
S2 C2 OS
C4 MIS
CNO CNAME C1 DB
S3
C2 OS C4 MIS
R÷ S
R÷S1
SNO SNAME S1 BAO S2 GU
S3 AN
S4 LI
R÷S2
SNO SNAME S1 BAO S4 LI
R÷S3
SNO SNAME S1 BAO
应用举例1:设教学数据库中有三个关系 学生关系:S (S#,SNAME,AGE,SEX) 学习关系:SC (S#,C#,CGRADE) 课程关系:C (C#,CNAME,TEACHER)
ABC abc cbd
πC,A (R)
ABC abc
R
da f cbd
CA ca fd dc
σ B=‘b’ (R)
ABC abc
R
da f cbd
ABC abc cbd
R×S
ABC abc
R
da f cbd
ABC Sb g a
da f
R.A R.B R.C S.A S.B S.C a b c bga a b c da f d a f bga d a f da f c b dbga c b dda f
ABC abc Rd b c bb f cad
BCD bcd
S
bce adb
ABCD
abcd abc e dbcd dbc e c adb
3.1.8 θ连接
从 R×S 的结果集中,选取在指定的属性 集上满足θ条件的元组,组成新的关系。
θ是一个关于属性集的逻辑表达式。
RS
iθj
RS
2<1
ABC 123
R÷S
SNO SNAME CNO CNAME S1 BAO C1 DB S1 BAO C2 OS S1 BAO C3 DS S1 BAO C4 MIS
R
S2 GU C1 DB S2 GU C2 OS S3 AN C2 OS S4 LI C2 OS S4 LI C4 MIS
CNO CNAME
S1
C2 OS
3.1.4 投影Projection(π)
• 从关系R中选择若干属性组成新的关系
• πA1,A2,…,An(R),表示从R中选择属性集
A1,A2,…,An组成新的关系 • 列的运算 • 投影运算的结果中,也要去除可能的重复元组
• 例: πssex,sage (student) ?
3.1.5 笛卡儿积(×)
DE S3 1
62
A B C DE
1 2 3 31 4 5 6 62
3.1.10 除法
R÷S中的每个元组t与S中的每个元 组组成的新元组<t,u> 必然存在于R中, 其计算过程为: (1)计算T= π1,2,…r-s(R) (2)W=(T ×S )-R (3)V= π1,2,…r-s(W) (4) R÷S=T-V
❖ 关系代数的运算
–普通的集合运算
• 并、交、差
–删除部分关系的运算
• 选择、投影
–合并两个关系元组的运算
• 连接、积
–改名运算
3.1.1 并Union (∪)
• R和S的并,R∪S,是在R或S或两者中的元 素的集合
• 一个元素在并集中只出现一次 • R和S必须同类型(属性集相同、次序相同,பைடு நூலகம்
但属性名可以不同)
本章目标
本章以关系数据模型的数学基础——关 系代数,主要内容是基本的关系代数运算理 论,要求熟练掌握关系代数的运算方法是, 能够完成简单的关系运算。
数据库的核心应用是数据库的查询, 查询语言是用户用来从数据库中请求获取 信息的语言。
关系代数是过程化的查询语言,关系 代数是一种抽象的查询语言。
3.1 关系代数初步
(1)检索学习课程号为C2的学生学号和成绩
Πs#, grade(S) (σc#=‘c2’ (SC) )
(2)检索学习课程号为C2的学生学号和姓名
Πs#, sname(σc#=‘c2’ (S SC) )
(3)检索学习课程名为MATHS的学生学号和姓名
Πs#, sname(σcname=‘MATHS’ (S SC
相关文档
最新文档