《关系代数表达式.ppt》由会员分享,可在线阅读,更多相关《关系代数表达式.ppt(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、专题专题关系代数表达式书写关系代数表达式书写主讲人:刘永磊主讲人:刘永磊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 Systemv不识庐山真面目,只缘身在此山中。自然语言自然语
2、言关系代数表达式关系代数表达式从系统外考虑从系统外考虑An Introduction to Database System示例数据库示例数据库(a)Student学生-课程数据库:学生关系Student、课程关系Course和选修关系SC学号学号Sno姓名姓名Sname性别性别Ssex年龄年龄Sage所在系所在系Sdept200215121李勇李勇男男20CS200215122刘晨刘晨女女19IS200215123王敏王敏女女18MA200215125张立张立男男19ISAn Introduction to Database System课程号课程号Cno课程名课程名Cname先行课先行课Cp
3、no学分学分Ccredit1数据库数据库542数学数学23信息系统信息系统144操作系统操作系统635数据结构数据结构746数据处理数据处理27PASCAL语言语言64Course(b)An Introduction to Database System(c)SC学号学号Sno课程号课程号Cno成绩成绩Grade200215121192200215121285200215121388200215122290200215122380An Introduction to Database System书写关系代数表达式的步骤书写关系代数表达式的步骤v1.“超脱于世外”v把自己当做没学过关系代数的“
4、白丁”,人工完成题目给出的查询,记录人眼的移动过程。v查询选修了2号课程的学生的学号An Introduction to Database System(c)SC学号学号Sno课程号课程号Cno成绩成绩Grade200215121192200215121285200215121388200215122290200215122380An Introduction to Database Systemv2.“出得去,回得来”v将人眼的移动过程翻译成关系代数表达式。(利用对于学过的关系代数理论的理解)v人眼纵向扫描满足条件的元组选择v人眼定位到某个元组后选择某些属性列的值投影An Introduct
5、ion to Database System查询选修了2号课程的学生的学号。Sno(Cno=2(SC)查询至少选修1号课程和3号课程的学生号码An Introduction to Database System(c)SC学号学号Sno课程号课程号Cno成绩成绩Grade200215121192200215121285200215121388200215122290200215122380是否包含是否包含1,3是否包含是否包含1,3An Introduction to Database System首先建立一个临时关系K:Cno13An Introduction to Database Syst
6、emvSno,Cno(SC)200215121象集象集1,2,3200215122象集象集2,3 K=1,3于是:Sno,Cno(SC)K=200215121SnoCno20021512112002151212200215121320021512222002151223An Introduction to Database System首先建立一个临时关系K:Cno13An Introduction to Database Systemv具有上述类似的人眼移动过程除法v在整个过程中人眼未关注的列可以用投影去除v查询至少选修了一门其直接先行课为5号课程的学生姓名An Introduction t
7、o Database System课程号课程号Cno课程名课程名Cname先行课先行课Cpno学分学分Ccredit1数据库数据库542数学数学23信息系统信息系统144操作系统操作系统635数据结构数据结构746数据处理数据处理27PASCAL语言语言64Course(b)An Introduction to Database System(c)SC学号学号Sno课程号课程号Cno成绩成绩Grade2002151211922002151212852002151213882002151222902002151223801An Introduction to Database System(a)
8、Student学号学号Sno姓名姓名Sname性别性别Ssex年龄年龄Sage所在系所在系Sdept200215121李勇李勇男男20CS200215122刘晨刘晨女女19IS200215123王敏王敏女女18MA200215125张立张立男男19IS200215121An Introduction to Database Systemv上述”拿着”一些属性值到另外一张表/同一张表(自身连接)里去找具有相同值的项配对自然连接v只能外码可以配对 An Introduction to Database System查询至少选修了一门其直接先行课为5号课程的学生姓名Sname(Sno(Cno(Cpn
9、o=5(Course)Sno,Cno(SC)Sno,Sname(Student)查询选修了全部课程的学生号码和姓名。An Introduction to Database System课程号课程号Cno课程名课程名Cname先行课先行课Cpno学分学分Ccredit1数据库数据库542数学数学23信息系统信息系统144操作系统操作系统635数据结构数据结构746数据处理数据处理27PASCAL语言语言64Course(b)An Introduction to Database System(c)SC学号学号Sno课程号课程号Cno成绩成绩Grade20021512119220021512128
10、5200215121388200215122290200215122380是否包含是否包含17是否包含是否包含17An Introduction to Database System(a)Student学号学号Sno姓名姓名Sname性别性别Ssex年龄年龄Sage所在系所在系Sdept200215121李勇李勇男男20CS200215122刘晨刘晨女女19IS200215123王敏王敏女女18MA200215125张立张立男男19IS200215121An Introduction to Database System查询选修了全部课程的学生号码和姓名。Sno,Cno(SC)Cno(Cour
11、se)Sno,Sname(Student)An Introduction to Database System练习练习v有一学校教学数据库,包括学生、课程、教师、学生成绩4个关系。v学生关系S(SNO,SN,AGE,SEX),有属性:学号、姓名、年龄、性别v课程关系C(CNO,CN,PCNO),包括属性:课程号、课程名、先修课程号v教师关系T(ENO,EN,DEPT),包括属性:职工号、姓名、系别v学生成绩关系SC(SNO,CNO,ENO,G),包括属性:学生号、课程号、任课教师职工号、学生学习成绩v1.选修所有课程并且成绩为A的学生名v2.选修了王平老师讲授的所有课程的学生名v3.求不选修信息系老师开设的所有的课程的学生名An Introduction to Database System分析分析学生学生教师教师课程课程mnpAn Introduction to Database System分析(续)分析(续)vS(SNO,SN,AGE,SEX);C(CNO,CN,PCNO);T(ENO,EN,DEPT)vSC(SNO,CNO,ENO,G)An Introduction to Database System休息一会儿。休息一会儿。追求追求An Introduction to Database System