关系模型中常用的关系操作包括:查询(最主要的部分),更新(增,删,改)
查询的5种基本操作:选择,投影,并,差,笛卡尔积。
基本操作均根据如下图进行举例:
传统的集合运算:
1.并(∪)
R∪S :其结果为n列关系,由属于R或属于S的元组组成。
2.差(—)
R-S :其结果仍为n列关系,由属于R而不属于S的元组组成。(注意区分除运算)
3.交(∩)
R∩S :其结果仍为n列关系,即属于R又属于S的元组组成。
4.笛卡尔积(×)
R×S :积是一个(n+m)列的元组的集合。
4个例子如下图:
专门的关系运算以下图举例:
1.选择(在关系R中选择满足给定条件的诸元组)
eg1.查询信息系(IS系)全体学生
σ sdept='IS'(Student)
eg2.查询年龄小于20岁的学生
σ Sage<20(Student)
2.投影(从R中选择出若干属性列组成新的关系)
eg1 查询学生的姓名和所在系
Π sname,adept(Student)
eg2 查询学生关系Student中都有哪些系
Π sdept(Student)
3.连接(从两个关系的笛卡尔积中选取属性间满足一定条件的元组)
连接分为:等值连接,非等值连接,自然连接(⋈)。
4.除运算
R÷S = T(T中包含所有在R但不在S中的属性及其值,且T的元组与S的元组的所有组合都在R中)
综合应用多种关系代码运算进行查询 举例:
1)查询选修了2号课程的学生的学号
Π sno(σcno='2'(SC))
2)查询至少选修了一门其直接先行课为5号课程的学生姓名
Πsname(Πsno(σcpno='5'(course)⋈SC)⋈Πsno,sname(student))