用实例来说明关系代数:
一、 基本关系代数运算
1、并
R∪S={t|t∈R∨t∈S}
上述例子进行并(R∪S)运算:
A | B | C |
a | b | c |
b | a | d |
c | d | e |
d | f | g |
f | h | k |
自己的话形容:取所有。
2、差
R-S={t|t∈R∧t∉S}
上述例子进行差(R-S)运算:
A | B | C |
a | b | c |
c | d | e |
自己的话:取不同,R-S,在R中不在S中。
3、广义笛卡儿积
R×S={t|t=<tn,tm>∧tn∈R∧tm∈S}
上述例子进行广义笛卡儿积(R×S)运算:
R.A | R.B | R.C | S.A | S.B | S.C |
a | b | c | b | a | d |
a | b | c | d | f | g |
a | b | c | f | h | k |
b | a | d | b | a | d |
b | a | d | d | f | g |
b | a | d | f | h | k |
c | d | e | b | a | d |
c | d | e | d | f | g |
c | d | e | f | h | k |
d | f | g | b | a | d |
d | f | g | d | f | g |
d | f | g | f | h | k |
自己的话:一一对应组合在一起。
4、投影
πA(R) ={t[A]|t∈R}
上述例子进行投影(πA,C(R))运算:
A | C |
a | c |
b | d |
c | e |
d | g |
自己的话:取出它要求的列。
5、选择
σF(R)={t|t∈R∧F(t)=True}
上述例子进行选择(σA>B(R))运算:
A | B | C |
b | a | d |
自己的话:选择满足条件(A>B)的行
二、扩展的关系代数运算
1、交
R∩S={t|t∈R∧t∈S}=R-(R-S)=S-(S-R)
上述例子进行交(R∩S)运算:
A | B | C |
b | a | d |
d | f | g |
自己的话:在R中也在S中。
2、 连接
(1) θ连接
上述例子进行θ连接(连接的条件是R.A<S.B):
R.A | R.B | R.C | S.A | S.B | S.C |
a | b | c | d | f | g |
a | b | c | f | h | k |
b | a | d | d | f | g |
b | a | d | f | h | k |
c | d | e | d | f | g |
c | d | e | f | h | k |
d | f | g | d | f | g |
d | f | g | f | h | k |
自己的话:先进行笛卡儿积运算,再按给定的条件投影。
(2)自然连接
公式比较复杂,在此省略。
举例:
A | B | C |
a | b | c |
b | a | d |
c | d | e |
d | f | g |
关系R
A | C | D |
a | C | d |
d | f | g |
b | d | g |
关系S
进行自然连接:
A | B | C | D |
a | b | c | d |
b | a | d | g |
自己的话:选择相同列,比较相同元素组保留,去重,组合。
3、除
举例:
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 |
关系R
C | D |
c | d |
e | f |
关系S
进行除(R÷S)运算:
A | B |
a | b |
c | k |
自己的话:选择相同的行(R中一行对应S多行),去掉重复的列,留下剩余的列。
我最喜欢的学习方式,就是每学到一个新的东西,看完它的描述之后,我都会用自己的话来为自己描述一遍,可能是几个词,可能是几句话!能够帮助我们理解这个新的东西!