第三章数据库中的关系代数学要点.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【例5】给出选课、选修课和必修课3个关系: 课号 课名 C2 计算机图形学 学号 课号 成绩 S1 C1 A S1 C2 B S1 C3 B S2 C1 A S2 C3 B S3 C1 B S3 C3 B S4 C1 A S4 C2 A S5 C2 B S5 C3 B S5 C1 A 选课 选修课 课号 科名 C1 数据结构 C3 操作系统 必修课 在选课表中查找已修过所有必修课 的学生学号 π学号,课程号(选课)÷必修课 关系除法运算分下面4步进行: 1) 将被除关系的属性分为象集属性和结果属性:与除关系相同的属性属于象集属性,不相同的属性属于结果属性。 2) 在除关系中,对与被除关系相同的属性(象集属性)进行投影,得到除目标数据集。 3) 将被除关系分组,原则是,结果属性值一样的元组分为一组。 4) 逐一考察每个组,如果它的象集属性值中包括除目标数据集,则对应的结果属性值应属于该除法运算结果集。 π学号,课号(选课)÷必修课 学号 课号 成绩 S1 C1 A S1 C2 B S1 C3 B S2 C1 A S2 C3 B S3 C1 B S3 C3 B S4 C1 A S4 C2 A S5 C2 B S5 C3 B S5 C1 A 学号 课号 S1 C1 S1 C2 S1 C3 S2 C1 S2 C3 S3 C1 S3 C3 S4 C1 S4 C2 S5 C2 S5 C3 S5 C1 投影 学号 课号 S1 C1 S1 C2 S1 C3 S2 C1 S2 C3 S3 C1 S3 C3 S4 C1 S4 C2 S5 C2 S5 C3 S5 C1 学号 S1 S2 S3 S5 课号 科名 C1 数据结构 C3 操作系统 必修课 在选课表中查找已修所有必修课学生的学号 象集属性:课号 结果属性:学号 目标数据集: π课号(必修课)={C1,C3} 学号相同的为一组 包括目标数据集的学号放到结果中 学生选课库的关系模式为: 学生(学号,姓名,性别,年龄,所在系); 课程(课程号,课程名,先行课); 选课(学号,课程号,成绩). 【例6】求选修了课程号为“C2”课程的学生学号。 π学号(σ课程号= ‘C2’(选课)) 【例7】求选修了课程号为“C2”课的学生学号、姓名、成绩。 π学号,姓名,成绩(σ课程号= ‘C2’(选课 学生)) 如何查询各学生选修课程的课程名、成绩? 要显示出学生学号、姓名、课程名、成绩。 π学号,姓名,课程名,成绩(选课 学生 课程) 三、用关系代数表示检索的例子 学生选课库的关系模式为: 学生(学号,姓名,性别,年龄,所在系); 课程(课程号,课程名,先行课); 选课(学号,课程号,成绩). 【例8】求没有选修课程号为“C2”课程的学生学号。 π学号(学生)-π学号(σ课程号= ‘C2’(选课)) 本题能否写为: π学号(σ课程号≠ ‘C2’(选课))? 学号 课程号 成绩 000001 c2 80 000002 c2 90 000001 c3 75 000003 c3 60 选课 π学号(σ课程号≠ ‘C2’(选课)) π学号(学生)-π学号(σ课程号= ‘C2’(选课)) × √ 【例9】求既选修“C2”课程,又选修“C3”课程的学生学号和成绩。 学号 课程号 成绩 000001 c2 80 000002 c2 90 000001 c3 75 000003 c3 60 π学号,成绩(σ课程号= ‘C2’ (选课))∩π学号,成绩(σ课程号= ‘C3‘(选课)) 该题不能写为: π学号,成绩(σ课程号=‘C2’ ∧ 课程号=‘C3’(选课))同一元组 【例10】求选修课程号为“C2”或“C3”课程的学生学号。 学号 课程号 成绩 000001 c2 80 000002 c2 90 000001 c3 75 000003 c3 60 π学号(σ课程号=‘C2‘(选课))∪π学号(σ课程号=’C3‘(选课)) 或 π学号(σ课程号=C2 ∨ 课程号=C3(选课)) 学生(学号,姓名,性别,年龄,所在系) 课程(课程号,课程名,先行课) 选课(学号,课程号,成绩) 【例11】一个学号为“00002”的学生所学过的所有课程可能也被其他学生选修,求这些学生的学号和姓名。 π学号,姓名( (π学号,课程号(选课) ÷π课程号(σ学号= ‘00002’ (选课) ) ) (学生) ) 学号 课程号 成绩 000001 c2 80 000002 c2 90 000001 c3 75 000003 c3 60 练习:

文档评论(0)

5201394 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档