2

如果我有以下表格并在关系代数中执行 R1/R2,结果会是 A 值为 1 和 3 的表格吗?我有点困惑,因为我知道 3 将是一个结果,因为它同时包含 5 和 1,但是结果 1 除了匹配的值之外还有 B 的其他值,所以这也会包括在内,为什么?

     R1          R2
    +---+---+   +---+
    | A | B |   | B |
    |---|---|   |---|
    | 1 | 1 |   | 5 |
    | 1 | 2 |   | 1 |
    | 1 | 3 |   +---+
    | 1 | 4 |
    | 2 | 3 |
    | 2 | 4 |
    | 3 | 5 |
    | 3 | 1 |
    | 1 | 5 |
    | 5 | 7 |
    | 5 | 8 |
    +---+---+
4

1 回答 1

3

在关系数据库中 Divide 定义为:
R1(Y,X) DIVIDE R2(X) = R1[Y] MINUS ((R1[Y] TIMES R2) MINUS R1)[Y]

请记住,R1[Y] 是“PROJECT R1 over Y”的另一种形式。
所以结果是 {1,3}

于 2013-01-09T22:20:42.650 回答