数据库系统原理与设计(考试重点).doc_第1页
数据库系统原理与设计(考试重点).doc_第2页
数据库系统原理与设计(考试重点).doc_第3页
数据库系统原理与设计(考试重点).doc_第4页
数据库系统原理与设计(考试重点).doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2.7 答案: (1) (2)studentNameBirthday李小勇1990-12-21王红1992-04-26studentNocourseNotermscore0701001CN02807081850701001CS01207082880701001CS01508091920701008AC00107081760701008CN02807081860701008CS01207082930701008CS01508091960802005AC00109101880802005CS01208092900802005CS0150910187 2.8 答案图1是学生成绩管理数据库ScoreDB的模式导航图,该关系数据库由4个关系组成,带下划线的属性集为关系的主码,斜体属性为关系的外码。请用关系代数表达(1)(9),用SQL语言表达(10)(14)。班级ClassclassNo班级编号className班级名称institute所属学院grade年级classNum班级人数学生 StudentstudentNo学号studentName姓名sex性别birthday出生日期ative籍贯nation民族classNo所属班级 成绩ScorestudentNo学号courseNo课程号term开课学期score成绩 课程CoursecourseNo课程号courseName课程名creditHour学分courseHour课时数priorCourse先修课程图1(1)查找籍贯为“上海”的全体学生(1)native=上海(Student)(2)查找1992年元旦以后出生的全体男同学(2) year(birthday)=1992 sex=男(Student)(3)查找信息学院非汉族同学的学号、姓名、性别及民族(3)studentNo,studnetName,sex,nation(institute=信息学院 nation!=汉族(StudentClass)(4)查找08-09学年第二学期(08092)开出课程的编号、名称和学分(4) courseNo,courseName,creditHour(term=08092(CourseScore)(5)查 找选修了“操作系统”的学生学号、成绩及姓名(5) studentNo,score,studentName(courseName=操作系统(StudentCourseScore)(6)查找班级名称为“会计学08(3)班”的学生在07-08学年第一学期(07081)选课情况,要求显示学生姓名、课程号、课程名和成绩(6) studentName,courseNo,courseName,score(className=会计学08(3)班 term=07081(ClassStudnetCourseScor e)(7)查找至少选修了一门其直接先修课编号为CS012的课程的学生学号和姓名(7) studentName,studentNo(priorcourse=CS012(StudentScoreCourse)(8)查找选修了08-09学年第一学期(08091)开出的全部课程的学生学号和姓名(8) studentNo,studentName(StudnetScore)courseNo(term=08091(Score)(9)查找至少选修了学号为0703010的学生所选课程的学生学号和姓名(9) studentNo,studentName(StudentScore) (courseNo(studentNo=0703010(Score)(10)在成绩表Score表中查询成绩在6080分之间的学生学号、课程号和相应成绩。Select studentNo,courseNo,score from Score where score between 60 and 90(11)在成绩Score表中查询选修了001、005或002课程的学生学号、课程号和相应成绩。Select studentNo,courseNo,score from Score where courseNo IN(001,005,002)(12)在学生表Student中查询所有姓王且全名为3个汉字的学生学号和姓名。Select studentNo,studentName from Student where studentName LIKE 王_ _(13)查询所选修课程的成绩大于所有002号课程成绩的同学学号及相应课程的课程号和成绩。Select studentNo,courseNo,score from Score where scoreall(select score from Score where courseNo=002)(14)查询学号为0800005同学所选修课程的总学分Select sum(creditHour) 总学分From score a,Course bWhere studentNo=0800005 and a.courseNo=b.courseNo(15)查询同时选修了001号和005号课程的同学的学号和姓名Select a.studentNo,studentNameFrom Student a,Score bWhere a.studentNo=b.studnetNo and courseNo=001IntersectSelect a.studnetNo,studnetNameFrom Student a,Score bWhere a.studentNo=b.studnetNo and courseNo=005或Select a.studentNo,studentNameFrom Student a,Score bWhere a.studentNo=b.studentNo and courseNo=001And a.studentNo In(select studentNo from Score where courseNo=005)(16)删除学号为0800001同学的选课记录Delete from Score where studentNo=0800001(17)删除平均分在6070之间的同学选课记录Delete from Score where studentNo IN(Select studentNo from Score Group by studentNo Having avg(score) between 60 and 70)(18)将一个新学生元组(0700006, 李相东, 男, 1991-10-21 00:00, 云南, 撒呢族, CS0701)插入到学生表Student中。INSERT INTO Student VALUES ( 0700006, 李相东, 男, 1991-10-21 00:00, 云南, 撒呢族, CS0701 )(19) 将刘方晨同学选修的005课程的成绩改为88分。UPDATE Score SET score=88WHERE courseNo=005 AND studentNo IN ( SELECT studentNo FROM Student WHERE studentName=刘方晨2.9答案见书上另外的查询:查找会计学院全体同学的学号、姓名、籍贯、班级编号和所在班级名称。 分别用关系代数表达式表达,然后用SQL语言来表达studentNo,studentName,native,classNo,className(institute=会计学院(Class)Student)SELECT studentNo, studentName, native, Student.classNo, classNameFROM Student, ClassWHERE Student.classNo=Class.classNo AND institute=会计学院一个子查询块嵌入只能放到另一个查询块的WHERE子句或HAVING子句中,如果要将子查询块放到From子句后,那么必须给子查询块的结果重新命名。Having 子句与Where 子句的区别?HAVING只针对分组的结果进行选择,仅输出满足条件的组。该子句必须与GROUP BY子句配合使用。而Where子句只针对元组进行选择。或者这样回答:(1) WHERE子句:作用于整个查询对象,对元组进行过滤。(2) HAVING子句:仅作用于分组,对分组进行过滤。n SQL允许多层嵌套子查询,但在子查询中,不允许使用ORDER BY子句,该子句仅用于最后的输出结果排序n 嵌套查询分为相关子查询和非相关子查询l 非相关子查询指子查询的结果不依赖于上层查询l 相关子查询指当上层查询的元组发生变化时,其子查询必须重新执行下面哪个不是关系数据库管理系统( C )A.SQL Server B MySQL C.EXCEL D.Oracle数据库管理系统的三级结构是:内模式、模式、外模式任何一个关系模型都必须满足哪两种完整性约束? 答:实体完整性和参照完整性。聚合函数可直接用在HAVING子句中,也可用于子查询中,但在WHERE子句中不可以直接使用聚合函数。如下语句是不正确的:SELECT *FROM ScoreWHERE score=max(score)n 视图:简答题(5分) 视图的主要作用是:l 简化用户的操作;l 使用户能以多种角度看待同一数据;l 对重构数据库提供了一定程度的逻辑独立性;l 能够对机密数据提供安全保护;l 适当的利用视图可以更清晰的表达查询。SQL的使用有多种方式,一种是联机交互使用,在这种方式下,操作员通过数据库系统提供的SQ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论