关系数据库-关系运算
笛卡尔积
符号: 乘号x
计算:所有组合,可通过二维表格求得。
例如:D1={0, 1}、D2={a, b}、D3={c, d}, 求其笛卡尔积和其基数
| D1\D2 | a | b |
| 0 | 0a | 0b |
| 1 | 1a | 1b |
| D3\D1D2 | 0a | 0b | 1a | 1b |
| c | 0ac | 0bc | 1ac | 1bc |
| d | 0ad | 0bd | 1ad | 1bd |
基数:关系中元组个数 8
元数:属性个数 3
交
符号:∩
计算:R∩S={t|t∈R∧t∈S}
并
符号:∪
计算:R∪S={t|t∈R∨t∈S}
差
符号:-
计算:R-S={t|t∈R∧t∉S}
投影
符号:π
计算:垂直方向运算,选择属性列
选择
符号:☌
计算:水平方向运算,选择元组
连接
自然连接
自然连接是一种特殊的等值连接,要求两个关系中进行比较的必须是相同属性组,并且结果集中去掉重复属性列。
符号:⋈
计算:输出R和S中相同属性组中相同元组所在行,并去除重复列。
| A | B | C |
| a | b | c |
| b | a | d |
| c | d | e |
| d | f | g |
| A | C | D |
| a | c | d |
| d | f | g |
| b | d | g |
| A | B | C | D |
| a | b | c | d |
| b | a | d | g |
外连接
连接的扩展,可以处理缺失信息
| A | B | C |
| a | b | c |
| b | a | d |
| c | d | e |
| d | f | g |
| B | C | D |
| b | c | d |
| d | e | g |
| f | d | g |
| d | e | c |
左外连接
左在前自然连接+左侧自然连接不了的,其右侧属性值用null表示
| A | B | C | D |
| a | b | c | d |
| b | a | d | null |
| c | d | e | g |
| c | d | e | c |
| d | f | g | null |
右外连接
右在前自然连接+右侧自然连接不了的,其左侧属性值用null表示
| A | B | C | D |
| a | b | c | d |
| c | d | e | g |
| null | f | d | g |
| c | d | e | c |
全外连接
左外连接∪右外连接
| A | B | C | D |
| a | b | c | d |
| b | a | d | null |
| c | d | e | g |
| c | d | e | c |
| d | f | g | null |
| null | f | d | g |
除
符号:÷
计算:R÷S 找出R于S相同属性列的相同元组,输出R中与之对应的不同于S的属性列元组,并去除重复行。
| A | B | C | D |
| a | b | c | d |
| a | b | e | f |
| a | b | h | k |
| b | d | e | f |
| b | d | d | l |
| c | k | c | d |
| c | k | e | f |
| C | D |
| c | d |
| e | f |
| A | B |
| a | b |
| c | k |
