常用的关系运算
最常用的操作——数据查询
关系代数(高级语言)——抽象的查询语言,以集合运算为基础,以关系(表)为运算对象
关系运算的三大要素——运算对象,运算符,运算结果;
关系代数的运算对象和运算结果都是关系
关系运算种类与运算符
一.运算种类:
1.传统关系运算,以关系为集合,对水平方向进行运算(行运算),包括,交,并,差,广义笛卡尔积
并——并异去余;
差——前同后去
交——共同存有
广义笛卡尔积——两集合做笛卡尔乘积
2.专门关系运算
1.选择运算(限制运算),对二维表进行水平分割
2.投影运算,对二维表进行垂直分割,删掉重复记录构成新关系
3.连接运算,自然连接与等值连接
自然连接与等值连接的区别
1)等值连接中相等的属性可以是不同属性,而自然连接中相等的属性必须相同
2)自然连接连接结果必须去除重复属性,而等值连接的结果不需要去除重复属性
3)自然连接用于有公共属性的情况,若两个关系没有公共属性,则它们不能进行自然连接,而等值连接无此要求,自然连接常用于多表数据调用
4.除运算,分投影,分组对应,同时从行和列的角度进行操作(区别于限制运算和投影运算的单纯从行或单纯从列的角度考虑问题)
除运算的计算过程
1)将被除关系的属性分为象集属性和结果属性,与除关系相同的属性归于象集,不同的属性归于结果集
2)在除关系中,在与被除关系相同的属性(象集属性)上投影,得到除目标数据集
3)将被除关系分组结果属性值相同的记录分为一组
4)观察每个组,若它的象集属性值中包括除目标数据集,则对应的结果属性值应该属于除法运算结果集,并去掉与原被除关系相同的分组
二.4种关系运算符
集合运算符,专门关系运算符,算术运算符,逻辑运算符
思考问题
1.交,并,差运算的两个关系必须满足什么条件?
两关系具有相同的n目(列/属性),且相应的属性取自同一个域
2.除运算的结果表示什么含义?
在关系R中选出与关系S中相同属性相对应的其他属性所对应的值
3.等值连接和自然连接之间的区别是什么?
1.自然连接中相等的属性必是相同的属性,等值连接中相等的属性可以是相同的属性也可以是不同的属性
2.自然连接结果必须去除相同属性,而等值连接的结果不需要去除重复属性
3.自然连接用于有公有属性的情况,若两个关系没有公共属性,则它们不能进行自然连接,而等值连接无此要求,自然连接常用于多表数据调用
程序
用between选出学生中年龄在20到23岁的同学
select *form student
where Sage between 20 And 23
将学号为3的学生的成绩升序排序(ASC为升序排序,DESC为降序排序)
select *from student
where Cno = '3'
ORDER by Grade ASC