�
�例如,前面给出的r÷s的等价运算可以用赋值运算表示如下:
��
赋值运算只是将右侧的表达式的结果赋给←左侧的关系变量,该关系变量可以在后续的表达式中使用。特别要注意的是:对关系代数而言,赋值必须是赋给一个临时关系变量,而对永久关系的赋值即是对数据库的修改。同样,赋值运算不能增加关系代数的表达能力,但可以使复杂查询的表达变得清晰、简单。
命名运算和赋值运算的作用差不多,都不能增加关系代数的表达能力,却能给使用带来方便。两者的区别在于,赋值运算完全可以不需要,而直接使用关系代数表达式;但是如果没有命名运算,某些特殊的关系代数运算就可能无法进行。关于赋值和命名运算,以及我们认可的"="符号可以比较如下:
假设r和s是两个具有相同关系模式的关系,而关系x还不存在:
⑴temp←r:表示将关系r赋值给一个临时关系变量temp,没有新的关系产生,temp只是r的另外一个临时名字;
⑵s←r:表示将关系r赋值给一个永久关系s,实际上是对关系s的修改;
⑶ρ
x
(r):产生了一个新的永久的和关系r一模一样的一个关系x;
⑷x = r:相当于ρ
x
(r);⑸s = r:相当于s←r。