[工学]数据库原理课件

上传人:油条 文档编号:33595555 上传时间:2018-02-16 格式:PPT 页数:56 大小:896KB
返回 下载 相关 举报
[工学]数据库原理课件_第1页
第1页 / 共56页
[工学]数据库原理课件_第2页
第2页 / 共56页
[工学]数据库原理课件_第3页
第3页 / 共56页
[工学]数据库原理课件_第4页
第4页 / 共56页
[工学]数据库原理课件_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《[工学]数据库原理课件》由会员分享,可在线阅读,更多相关《[工学]数据库原理课件(56页珍藏版)》请在金锄头文库上搜索。

1、专门的关系运算外连接,列出所有教师的所有信息,包括教师的工号、姓名、工资及所讲授的课号、课名。,所有老师的信息,=,专门的关系运算外连接,列出所有课程的有关信息,包括课名以及任课教师的工号、姓名、工资。,所有课程的信息,=,专门的关系运算外连接,列出所有老师和所有课程的有关信息。,=,所有老师和课程的信息,专门的关系运算,关系代数运算并、差、交、笛卡尔积、投影、选择、 连接、等值连接、自然连接、除基本运算符并、差、笛卡尔积、投影、选择其它运算可以从五种基本运算符推出,引进它们并不增加语言的能力,但可以简化表达。RS =R、S中相同的属性列为Y, R中去掉Y剩下的属性列为X, S中去掉Y剩下的属

