接下来看一下关系模型之关系运算

1布尔运算:并、交、差、补是两个关系间的运算,要求参加运算的两个关系是相容关系,即两个关系具有相同的度(列数相同)且他们对应属性定义在同一个域上。

  补运算:补和有效补,前者是理论上对属性域的求反操作,后者结合属性对应关系r上的有效值域。当有效补的元组数目比关系本身的元组数少时,有效补可作为记录的压缩手段

2选择运算:关系上的一元运算,是从关系中选择在指定属性上有确定值得关系的子集,选取关系中行的子集。具有如下特性:

 可交换性:选择运算的顺序是不重要的,改变顺序得到的结果一致;

 可分配性:对于两个关系的布尔运算所得结果上的选择,可以分配到对每个关系上的选择,然后将结果进行布尔运算。选择运算与补运算的结合其结果与运算次序有 关;

3投影: 选取关系中列的子集,如果投影属性中不包括关系的键,则选取的列中会出现重复元组。特性:

 投影的串接:对一串投影,若投影的属性具有包含关系,计算投影的结果时仅需考虑投影的最小属性集即可;

 投影和选择是可交换的。

4 连接:是连接两个关系的二元运算。通常,连接运算是在两个关系共同属性上的等值连接,称为自然连接(natural join)

  关系r(R)和s(S),则r与s的连接是r中的元组和s中元组的串接,他们的公共属性只出现过一次,若模式R和S的交集为空则rs的连接为rs的笛卡尔积,属性数为两个关系属性数之和,元组数为两个关系元组数的乘积。

 连接运算可模拟选择运算;连接运算是可交换和可结合的;多元连接,完全连接;连接对并的可分配性;

 &_连接:两个关系同名属性的等值连接是最常用的连接 ,关系也能在不同属性名上的连接,连接属性的比较可以是大于,小于,等于,不等于等任意比较符,但这些不同属性名应有相同的域,称为&_连接。&为“=”时称为等值连接,而其余的统称为不等值连接。

5除运算:关系r(R)和s(S),且S隶属于R,令R‘=R-S,r/s结果为一个新关系r’记为r‘(R’);R和S中必有公共属性,