宁波工程学院
数据库理论与技术课程实验报告
学院: 电子与信息工程学院 专业: 计算机科学与技术 年级: 实验时间:
组名: 组长:
组员姓名:
指导教师签字: 成绩:
实验三、SQL-数据查询语言
一、实验目的和要求
1、实验目的:深入理解连接查询和嵌套查询的语句格式、执行过程,掌握它们的使用方法;理解数据更新语言INSERT、UPDATE、DELETE语句的格式和作用,掌握它们的使用方法和应用范围;理解视图的概念,掌握其定义方法和应用方法。
2、实验要求:在每次实验前,学生必须根据实验指导书设计出实验方案(程序和实验步骤);在实验过程中要求独立进行程序调试和排错,学会使用在线帮助来解决实验中遇到的问题,同时运用理论的知识来分析问题和解决问题,记录下实验过程和结果。上机结束后写出实验报告,并对实验过程进行分析和总结。
二、实验内容与步骤
1、在SQL SERVER 2005上附加数据库jxgl和ReadBook。 2、在jxgl中完成下列查询
jxgl数据库中表及表中字段说明:
Students(sno, sname,class,ssex,bday,bplace,mgrade,photo,sfzh,zxf)
该表是学生基本信息表 其中:sno-学号,sname-姓名,class-班级,ssex-性别,
bday-出生日期,bplace-籍贯,mgrade-入学成绩,photo-照片,sfzh-身份证号码, zxf-总学分
Course(cno,cname,cpno,credit)
该表是课程情况表 其中:cno-课程号,cname-课程名称,cpno-先修课程号,credit
1
—学分
SC(term,sno,cno,grade,point)
该表是学生选课成绩表 其中:term-学期,sno-学号,cno-课程号,grade-成绩,
point-绩点
TC(term,class,cno,tno,period)
该表是教师上课情况表 其中:list—序号,term-学期;class-班级;cno-课程号;tno
-教师编号; period-学时
Teachers (tno,tname,ps,wday,dept,pay,marry,resume)
该表是教师基本情况表:其中tno-教师编号;tname-教师姓名;ps-职称;
wday-入校日期;dept-系别;pay-工资;marry-婚否;resume-简历
(1)查询选修课程学生的学号、姓名、所选课程号、课程名称以及所取得的成绩 (2)查询每一门课程及其先修课程,查询结果中显示课程号、课程名和先修课程名 (3)查询和“刘涛”在一个班级的学生的信息 思考:该查询可用几种方法实现?
(4)查询选修了?计算机基础?课的学生的学号、姓名(分别用连接查询和嵌套查询的方法实现)
(5)查询没有选修课程的学生的信息
(6)查询其他班中比“03计算应用1”所有学生入学成绩高的学生的姓名和入学成绩(用两
种方法实现)
(7)查询每个学生超过该门课程平均成绩的学号
(8)查询至少选修了“0311102”学生所选全部课程的学生的学号 (9)查询既选修了“计算机基础”又选修了“C语言基础”的学生的学号
3、在jxgl中完成下列数据更新
(1)向course表添加一个新的元组。
(2)将“0301102”学生所选的“0000002”课程的成绩改为100分,绩点改为2 (3)删除(1)中在course表中添加的记录
(4)统计每门课程的平均成绩并将统计结果存入到jxgl数据库中
思考:如何将students表中班级名 “03计算应用1”改为“03计算机应用1”(可调用函数完
成)
4、查询教师的编号、姓名、上课的课程号、课程名称及班级。将该查询定义为一个视图。
5、在第4题定义的视图中完成下列查询
(1)查询“姚明”所上课程和班级。 (2)统计每一位教师上课的数量
6、[附加题,做了有加分]
2
利用数据库ReadBook完成下列查询及视图设计。(在SQL SERVER2005上附加数据库ReadBook)
(1)设计一个查询,要求用连接和嵌套两种方式完成。 (2)设计一个查询,要求用外连接的方式完成。
(3)设计一个查询,要求用带exists或not exists相关子查询完成 (4)设计一个集合查询
(5)设计一个带复合条件连接的查询
(6)设计一个视图,并在该视图中完成添加、修改、删除数据的操作。
(7)设计一个视图,并在该视图完成两个统计:a.每位读者以及他的借书数量,按借书数量作降序排列 b.每本书以及被借出的次数,按借出次数作降序排列。
注意在实验报告中说明查询的目的和对应的语句。
三、实验过程及数据记录
步骤2
(1)查询选修课程学生的学号、姓名、所选课程号、课程名称以及所取得的成绩
查询结果如下:
查询结果如下:
(1)查询每一门课程及其先修课程,查询结果中显示课程号、课程名和先修课程名
3
(3)查询和“刘涛”在一个班级的学生的信息
思考:该查询可用几种方法实现?1.嵌套连接2.多表连接 查询结果如下: 1.嵌套连接
2.多表连接
4
(4)查询选修了?计算机基础?课的学生的学号、姓名(分别用连接查询和嵌套查询的方法 实现)
查询结果如下:
1.连接查询 2.嵌套查询
(5)查询没有选修课程的学生的信息 查询结果如下:
select * from Students where sno not in (select sno from sc)
5
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据库实验3在线全文阅读。
相关推荐: