关系代数运算方法
上次我们介绍的是关系模型的一些东西,而这次主要来讲关系代数
先上图,大家理解理解
以下都以此举例
1 五个基本操作
🔥Selection
- ρ predicate (R)
- 罗列R中满足条件(predicate)的数据---水平
🔥Projection
- πcol1, . . . , coln (R)
-
定义R的垂直子集的关系,提取指定属性的值并消除重复---垂直
🔥Cartesian product(笛卡尔积)
- RXS
-
R关系与S关系的串联关系
🔥Union
- RUS
-
与数学中的并关系相同
🔥Set difference
- R-S
-
在R中消除S
2 三个派生操作
🔥Join
1. Theta join (θ-join)
2. Natural join
在Client与Viewing的clientNo相同情况下,罗列出clientNo,fNale,lName,propertyNo,comment
3. Outer join
展示那些没有匹配的值
🌺左外连接
Left outer join is join in which tuples from R that do not have matching values in common columns of S are also included in result relation.
将每个元组保持在结果的左关系中
上图,大家注意这个null值选项,左边有值的是PropertyForRent,右边为null,显式左边而不显式右边,这便是左外连接
🌺右外连接
同左外连接类似,显式右关系
🌺全外连接
显式所有关系
🌺Semijoin
🔥Intersection
- R∩S
- 留下相同项
🔥Division
- R÷S
-
除法的意思,大家看下前面解释,已经很清楚了
保留V内与W相同的项,然后显式这个项所对应的值