文章目录
- 1.交(∩)
- 2.并(∪)
- 3.差(-)
- 4.投影(π)
- 4.1.例子
- 5.选择(σ)
- 5.1.例子
- 6.连接(⋈)
- 6.1.等值连接
- 6.2.自然连接
- 6.4.外连接
- 6.3.内连接
- 7.笛卡尔积(×)
- 8.除(÷)
- 8.1 例子
1.交(∩)
A∩B = {t|t∈A∩t∈B} //属于A且属于B
2.并(∪)
A∪B = {t|t∈A∪t∈B} //属于A或属于B
3.差(-)
A-B = {t|t∈A∩t∉B} //属于A且不属于B
4.投影(π)
关系的纵向分割。抽取指定的属性(列)
4.1.例子
关系R
A | B |
---|---|
a1 | b1 |
a2 | b2 |
π2 ( R ) 即为:关系R在第二列上的投影:
B |
---|
b1 |
b2 |
5.选择(σ)
关系的横向分割。抽取满足条件的记录(行)
5.1.例子
关系R
A | B |
---|---|
2 | 1 |
2 | 3 |
π1<2 ( R ) 即为:关系R选择第一列小于第二列的数据:
A | B |
---|---|
2 | 3 |
6.连接(⋈)
关系A(X,Y):
X | Y |
---|---|
x1 | y1 |
x2 | y2 |
关系B(X,Z):
X | Z |
---|---|
x1 | z1 |
x3 | z2 |
6.1.等值连接
6.2.自然连接
6.4.外连接
6.3.内连接
7.笛卡尔积(×)
8.除(÷)
关系R(X, Y),关系S(Y, Z),R和S 有相同的属性集Y,R÷S =
R在属性X上的投影的一个子集,该子集和属性集Y的笛卡尔积必须包含在R(X,Y)中
8.1 例子
学生表(Student):
学号 | 学生名 |
---|---|
s1 | 张三 |
s2 | 李四 |
课程表(Course):
课程号 | 课程名 |
---|---|
c1 | 语文 |
c2 | 数学 |
学生-课程关系表(SC):
学号 | 课程号 |
---|---|
s1 | c1 |
s1 | c2 |
s2 | c1 |
SC÷Course 的计算步骤:
1.找出SC和Course具有相同的属性集 ,即【课程号】:
(相同属性集,暂称:Y集):
课程号 |
---|
c1 |
c2 |
2.SC对剩余不相同的属性集【学号】做投影,并去除重复列,得到:
(被除表的非相同属性集,暂称:X集):
学号 |
---|
s1 |
s2 |
3.判断X集 中哪些符合条件:使得X集 和 Y集 的笛卡尔积均在关系SC中:
【 s1】和Y表 的笛卡尔积如下,均在SC中,满足条件:
学号 | 课程号 |
---|---|
s1 | c1 |
s1 | c2 |
【s2】和Y表 的笛卡尔积如下,其中(s2,c2)不在SC中,不满足条件:
学号 | 课程号 |
---|---|
s2 | c1 |
s2 | c2 |
4.所以SC÷Course的结果为:
学号 |
---|
s1 |
其业务含义为:选修了所有课程的学生的学号
除法运算的另一种描述算法
笛卡儿积、自然连接、等值连接的区别
数据库的连接(内连接,外连接,笛卡尔积)