集合运算
关系上的并、交、差各做什么?
设两个关系 R 与 S。
| 运算 | 符号 | 结果元组 |
|---|---|---|
| 并 | R∪S | 出现在 R 或出现在 S 中的元组 |
| 交 | R∩S | 同时出现在 R 和 S 中的元组 |
| 差 | R−S | 出现在 R 但不出现在 S 中的元组 |
集合运算需要满足什么前提?
- 并兼容: R 与 S 的模式相同, 属性个数与对应属性的域一致;
- 原因: 运算按元组是否出现在两侧来判断, 属性对不上就无法比较;
- 结果: 结果模式与 R、S 相同;
交能否用差表示?
- 结论: 可以, ;
- 验证: 是只在 R 中出现的元组, 再从 R 中减去它, 剩下的就是两边都有的元组;
- 意义: 说明交不是基本运算, 见 关系代数总览;
(source: 010-关系数据模型.md §代数查询语言/§集合操作)