网站大量收购闲置独家精品文档,联系QQ:2885784924

chapter0王2-chinese.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
chapter0王2-chinese

2.4 关系代数的扩展运算 2.4.1 广义投影 2.4.2 聚集函数 2.4.3 外连接 广义投影 广义投影 对投影运算的扩展 —— 在属性列表中,允许使用表达式构造新属性 两种投影的对比 一般投影运算         ? A1 , A2 , … , An (E) A1 , A2 , … , An是E(关系或关系代数表达式)的属性。 例如: ?姓名, 期末成绩, 平时成绩 (Student) 广义投影运算          ? F1 , F2 , … , Fn (E) 其中F1 , F2 , … , Fn可以是E的属性,也可以是用表达式构造的新属性(可以用 as 进行命名,否则无属性名)。 例如: ?姓名, 期末成绩*0.7+平时成绩*0.3 (Student) 广义投影 应用示例 关系E: 职工的基本情况表。 问: 每个职工应缴纳的所得税 (工资的5%) ? TAX(姓名, 所得税) ( ?姓名 , 工资*0.05 (E) ) 外连接 外连接 (Outer Join) 外连接是对自然连接运算的扩展。 为什么要扩展自然连接? —— 因为自然连接可能会造成信息丢失 外连接 自然连接的信息丢失问题的示例 关系T: 教师基本情况表;关系C: 授课表。 问: 所有教师的信息,包括姓名、工号、年龄、所授课程 T  C ?          外连接 自然连接的信息丢失问题的示例 关系T: 教师基本情况表;关系C: 授课表。 问: 所有教师的信息,包括姓名、工号、年龄、所授课程 T  C ?          外连接 外连接 (Outer Join) 因为自然连接运算的结果不包括哪些失配的元组,造成信息丢失。 所以为避免这种情况,对失配的元组,与一个空元组 (所有属性值为Null) 连接后,添加到结果关系中去。这就是外连接运算。 外连接的三种类型 左外连接 = 自然连接 + 左侧表的失配元组 (与空元组连接) 右外连接 = 自然连接 + 右侧表的失配元组 (与空元组连接) 全外连接 = 自然连接 + 两侧表的失配元组 (与空元组连接) 外连接 如何计算外连接 ① 计算自然连接 ② 添加失配的元组 (缺少属性填空值) 外连接 应用示例 关系T: 教师基本情况表;关系C: 授课表。 问: 所有教师的信息,包括姓名、工号、年龄、所授课程 T   C   聚集运算 聚集函数 (aggregate functions) 输入:一个值的“集合”,例如: {1, 3, 1, 4, 4} 因为相同值可出现多次,这样的“集合”称为多重集(multiset) 输出:单一值,如: sum : 求集合中各个值的总和; count : 求集合中值的个数; avg : 求集合中各个值的平均; max : 求集合中的最大值; min : 求集合中的最小值; 如果希望在计算中忽略集合中重复的值,则应在函数名后面加上-distinct,如count-distinct就表示计算集合中的不同值的个数。 聚集运算 聚集运算 (Aggregation Operation)   G1 , G2 , ... , Gn G F1(A1) , F2(A2) , … , Fm(Am)(E) 先分组:G1,G2, ...,Gn是分组属性,对E中的元组 1)在G1, G2, ... ,Gn上值相等的元组,被划分到同一组 2)在G1, G2, ... ,Gn上值不等的元组,被划分到不同组 再统计:对每一个分好的组,在属性A1, A2, ... ,An上计算聚集函数F1, F2, ... , Fn的值。 聚集运算的输出 一个新关系,属性有n+m个:前n个属性来自左下标的分组属性,后m个来自右下标的聚集函数的新属性(无属性名,或用as 命名) 输入关系被划分后,一个分组统计为结果中的一个元组。所以原来有多少个分组,输出关系就有多少个元组 聚集运算 运算示范 根据分组属性划分组 为每个分好的组,在新关系内添加一个元组t:前n个属性值等于该分组在n个分组属性上的值,后m个属性值等于在该分组上统计m个聚集函数的结果 聚集运算 运算示范 根据分组属性划分组 为每个分好的组,在新关系内添加一个元组t:前n个属性值等于该分组在n个分组属性上的值,后m个属性值等于在该分组上统计m个聚集函数的结果 聚集运算 运算示范 根据分组属性划分组 为每个分好的组,在新关系内添加一个元组t:前n个属性值等于该分组在n个分组属性上的值,后m个属性值等于在该分组上统计m个聚集函数的结果 聚集运算 要点 如果分组属性为空,怎么进行聚集运算? 聚集运算 思考 对以上关系,问:每个部门的最大销售额? 一个常犯的错误 求成绩最高的学生姓

文档评论(0)

150****4233 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档