前言
所有的组合操作都可以用基本操作得来
(1)交(intersection)
关系R和S的交是由属于R又属于S的元组构成的集合,记为R∩S,这里要求R和S定义在相同的关系模式上。形式定义如下: R∩S≡{t︱t∈R ∧ t∈S},R和S的元数相同。交运算例子
如何用基本操作表示
- R∩S = R-(R-S),或R∩S = S-(S-R),因此交操作不是一个独立的操作。
- 简单的说就是它本身减去它本身中不属于另外一个的东西
(2)连接(join)
- 连接有两种:θ连接和F连接(这里θ是算术比较符,F是公式)。
- ① θ连接
-
R ⋈ S≡{t︱ t=<tr,ts> ∧ tr∈R ∧ ts∈S ∧tr iθts j }
- 如果θ是“=”,该连接操作称为等值连接。
- ② F连接
F连接是从关系R和S的笛卡儿积中选取属性间满足某一公式F的元组, 这里F是形为F1∧F2∧…∧Fn的公式,每个FP是形为iθj的式子,而i和j分别为关系R和S的第i、第j个分量的序号。
笛卡尔积的缺点
连接
(3)自然链接
- 两个关系R和S的自然连接操作 具体计算过程如下:
- ① 计算R×S ;
- ② 设R和S的公共属性是A1,…,AK,挑选R×S中满足R.A1=S.A1,…,R.AK=S.AK 的那些元组;
- ③去掉S.A1,…,S.AK这些列。
- 定义:
- πi1,…,im (σR.A1=S.A1∧… ∧R.AK=S.AK(R×S)),其中i1,…,im为R和S的全部属性,但公共属性只出现一次。
2.连接的缺点
(4)除法(division)
- 设关系R和S的元数分别为r和s(设r>s>0),那么R÷S是一个(r-s)元的元组的集合。
- (R÷S)是满足下列条件的最大关系:其中每个元组t与S中每个元组u组成的新元组<t,u>必在关系R中。
- R÷S≡π1,2,…,r-s(R)-π1,2,…,r-s((π1,2,…,r-s(R)×S)-R)