定义
- $S$、$R$ 为关系模式,$s$、$r$ 为关系实例。
- 要计算关系除法,需要满足 $S ⊆ R$。
- 给定一个元组 $t$,令 $t[S]$ 代表元组 $t$ 在 $S$ 中属性上的投影;那么,$r ÷ s$ 是 $R-S$ 模式的一个关系。
- 元组 $t$ 在 $r ÷ s$ 中的充要条件是满足以下两个:
- $t$ 在 $Π_{R-S}(r)$ 中
- 对于 $s$ 中的每个元组 $t_s$,在 $r$ 中存在一个元组 $t_r$ 且满足:
- $t_r[S] = t_s[S]$
- $t_r[R-S] = t$
- 例子:
$r$:
A1 | A2 |
---|---|
a | e |
a | f |
b | e |
b | g |
c | e |
c | f |
d | f |
$s$:
A2 |
---|
e |
f |
$r ÷ s$:
A1 |
---|
a |
c |
公式
关系代数除法可以使用其它关系代数运算替代:
用上一节的例子就是:
A1 |
---|
a |
b |
c |
d |
A1 | A2 |
---|---|
a | e |
a | f |
b | e |
b | f |
c | e |
c | f |
d | e |
d | f |
公式中是为了计算差($-$)的时候两个操作数模式相同,对 $r$ 做了一下模式的颠倒,其实还是 $r$。
A1 | A2 |
---|---|
a | e |
a | f |
b | e |
b | g |
c | e |
c | f |
d | f |
A1 | A2 |
---|---|
b | f |
d | e |
A1 |
---|
b |
d |
A1 |
---|
a |
c |