一、笛卡尔乘积:是n个关系相乘的结果。
例如:
D1为学生集合(T)= {张群,徐晶,王刚}
D2为性别集合(S)= {男,女 }
D1与D2的笛卡尔乘积共6条记录,是拿D1中每条记录与D2中所有记录匹配。
二、关系代数
运算:集合运算、关系运算、比较运算、逻辑运算
1)集合运算
a)并(U)
例如:A U B,返回A表中全部数据,B表中全部数据,对于2表重复的内容只保留一个。
b)差(-)
例如:A - B,返回A表有并且B表没有的记录。
c)交(n)
例如:A n B,返回A表、B表共有的记录。
2)术语
1)元组的连串:表示元祖中包含的分量的集合。
例如:
若r = (r1 ,…,rn),s = (s1 ,…,sm),则定义r 与s
的连串为:定义rs的连串 = (r1 ,…,rn ,s1 ,…,sm)
2)关系的度:就是关系包含的属性的数量。
3)象集Zx:假设x='张三',表示求x列中值等于张三的分量所对应的Z列中分量的集合(消除重复)
4)选择:σA<5(R),表示从R中选择A列小于5的行。
注意:选择是根据条件筛选,返回的表的结构与原表一致。
5)投影Π...(R):从关系R中取若干列组成新的关系。例如:ΠA(R)表示从R中选择A列,返回新的关系,只包含A列。
6)连接: R 连接 S = {rs连串| r ∈ R ∧ s ∈ S ∧ r[A]θ S[B] },表示对R*S进行筛选,筛选条件为r[A] θ S[b];
6.1)自然链接:从笛卡尔乘积中自动匹配列名相同且分量值相等的记录,并消除重复的列。
6.2)外链接:把舍弃的记录也保存到新关系中,对于不匹配的列显示NULL。
a)左外链接:例如A left join B:返回左表中全部记录,对于未匹配的右表中的列设置为NULL。
b)右外链接:例如A right join B:返回右表中全部记录,对于未匹配的左表中的列设置为NULL。
c)完整链接:例如A full join B:返回2表中全部记录,对于未匹配的列设置为NULL。完整链接的结果
为:(左外结果+右外结果-重复行)
7)除法
例如:关系R(X,Y),S(Y,Z)
R ÷ S = {Tr[X] | tr∈R ∧ Πy(S) ⊆ Yx}
返回R中符合条件的分量集合。
条件:R中X列分量对应的象集Yx,包含S中Y列的投影Πy(S)