数据库系统(上):模型与语言 战德臣主讲课堂笔记

第四讲 关系模型之关系代数

2018-07-21  本文已影响0人  天际神游

关系模型之关系代数

书写关系代数的基本思维训练:

一个集合, 施加一个集合, 依次施加关系代数操作, 进而得到所需的结果

以集合为中心

关系代数概述

基本操作

为什么要提出关系代数?
就像是编程语言的各种操作, 最后到了底层都是与或非等的基本操作.

为什么要提出关系代数

关系代数的基本操作

并相容性

关系R与关系S存在相容性, 当且仅当:

并(Union)

在汉语中的或者...或者..通常是并运算
理解自然语言基础上, 找到正确的操作

R+S = S+R

差操作(Difference)

汉语中的是...但不含...通常意义是差操作

R-S != S-R

广义笛卡尔积(Cartesian Product)
广义笛卡儿积

把两个关系进行所有可能的拼接

r, s各元组分别组合

SxR = RxS

选择(Select)

σcon(R), 表示从关系R中选择出满足给定条件condition的元组组成
从行选

投影(Project)

给定一个关系R, 投影运算结果也是一个关系, ∏A(R), 它从关系R中选出属性包含在A中的构成.
从列选

若投影后有重复元组, 则应去掉

小结
小结

关系代数的扩展操作

交(Intersection)

可以通过差运算来实现:
R∩S = R - (R - S) = S - (S - R)

汉语中既...又..., ..., 并且...通常意义是交运算

θ连接操作(θ-Join, theta-Join)

θ连接操作是在乘积操作的基础上再进一步做选择操作

示例

更名操作

更名操作

把worker和position连接起来, 然后让其满足条件, 最后选出

θ连接操作执行过程

能用θ连接操作就用, DBMS系统可直接进行DBMS操作, 而不必先形成笛卡尔积

等值连接操作是特殊的θ连接操作
自然连接
示例
小结
小结
关系代数操作值组合与应用训练

从里向外写:

书写关系表达式的基本思路

关系代数之复杂扩展操作

除(Division)

利用乘法来辅助理解

除运算
外连接(Outer-Join)
左右外连接 全连接和等值连接

本讲小结

本讲小结

数据库系统学习笔记

上一篇下一篇

猜你喜欢

热点阅读