《数据更新实验实验报告(共4页).doc》由会员分享,可在线阅读,更多相关《数据更新实验实验报告(共4页).doc(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上数据库原理及应用实验报告课程名称: 数据库原理及应用 实验项目: 实验三 数据更新实验 计算机号: 系别专业: 班级学号: 学生姓名: 2012年 5 月 30 日一、实验目的熟悉和掌握数据表中数据的插入、修改、删除操作和命令的使用;加深理解表的定义对数据更新的作用。二、实验内容连接实验一创建的数据库,在表S、C、SC上完成以下更新操作:1、将数据分别插入表S、C、SC;(各插入两条记录)2、将表S、C、SC中的数据分别以.SQL文件或.txt文件的形式保存在磁盘上。3、在表S、C、SC上练习数据的插入、修改、删除操作。(比较在表上定义/未定义主码(Primary K
2、ey)或外码(Foreign Key)时的情况)4、将表S、C、SC中的数据全部删除,再利用磁盘上备份的数据来恢复数据。5、 如果要在表SC中插入某个学生的选课信息(如:学号为“”,课程号为“5”,成绩待定),应如何进行?6、求各系学生的平均成绩,并把结果存入数据库Dept_grade表,Dept_grade创建如下;create table Dept_grade( Sdept char(15), Avg_grade smallint)7、将“CS”系全体学生的成绩置零;8、删除“CS”系全体学生的选课记录;9、删除学号为“0251”的相关信息;10、将学号为“0251”的学生的学号修改为“S
3、0251”;11、把平均成绩大于80分的男同学的学号和平均成绩存入另一个表S_GRADE(SNO,AVG_GRADE);12、把选修了课程名为“数据结构”的学生的各门课成绩提高10%;13、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生的成绩提高5%;14、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生成绩删除掉;三、实验环境:操作系统:Windows xp数据库管理系统:SQL SERVER 2008 express版 四、实验步骤及程序编写:1、将数据分别插入表S、C、SC;(各插入两条记录)insert into svalues(0257,张一,男,25,CS), (
4、0258,张二,男,23,IS)insert into cvalues(7,web编程基础,3,5), (8,计算机导论,4,3) insert into scvalues(0257,7,56) , (0258,8,96) 2、将表S、C、SC中的数据分别以.SQL文件或.txt文件的形式保存在磁盘上。3、在表S、C、SC上练习数据的插入、修改、删除操作。(比较在表上定义/未定义主码(Primary Key)或外码(Foreign Key)时的情况)4、将表S、C、SC中的数据全部删除,再利用磁盘上备份的数据来恢复数据。5、 如果要在表SC中插入某个学生的选课信息(如:学号为“”,课程号为“5
5、”,成绩待定),应如何进行?insert into sc(sno,cno,grade)values(,5,null)6、求各系学生的平均成绩,并把结果存入数据库Dept_grade表,Dept_grade创建如下;create table Dept_grade( Sdept char(15), Avg_grade smallint)insert into Dept_gradeselect sdept,AVG(grade)from sc,swhere sc.sno=s.snogroup by sdept7、将“CS”系全体学生的成绩置零;update scset grade=0where sno
6、 in(select snofrom swhere sdept=cs)8、删除“CS”系全体学生的选课记录;delete from scwhere sno in(select snofrom swhere sdept=cs)9、删除学号为“0251”的相关信息;deletefrom swhere sno=025110、将学号为“0251”的学生的学号修改为“S0251”;update sset sno=s0251where sno=025111、把平均成绩大于分的男同学的学号和平均成绩存入另一个表S_GRADE(SNO,AVG_GRADE);create table S_GRADE(SNO c
7、har(10),AVG_GRADE float)insert into S_GRADEselect sno,AVG(grade)from scwhere sno in(select snofrom swhere ssex=男)group by snohaving AVG(grade)8012、把选修了课程名为“数据结构”的学生的各门课成绩提高%;update scset grade=grade*1.1where sno in(select snofrom sc,cwhere o=o and cname=数据结构)13、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生的成绩提高%;upd
8、ate scset grade=grade*1.05where grade (select AVG(grade)from scwhere cno=2group by cno)14、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生成绩删除掉;delete from scwhere cno=2and grade (select AVG(grade)from scwhere cno=2group by cno) 五、程序调度及实验总结: 通过这次实验我掌握了数据表中的数据插入、修改、删除的实用。加深理解了表的定义对数据更新的作用。我学会了嵌套查询和数据更新操作,感觉挺有意思的,对以后的学习有很大的帮助。六、教师评语或成绩:专心-专注-专业