三级数据库技术辅导第二讲:1.2关系运算
1.2关系操作
在关系模型中,实体和实体之间的关系由单一的数据结构——关系来表示。对数据的操作就是对关系的操作。关系运算的形式可以分为两类:
(1)关系代数:将关系视为集合,以关系为运算对象的关系运算。
(2)关系演算:运用数理逻辑中谓词演算概念的关系运算。
工会
设R和S是同一类关系,即它们的度相同,对应的属性取值在同一个域内,但不要求属性名相同。那么R和S的并集由属于R或S的所有元组组成,称为R & Egraves .
SQL语句:Select * from R Union Select * from S
1.2.2(交叉口)
设R和S是同类的,则R和S的交由同时属于R和S的所有元组组成,称为R & Ccedils .
自然连接
当两个关系R和S的某些列具有相同的属性名时,可以用这些同名属性列的总相同值作为连接条件来连接这两个关系,形成自然连接。在连接关系中,既有R和S不同的属性列,也有相同的属性列,元组的个数由相同属性列中的相同值决定。
设R是k1与属性名组(A1,A2,...,Am,...,Ak1),而S是k2元关系与属性名组(A1,A2,...,Am,Bm+1,...Bk2),其中A1,A2,...,Am是同名的属性列,那么R和s。
自然连接的步骤如下:(1)计算R & acutes;(2)选择AI R = AI S的所有元组;(3)删除重复的属性。
可见,如果两个关系没有共同的属性,那么自然的联系就是笛卡尔积。
SQL语句:从r,s中选择distinct r.a,r.b,r.c,s.d,其中r.b = s.b,r.c = s.c。
1.2.9分部
除运算是指将一个(m+n)次关系R除以一个n次关系S,由运算结果生成一个m元的新关系。这里R的第(m+i)个属性和S的第I个属性(i=1,...n)必须在同一个域中定义。当R的前m个属性视为组合属性X,后n个属性视为组合属性Y时,则S可以类似地视为组合属性Y.
这样,R按S中的Y值分组,当组中含有Y值时,组中的X值构成R除以S的元组,R除以S的数学表达式为:
R & cedils = pa(R)-pa(pa(R)& acute;S-R)
其中a是关系r,除此之外其他属性与s关系相同。
关系代数在数据库的数据操作中是完备的,所有的数据操作都可以用关系代数来实现。
位律师回复
0条评论