资源描述:
《华南农业大学数据库系统概念实验报告三》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《数据库系统》实验报告三学号姓名实验时间2014-11-26实验名称数据查询实验学时4准备材料1.SQLPlus命令手册2.Oracle数据字典扩展实验1.利用企业管理器的图形界面构造查询语句,并察看查询结果2.利用企业管理器完成视图、索引的创建与使用。3.利用DBMS进行对第三章习题所设计SQL语句的检查(此部分内容不要求在实验室完成,不用写入实验报告。)实验环境Oracle9i(及以上版本)服务器SQLPlus/SQLPlusworksheet客户端实验目的1.掌握使用SQL语句进行数据查询的方法2.掌握视图的创建与使用方法3.观察索引的使用效果实验内容及步骤1.使用Unive
2、rsity数据库的数据库结构和数据(smallRelations即可),完成下列查询:(1)FindthenamesofcoursesinComputersciencedepartmentwhichhave3creditsSELECTtitleFROMcourseWHEREdept_name='Comp.Sci.'ANDcredits=3(2)ForthestudentwithID12345(oranyothervalue),showallcourse_idandtitleofallcoursesregisteredforbythestudent.SELECTcourse_id,t
3、itleFROMtakesNATURALJOINcourseWHEREid=123454.Asabove,butshowthetotalnumberofcreditsforsuchcourses(takenbythatstudent).Don'tdisplaythetot_credsvaluefromthestudenttable,youshoulduseSQLaggregationoncoursestakenbythestudent.SELECTid,SUM(credits)FROMtakesNATURALJOINstudentNATURALJOINcourseWHEREid=1
4、2345GROUPBYid;(3)Asabove,butdisplaythetotalcreditsforeachofthestudents,alongwiththeIDofthestudent;don'tbotheraboutthenameofthestudent.(Don'tbotheraboutstudentswhohavenotregisteredforanycourse,theycanbeomitted)SELECTid,SUM(credits)FROMtakesNATURALJOINstudentNATURALJOINcourseGROUPBYid(4)Findthen
5、amesofallstudentswhohavetakenanyComp.Sci.courseever(thereshouldbenoduplicatenames)SELECTDISTINCTid,NAMEFROMtakesNATURALJOINstudentWHEREcourse_idIN(SELECTcourse_idFROMcourseWHEREdept_name='Comp.Sci.')(5)DisplaytheIDsofallinstructorswhohavenevertaughtacourse(Notesad1)Oracleusesthekeywordminusinp
6、laceofexcept;(2)interpret"taught"as"taughtorisscheduledtoteach")SELECTidFROMinstructorWHEREidNOTIN(SELECTDISTINCTidFROMteaches)(6)Asabove,butdisplaythenamesoftheinstructorsalso,notjusttheIDs.SELECTid,NAMEFROMinstructorWHEREidNOTIN(SELECTDISTINCTidFROMteaches)(7)Findthemaximumandminimumenrollme
7、ntacrossallsections,consideringonlysectionsthathadsomeenrollment,don'tworryaboutthosethathadnostudentstakingthatsectionSELECTmax(enrollment),min(enrollment)from(SELECTsec_id,semester,year,COUNT(DISTINCTid)asenrollmentFROMtakesGROUPBYsec