新郑做网站公司,校园网二级网站的建设,深圳市交易建设工程交易服务中心,南宁定制网站制作网络公司关系代数
昨天讲完附加关系代数运算#xff0c;今天讲扩展关系代数运算。 扩展代数运算
正如其名#xff0c;这种运算定义了前面基本和附加都没有的运算。
去重运算
可以将关系R中跟查询条件相关但是形成了重复的元组去除#xff0c;只保留查询结果#xff08;简洁今天讲扩展关系代数运算。 扩展代数运算
正如其名这种运算定义了前面基本和附加都没有的运算。
去重运算
可以将关系R中跟查询条件相关但是形成了重复的元组去除只保留查询结果简洁 比如查询学生表中的所有系别 广义投影运算Π
它与前面提到的投影运算区别在于前者可以对要选取的属性列进行运算或者字符串函数而后者不行。
比如在学生表中并没有学生出生年份这一属性但是我们可以通过2021-Sage通过广义投影来实现
1算术运算
查询所有学生的学号、姓名、出生年份 结果会是 2字符串函数
假设现在有一个员工表Employees,并且查询员工ID和员工姓名并且要求姓名都是大写
ΠEmployeeID, UPPER(FullName)(Employees)
结果将是 EmployeeID FullNameInUpperCase E001 ALICE WONDERLAND E002 BOB BUILDER E003 CAOL DREAMER
其中UPPER就是一个字符串函数
聚集运算 其中Fi是聚集函数常用的聚集函数包含count、sum、avg、min、max等分别是计算所查属性列下满足条件的元组数量元素数量、对属性列下的分量数值进行求和、对属性列下的分量数值进行求和进行求平均值、查找该属性列下数值的最小值、查找该属性列下数值的最大值。
以count、avg为例
1查询学生总人数 查询结果会返回5.
2查询学生总人数、以及学生平均年龄 查询结果 分组运算
1比如查询各个系的男生和女生人数 结果 会看到系别只剩下四个元组性别也是四个这是由于该运算会去除重复的部分即 这个符号前的属性列只会保留必要的属性值而符号后的跟聚焦运算一样
2查询所有选课学生的学号及平均分 结果 根据上面的Sno在运算符号前所以成绩表中的Sno属性列中的学号每一个只计算一次。
排序运算
将学生表按照年龄排序对于年龄相同的元组按照学号排序 对于A1列取值相同的元组按照A2的值进行排序以此类推。
关系代数运算表达式总结 来试试几道例题
1查询选修了1号课程的学生学号、姓名及成绩 该表达式会先进行自然连接后是查询再是投影运算
注SC是学生选课表Student是学生表
2查询选修了1号课程的学生学号、姓名及成绩
可以有两种表示 但是下面的会比上面的更加高效因为在进行自然连接之前先通过查询减少了参与连接的元组数。
关系演算
我们在关系运算1中说过关系演算和SQL一样都属于非过程式的查询语言。只描述要查询的数据而不描述如何查询的过程 元组关系演算
1查询年龄≥18的学生的学号、姓名、性别、年龄、所在系 其中t是指我要的查询结果是元组即元组变量
结果 2查询年龄≥18的学生的学号 语句含义 查询结果 域关系演算
1查询年龄大于等于18的学生的学号、姓名、性别、年龄、所在系。 查询年龄大于等于18的学生的学号 在|前面的是域变量相当于前面元组关系演算关系那样。