2、性列为ZRS =RS=,R-(R-S),X, R.Y, Z( R .Y=S.Y(RS) ),X(R) X( X(R) Y(S) R ),专门的关系运算,查询至少选修了一门直接先行课为5号课的课程的学生姓名。,Student,Cpno =5 (Course),专门的关系运算,查询至少选修了一门直接先行课为5号课程的课程的学生姓名。,专门的关系运算,求未选修1号课程的学生学号。方案1:Sno(Cno 1 (SC)结果:95001,95002方案2:Sno(SC)Sno(Cno =1 (SC)方案3:Sno(Student)Sno(Cno =1 (SC),错误,错误,专门的关系运算,求仅选修了2号课

3、程的学生学号。,SC:,Sno (Cno=2 (SC),Sno (Cno2 (SC),Sno(Cno=2 (SC)Sno(Cno2 (SC),选修2号课之外的课的学生学号,专门的关系运算,查询选修了全部课程的学生号码和姓名。,Sno,Sname(Student),专门的关系运算,查询未选修任何课程的学生学号。Sno(Student) - Sno (SC)查询未选修任何课程的学生学号和姓名。 (Sno(Student)-Sno(SC)Sno,sname(Student),专门的关系运算,检索选课的学生中没有任何一门课程在84分以下的学生的信息,包括学号、姓名。R1 = Sno(Grade19Gr

4、ade85 (SC Stuedent)Result=Sno,Sname,Sdept(Sage19Grade85(StuedentSC) ),专门的关系运算,找出选修了学号为95002的学生所选修的某一门课的学生的学号。R1 = cno (Sno=95002 (SC) ) R2 = SC R1Result = Sno(R2),SC,R1,专门的关系运算,找出选修了学号为95002的学生所选修的全部课程的学生的学号。R1 = cno (Sno=95002 (SC) ) R2 = Sno, Cno(SC) R1,SC,R1,专门的关系运算,找出至少同时选修了数据库和数据结构课程的学生的学号R1 =C

5、name=数据库 Cname=数据结构 (Course) R2 = Cno (R1)Result = Sno,Cno (SC) R2Result = Sno,Cno (SC) R1,五、关系演算,关系演算以数理逻辑中的谓词演算为基础种类:按谓词变元不同分类元组关系演算:以元组变量作为谓词变元的基本对象元组关系演算语言ALPHA域关系演算:以域变量作为谓词变元的基本对象域关系演算语言QBE,关系演算,E.F.Codd提出INGRES所用的QUEL语言是参照ALPHA语言研制的语句检索语句GET更新语句PUT,HOLD,UPDATE,DELETE,DROP,元组关系演算语言ALPHA,语句格式:G

6、ET工作空间名 (定额)(表达式1):操作条件 DOWN/UP 表达式2,检索操作,语句格式:GET 工作空间名 (表达式1)例1 查询所有被选修的课程号码。GET W (SC.Cno)RANGE SC XGET W (X.Cno)例2 查询所有学生的数据。GET W (Student),简单检索,语句格式:GET工作空间名(表达式1):操作条件例3 查询信息系(IS)中年龄小于20岁的学生的学号和年龄。GET W (Student.Sno,Student.Sage): Student.Sdept=IS Student.Sage20 RANGE Student XGET W (X.Sno,X.

7、Sage): X.Sdept=IS X.Sage20,限定检索,语句格式:GET工作空间名(表达式1):操作条件 DOWN/UP 表达式2例4 查询计算机科学系(CS)学生的学号、年龄,结果按年龄降序排序。GET W (Student.Sno,Student.Sage):Student.Sdept=CS DOWN Student.Sage,带排序的检索,语句格式:GET 工作空间名(定额)(表达式1) :操作条件 DOWN/UP 表达式2 例5 取出一个信息系学生的学号。GET W (1) (Student.Sno):Student.Sdept=IS例6 查询信息系年龄最大的三个学生的学号及其

8、年龄,结果按年龄降序排序。GET W (3) (Student.Sno,Student.Sage): Student.Sdept=IS DOWN Student.Sage,带定额的检索,元组变量的含义表示可以在某一关系范围内变化(也称为范围变量Range Variable)元组变量的用途简化关系名:设一个较短名字的元组变量来代替较长的关系名。操作条件中使用量词时必须用元组变量。定义元组变量格式: RANGE 关系名 变量名一个关系可以设多个元组变量,用元组变量的检索,例8 查询选修2号课程的学生名字。RANGE SC XGET W (Student.Sname):X(X.Sno=Student

9、.SnoX.Cno=2),用存在量词的检索,例9 查询选修了直接先行课是6号课程的学生学号。RANGE Course CXGET W (SC.Sno): CX (CX.Cno=SC.CnoCX.Pcno=6)for( SC = SC.first, SC != SC.end, SC+ ) for( CX = Course.first, CX != Course.end, CX+ )if( CX.Cno=SC.CnoCX.Pcno=6 ) print SC.Sno; break;,用存在量词的检索,例10 查询至少选修一门其先行课为5号课程的学生名字。RANGE Course CX SC SCXG

10、ET W (Student.Sname): SCX(SCX.Sno=Student.Sno CX (CX.Cno=SCX.CnoCX.Pcno=5),用存在量词的检索,例11 查询成绩为90分以上的学生名字与课程名字。RANGE SC SCXGET W (Student.Sname,Course.Cname): SCX (SCX.Grade90SCX.Sno=Student.SnoCourse.Cno=SCX.Cno),用存在量词的检索,Student Course,例12 查询不选1号课程的学生名字。RANGE SC SCXGET W (Student.Sname): SCX(SCX.Sno

11、Student.SnoSCX.Cno1),用全称量词的检索,例13 查询选修了全部课程的学生姓名。 RANGE Course CX SC SCX GET W (Student.Sname): CXSCX(SCX.Sno=Student.Sno SCX.Cno=CX.Cno),用两种量词的检索,例14 查询最少选修了95002学生所选课程的学生学号。 RANGE Couse CX SC SCX SC SCY GET W (Student.Sno): CX(SCX(SCX.Sno=95002SCX.Cno=CX.Cno) SCY(SCY.Sno=Student.SnoSCY.Cno= CX.Cno

12、),用两种量词的检索,常用集函数(Aggregation function)或内部函数(Build-in function),集函数,例15 查询学生所在系的数目。GET W ( COUNT(Student.Sdept) )COUNT函数在计数时会自动排除重复值。例16 查询信息系学生的平均年龄GET W (AVG(Student.Sage): Student.Sdept=IS ),集函数,修改操作步骤用HOLD语句将要修改的元组从数据库中读到工作空间中HOLD 工作空间名(表达式1):操作条件 HOLD语句是带上并发控制的GET语句 用宿主语言修改工作空间中元组的属性用UPDATE语句将修改后的元组送回数据库中UPDATE 工作空间名,修改操作,例17把95007学生从计算机科学系转到信息系。 HOLD W (Student.Sno, Student.Sdetp): Student.Sno=95007(从Student关系中读出95007学生的数据) MOVE IS TO W.Sdept (用宿主语言进行修改) UPDATE W (把修改后的元组送回Student关系),

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号