您好,欢迎访问三七文档
数据库技术I(2012年秋)数据库技术I实验报告系别:计算机科学与技术班级:计11-2班姓名:XXX学号:11101020231序号:成绩:评语:指导教师签字:日期:《数据库技术I》实验报告一、实验题目掌握SQLServer2005的启动及SQLServerManagementStudio集成管理器的使用。熟悉如何在SQLServer2005环境下如何建立数据库和基本表、视图、索引。了解SQL查询编辑器的启动,学会如何在SQL查询编辑器中调试及执行SQL语句二、实验环境及要求SQLServer2005SQLServerManagementStudio三、实验步骤及结果1.在SQLServer2005下创建一个数据库S,数据库下新建3个表,s,c,sc,分别存放学生基本信息,课程基本信息,成绩信息。s表SnoSnameSsexSageSdept200215121李勇男20CS200215122刘晨女19IS200215123王敏女18MA200215125张立男19ISc表CnoCnameCpnoCcredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27C语言64sc表SnoCnoGrade200215121192200215121285200215121388200215122290200215122380各表的创建截图s表:c表:sc表:2.按照要求完成各项查询要求。1)查询每个学生的学号、姓名、选修的课程名及成绩。代码selectSno,Sname,Cname,Gradefroms,c,scwheres.Sno=sc.Snoandsc.Cno=c.Cno2)查询与“刘晨”在同一个系学习的学生信息。代码select*fromswhereSdept=(selectSdeptfromswhereSname=’刘晨’)3)求每门课程的选课人数。并按选课人数的降序排列。代码selectsc.Cno,COUNT(Sno)fromscGROUPBYCnoORDERBYCOUNT(Sno)DESC;4)对每一个系,求学生的平均年龄,并把结果存入一个新的表avgAge中。在数据库中先新建一个表avgAge代码InsertIntoavgAge(Sdept,Savg)SelectSdept,AVG(Sage)FromSGroupbySdept;5)将学生的学号及他的平均成绩定义为一个视图SG,并在SG视图中查询平均成绩在90分以上的学生学号和平均成绩。创建视图代码CREATEviewSG(Sno,Gavg)ASSELECTSno,AVG(Grade)FROMSCGROUPBYSno;查询代码select*fromSGwhereGavg=90;因为数据是修改之前的,所以没有平均成绩大于90的6)对每个同学求出他所获得最高成绩的信息。结果显示:学号、课程名、最高成绩。代码SelectSno,Cno,GradefromSCs1whereGrade=(SelectMAX(Grade)fromSCs2wheres2.Sno=s1.Sno);7)将计算机系的所有同学的数据库课程成绩提高5分。代码UpdateSCSetGrade=Grade+5whereSC.Cno='1'and'CS'=(SelectSdeptFromSwhereSC.Sno=S.Sno);四、实验中的问题及解决方法在创建表的时候没有设置主键,输入数据运行时才检查到错误,但是列的唯一行不会设置,再查找资料之后才知道,唯一是默认的。在进行查询平均年龄时没有注意到新建表,而且再将查询结果写入表的时候,不知道什么原因查询结果出现多次,再查找资料后,改为先查询结果再将结果写入表中就没有错误了。在做第七个实验的时候由于数据库的更新很慢,下好代码运行过之后,表中数据没有任何变化,再请教过来时之后才知道没有做错,继续进行试验。五、实验总结在学习了数据库课程9周时间,我们做了第一个实验。通过这次实验,我对学习的一些数据库的知识有了更深入的了解,在经过编码写程序之后,我也会去对学过的数据库的建立与查询有了初步的了解和应用,我觉得我所学习的知识还远远不够,需要进一步认真学习,勤加练习多做多用,使得自己能够熟练应用学到的知识。
本文标题:数据库实验报告
链接地址:https://www.777doc.com/doc-3974732 .html