数据库系统原理04735课件第四章 PPT
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
投影(续)
• 3) 举例
[例3] 查询学生的姓名和所在系
即求Student关系上学生姓名和所在系两个属性上的投 影
πSname,Sdept(Student) 或 π2,5(Student)
Sname Sdept
李勇
CS
结果:
刘晨
IS
王敏 MA
张立
IS
投影(续)
[例4] 查询学生关系Student中都有哪些系 πSdept(Student)
95004
张立
男
19
所在系 Sdept CS
IS
MA
IS
(a)
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 Cno Grade
95001
1
92
95001
2
85
95001
3
88
95002
2
90
95002
3
80
(c)
1. 选择(Selection)
• 1) 选择又称为限制(Restriction) • 2) 选择运算符的含义
在关系R中选择满足给定条件的诸元组 σF(R) = {t|tR∧F(t)= '真'}
结果:
Sdept CS IS MA
3. 连接(Join)
1)连接也称为θ连接
2)连接运算的含义
从两个关系的笛卡尔积中选取属性间满足一定条件的元组
R
S = { tr ts | tr R∧ts S∧tr[A]θts[B] }
交
R
R∩S
S
4. 广义笛卡尔积 (Extended Cartesian Product)
•R n目关系,k1个元组
•S m目关系,k2个元组
• R×S 列:(n+m)列的元组的集合
• 元组的前n列是关系R的一个元组 • 后m列是关系S的一个元组
行:k1×k2个元组
• R×S = {tr ts |tr R ∧ tsS }
4.1 关系代数
• 传统的集合运算 • 专门的关系运算
1.关系关系代数的五个基本操作:并、差、笛卡尔积、投 影和选择。它们组成了关系代数完备的操作集。
2.关系代数的四个组合操作:交、联接、自然联接和除法。
传统的集合运算
•并 •差 •交 • 广义笛卡尔积 •除
大家学习辛苦了,还是要坚持
继续保持安静
F:选择条件,是一个逻辑表达式,基本形式 为: X1θY1 …
选择(续)
• 3) 选择运算是从行的角度进行的运算
σ
选择(续)
[例1] 查询信息系(IS系)全体学生
或 结果:
σSdept = 'IS' (Student) σ5 ='IS' (Student)
Sno
95002 95004
Sname
数据库系统原理04735课件第四章
考核知识点和考核要求 4.1关系代数 4.1.1关系代数的五个基本操作(并、差、笛卡儿积、投影、选 择)(综合运用) 4.1.2关系代数的四个组合操作(交、连接、自然连接、除法) (综合运用) 4.1.3关系代数表达式的应用(综合运用) 4.1.4关系代数的两个扩充操作(外连接、外部并)(领会) 4.2关系演算 4.2.1元组关系演算的定义及表达式的含义(简单应用) 4.2.2域关系演算的定义及表达式的含义(领会) 4.2.3关系运算的安全约束和等价性(领会) 4.3关系代数表达式的优化(领会)
关系模型有三个重要组成部分:
1)数据结构
数据库中全部数据及其相互联系都被组织成“关系” 的形式。关系模型基本的数据结构是关系。
2)数据操纵
关系模型提供一组完备的高级关系运算,以支持对 数据库的各种操作,关系运算分为关系代数和关系演算 两类。
3)数据完整性规则
数据库中数据必须满足实体完整性,参照完整性和 用户定义的完整性等三类完整性规则。
IS MA IS
2. 投影(Projection)
• 1)投影运算符的含义
从R中选择出若干属性列组成新的关系 πA(R) = { t[A] | t R }
A:R中的属性列
2. 投影(Projection)
• 2)投影操作主要是从列的角度进行运算
π
但投影之后不仅取消了原关系中的某些列,而且还可 能取消某些元组(避免重复行)
关系数据库的数据操纵语言(DML)的语句分为:查询语句和更新语句两 大类。
关系查询语言根据其理论基础的不同分成两类: 1)关系代数语言:查询操作是以集合操作为基础的运算; 2)关系演算语言:查询操作是以谓词演算为基础的运算。
关系代数运算的三个要素: 运算对象:关系 运算结果:关系 运算符:四类
集合运算符 将关系看成元组的集合 运算是从关系的“水平”方向即行的角度来进行 专门的关系运算符 不仅涉及行而且涉及列 算术比较符 辅助专门的关系运算符进行操作 逻辑运算符 辅助专门的关系运算符进行操作
1. 并(Union)
• R和S
具有相同的目n(即两个关系都有n个属性) 相应的属性取自同一个域
• R∪S
仍为n目关系,由属于R或属于S的元组组成 R∪S = { t|t R∨t S }
Biblioteka Baidu 并
R R∪S
S
2. 差(Difference)
• R和S
具有相同的目n 相应的属性取自同一个域
• R-S
仍为n目关系,由属于R而不属于S的所有元组组成 R -S = { t|tR∧tS }
差
R R-S
S
3. 交(Intersection)
• R和S
具有相同的目n 相应的属性取自同一个域
• R∩S
仍为n目关系,由既属于R又属于S的元组组成 R∩S = { t|t R∧t S } R∩S = R –(R-S)
广义笛卡尔积
R
R×S
S
2.4.2 专门的关系运算
• 选择 • 投影 • 连接
案例
学生-课程数据库: 学生关系Student、课程关系Course和选修关系SC
Student
学号 Sno 95001
姓名 Sname 李勇
性别 Ssex 男
年龄 Sage 20
95002
刘晨
女
19
95003
王敏
女
18
刘晨 张立
Ssex Sage Sdept
女
19
IS
男
19
IS
选择(续)
[例2] 查询年龄小于20岁的学生
σSage < 20(Student) 或 σ4 < 20(Student)
结果:
Sno Sname Ssex
95002 刘晨
女
95003 王敏
女
95004 张立
男
Sage
19 18 19
Sdept