《关系代数表达式.ppt》由会员分享,可在线阅读,更多相关《关系代数表达式.ppt(28页珍藏版)》请在三一办公上搜索。
1、An Introduction to Database System,专题关系代数表达式书写,主讲人:刘永磊,An Introduction to Database System,一些例子,1.查询选修了2号课程的学生的学号。Sno(Cno=2(SC)2.查询至少选修了一门其直接先行课为5号课程的的学生姓名Sname(Sno(Cpno=5(Course)SC)Sno,Sname(Student)3.查询选修了全部课程的学生号码和姓名。Sno,Cno(SC)Cno(Course)Sno,Sname(Student),An Introduction to Database System,不识庐山真
2、面目,只缘身在此山中。,自然语言,关系代数表达式,从系统外考虑,An Introduction to Database System,示例数据库,(a),Student,学生-课程数据库:学生关系Student、课程关系Course和选修关系SC,An Introduction to Database System,Course,(b),An Introduction to Database System,(c),SC,An Introduction to Database System,书写关系代数表达式的步骤,1.“超脱于世外”把自己当做没学过关系代数的“白丁”,人工完成题目给出的查询,记
3、录人眼的移动过程。查询选修了2号课程的学生的学号,An Introduction to Database System,(c),SC,An Introduction to Database System,2.“出得去,回得来”将人眼的移动过程翻译成关系代数表达式。(利用对于学过的关系代数理论的理解)人眼纵向扫描满足条件的元组选择人眼定位到某个元组后选择某些属性列的值投影,An Introduction to Database System,查询选修了2号课程的学生的学号。Sno(Cno=2(SC)查询至少选修1号课程和3号课程的学生号码,An Introduction to Database
4、System,(c),SC,是否包含1,3,是否包含1,3,An Introduction to Database System,首先建立一个临时关系K:,An Introduction to Database System,Sno,Cno(SC)200215121象集1,2,3200215122象集2,3 K=1,3 于是:Sno,Cno(SC)K=200215121,An Introduction to Database System,首先建立一个临时关系K:,An Introduction to Database System,具有上述类似的人眼移动过程除法在整个过程中人眼未关注的列可以
5、用投影去除查询至少选修了一门其直接先行课为5号课程的学生姓名,An Introduction to Database System,Course,(b),An Introduction to Database System,(c),SC,1,An Introduction to Database System,(a),Student,200215121,An Introduction to Database System,上述”拿着”一些属性值到另外一张表/同一张表(自身连接)里去找具有相同值的项配对自然连接只能外码可以配对,An Introduction to Database System
6、,查询至少选修了一门其直接先行课为5号课程的学生姓名Sname(Sno(Cno(Cpno=5(Course)Sno,Cno(SC)Sno,Sname(Student)查询选修了全部课程的学生号码和姓名。,An Introduction to Database System,Course,(b),An Introduction to Database System,(c),SC,是否包含17,是否包含17,An Introduction to Database System,(a),Student,200215121,An Introduction to Database System,查询选修
7、了全部课程的学生号码和姓名。Sno,Cno(SC)Cno(Course)Sno,Sname(Student),An Introduction to Database System,练习,有一学校教学数据库,包括学生、课程、教师、学生成绩4个关系。学生关系S(SNO,SN,AGE,SEX),有属性:学号、姓名、年龄、性别课程关系C(CNO,CN,PCNO),包括属性:课程号、课程名、先修课程号教师关系T(ENO,EN,DEPT),包括属性:职工号、姓名、系别学生成绩关系SC(SNO,CNO,ENO,G),包括属性:学生号、课程号、任课教师职工号、学生学习成绩1.选修所有课程并且成绩为A的学生名2.选修了王平老师讲授的所有课程的学生名3.求不选修信息系老师开设的所有的课程的学生名,An Introduction to Database System,分析,学生,教师,课程,m,n,p,An Introduction to Database System,分析(续),S(SNO,SN,AGE,SEX);C(CNO,CN,PCNO);T(ENO,EN,DEPT)SC(SNO,CNO,ENO,G),An Introduction to Database System,休息一会儿。,追求,