- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关系代数练习专用课件
关系代数习题 关系代数的9种操作 ???? 并、交、差、乘、选择、投影、联接、除、自然联接运算。 五个基本操作: ?? 并(∪)??? 差(-)???? 笛卡尔积(×)?交(∩)?? ? 四个组合操作: ?? ??投影? (π) 选择 (σ) 连接(等值连接、自然连接)??? 除法(÷) [例]设教学数据库中有3个关系:??学生关系 S(SNO,SNAME,AGE,SEX)??学习关系 SC(SNO,CNO,GRADE)??课程关系 C(CNO,CNAME,TEACHER) ???? 下面用关系代数表达式表达每个查询语句。 (1) 检索学习课程号为C2的学生学号与成绩。 (2) 检索学习课程号为C2的学生学号与姓名 (3)检索选修课程名为MATHS的学生学号与姓名。 (4) 检索选修课程号为C2或C4的学生学号。 (5) 检索至少选修课程号为C2和C4的学生学号。 (6) 检索不学C2课的学生姓名与年龄。 (7) 检索学习全部课程的学生姓名。 (8) 检索所学课程包含S3所学课程的学生学号。 (1) 检索学习课程号为C2的学生学号与成绩。 π SNO, GRADE (σ CNO=C2‘ (SC)) (2) 检索学习课程号为C2的学生学号与姓名 π SNO,SNAME (σ CNO=C2‘ (S SC)) 由于这个查询涉及到两个关系S和SC,因此先对这两个关系进行自然连接,同一位学生的有关的信息,然后再执行选择投影操作。 此查询亦可等价地写成: π SNO,SNAME(S) (π SNO (σ CNO=C2‘ (SC))) 这个表达式中自然连接的右分量为学了C2课的学生学号的集合。这个表达式比前一个表达式优化,执行起来要省时间,省空间。 (3)检索选修课程名为MATHS的学生学号与姓名。 π SNO,SANME (σ CNAME=MATHS‘ (S SC C)) (4)检索选修课程号为C2或C4的学生学号。??? π SNO (σ CNO=C2∨CNO=C4‘ (SC)) (5) 检索至少选修课程号为C2和C4的学生学号。??? π1(σ 1=4∧2=C2∧5=C4(SC×SC)) ????? 这里(SC×SC)表示关系SC自身相乘的乘积操作,其中数字1,2,4,5都为它的结果关系中的属性序号。 ? 比较这一题与上一题的差别。 (6) 检索不学C2课的学生姓名与年龄。 ??? π SNAME,AGE(S)-π SNAME,AGE (σ CNO=C2(S SC)) ??? 这个表达式用了差运算,差运算的左分量为全体学生的姓名和年龄,右分量为学了C2课的学生姓名与年龄。 (7)检索学习全部课程的学生姓名。 编写这个查询语句的关系代数过程如下: (a) 学生选课情况可用π SNO,CNO (SC)表示; (b) 全部课程可用π CNO (C)表示; (c) 学了全部课程的学生学号可用除法操作表示。??????? 操作结果为学号SNO的集合,该集合中每个学生(对应SNO)与C中任一门课程号CNO配在一起都在π SCO,CNO(SC) 中出现(即SC中出现),所以结果中每个学生都学了全部的课程(这是除法操作的含义):??? π SNO,CNO (SC) ÷ π CNO (C) (d) 从SNO求学生姓名SNAME,可以用自然连结和投影操作组合而成:π SNAME (S (π SNO,CNO (SC) ÷π CNO (C)))这就是最后得到的关系代数表达式。 (8) 检索所学课程包含S3所学课程的学生学号。注意:学生S3可能学多门课程,所以要用到除法操作来表达此查询语句。???? ? 学生选课情况可用操作? π SNO,CNO (SC)表示;????? 所学课程包含学生S3所学课程的学生学号,可以用除法操作求得: π SNO,CNO (SC)÷?π CNO (σ SNO=S3‘ (SC)) 设有一个教学数据库,包括以下三个关系模式: 学生S (Sno,Sname,Ssex,Sage,Sdept) 课程C (Cno,Cname,Cpno,Ccredit) 学习SC (Sno,Cno,Grade) 学生关系模式属性分别对应学号、姓名、性别、年龄、所在院系 课程关系模式属性分别对应课程号、课程名、先行课、学分 学习关系模式分别对应学号、课程号、成绩 1、查询学生95001的姓名和所在系。 π Sname,Sdept (σ Sno =‘95001’ (S)) 2、查询至少选修了两门课程的学生学号。 π Sno (σ [1]=[4] ∧ [2]≠[5] (SC×SC)) 3、查询选修了1号
文档评论(0)