专业关系运算有选择、投影、连接、除法。
1 .选择所有满足关系给定条件的组称为选择。 在此,条件由逻辑式给出,逻辑式为真时选择组。
选择运算表示为f(r )。 其中r是关系,f是布尔函数,可以包含比较运算符和逻辑运算符。
2 .从关系中选出由几个属性组成的新关系称为投影。 从列的角度进行运算,相当于垂直分解关系,如果新关系包含重复元组,则删除重复元祖。
3 .连接。 连接是将两个关系属性名称连接到更广的关系中,并生成包含满足连接条件的元组的新关系。 分为连接(为‘=‘时等值连接)、f连接以及自然连接。
4、 关系除法
举个栗子:
说明求出以上4种关系的方法
假设有四种关系: r、s、u和v
对于投影:A,c :
就是在关系r中找到属性a和c,使这两个属性成为新的关系。 如果有重复的组的话,消除重复也可以
http://www.Sina.com/:b=‘5’(s ) :找到关系s,在s中用属性b找到值为5的组并构成新的关系就可以了
对于连接:
对于选择
RS
[ 3]=[2]
首先找出关系r,s,从左开始按顺序对r,s中的属性从1开始编号。 例如,属性r中的a、b、c依次编号为1、2、3,s中的b、c、d依次编号为1、2、3,所以连接要求【3】=【2】实际上要求找出r中的属性c和s中的属性c的值相等的元组
等值连接
关于自然连接,求出关系r和s的笛卡儿积(RS ),然后选择共同属性的值相等的组,去除重复的相等列。
自然连接:RS
首先,寻找被除关系u,看u中u、v中已经存在的共同属性和这些属性。 例如,由于上述关系,u除了c、d之外,还剩下a、b
然后,它开始寻找a、b的象集合,即在所有元组中对应于相同a、b属性的值的c、d值的集合。 u中的(a,b )的象集合是) (c,d ),e,f ),(c,a ) )的象集合是) c,d )。
并且,观察关系v在c、d上的投影,可以发现{(c,d ),e,f ) }
很明显,由于只有象集(a,b )包含v在c,d上的投影,(a,b )是符合要求的结果