第四讲 关系模型之关系代数
2018-07-21 本文已影响0人
天际神游
关系模型之关系代数
书写关系代数的基本思维训练:
一个集合, 施加一个集合, 依次施加关系代数操作, 进而得到所需的结果
以集合为中心
关系代数概述
基本操作为什么要提出关系代数?
就像是编程语言的各种操作, 最后到了底层都是与或非等的基本操作.
关系代数的基本操作
并相容性
关系R与关系S存在相容性, 当且仅当:
- 关系R与关系S的属性数目相同
- 对于任意i, 关系R的第i个属性的域必须和关系S的第i个属性的域相同.
并(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操作, 而不必先形成笛卡尔积
等值连接操作是特殊的θ连接操作自然连接
- 是一种特殊的等值连接
- 满足R, S属性相同, 值必须相等才能连接
- 要在结果中去掉重复的属性列
小结
小结关系代数操作值组合与应用训练
从里向外写:
书写关系表达式的基本思路关系代数之复杂扩展操作
除(Division)
利用乘法来辅助理解
除运算