关系代数是一种用来处理关系型数据库的数学方法,其中五种基本运算分别是选择、投影、并、差和联接。
1.选择(selection)
选择运算是从关系中选取满足条件的元组。使用符号sigma(σ)表示,其形式如下:
σ(条件)(关系名)
例如,从关系r(学生姓名,性别,年龄)中选取所有年龄大于等于20岁的学生的元组,可以写成:
σ(年龄≥20)(r)
2.投影(projection)
投影运算是从关系中选取需要的属性列,即可将一个关系中的某些列保留下来,其余列去除。使用符号pi(π)表示,其形式如下:
π(属性列)(关系名)
例如,从关系r(学生姓名,性别,年龄)中只选取姓名和年龄这两列,可以写成:
π(学生姓名,年龄)(r)
3.并(union)
并运算是将两个具有相同属性的关系合并成一个关系,即取两个关系的元组的并集,使用符号∪表示,其形式如下:
r∪s
例如,从两个关系r(学生姓名,年龄)和s(学生姓名,排名)中取出所有学生姓名并列出其年龄和排名,可以写成:
π(学生姓名,年龄)(r)∪π(学生姓名,排名)(s)
4.差(difference)
差运算是将两个具有相同属性的关系比较,去除共有的元组,即取两个关系的元组的差集,使用符号-表示,其形式如下:
r-s
例如,从两个关系r(学生姓名,年龄)和s(学生姓名,排名)中,取出所有只在r中存在的学生的姓名和年龄,可以写成:
π(学生姓名,年龄)(r)-π(学生姓名,年龄)(s)
5.联接(join)
联接运算是将两个关系中满足一定条件的元组相匹配,生成一个新的关系,使用符号×(crossjoin)表示,其形式如下:
r×s
例如,从两个关系r(学生姓名,年龄)和s(学生姓名,排名)中,按照姓名匹配取出所有符合条件的学生姓名、年龄和排名,可以写成:
π(学生姓名,年龄,排名)(σ(r.学生姓名=s.学生姓名)(r×s))
以上五种基本的关系代数运算是关系型数据库的核心,可以在实际应用中灵活运用,实现数据的高效管理与处理。