数据库实验报告-9_第1页
数据库实验报告-9_第2页
数据库实验报告-9_第3页
数据库实验报告-9_第4页
数据库实验报告-9_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGE4郑州轻工业学院实验报告课程:数据库管理院系:班级:学号:姓名:日期:实验名称数据表综合查询;创建及管理视图姓名指导教师专业、班级学号实验时间实验地点实验目的实验(六)目的:1.掌握SELECT语句的基本语法和查询条件的表示方法2.掌握查询条件种类和表示方法3.掌握连接查询的表示及运用4.掌握嵌套查询的表示及运用5.了解集合查询的表示及运用实验(七)目的1.熟悉视图特点2.熟悉视图与数据表的关系3.熟悉使用SQLServer2008创建及管理视图实验条件1.实验室电脑安装有SQLSerever2008或2005的专业数据库软件2.实验指导书已经附带了必要的数据库的信息3.数据库专业教材4.实验者已经会使用数据库软件,对一些简单的操作能够独立完成5.实验者已经了解SQL语句,掌握了书上关于查询和视图有关的SQL语句,并能够独立的编写.实验内容与步骤首先在SQLSevere2008上附加上student数据库和学生成绩管理系统实验(六)查询名字中第2个字为’向’的学生姓名和学号及选修的课程名,课程号步骤:选中student数据库,点击新建查询,编辑代码:selectsname,sno,cno,cnamefromstudent,sc,coursewheresnamelike‘_向%’andstudent.sno=sc.snoando=o列出选修了‘数学’或者‘大学英语’的学生学号,姓名,所在院系,选修课程及成绩步骤:选中student数据库,点击新建查询,编辑代码:selectsname,student.sno,cname,grade,sdeptfromstudent,sc,coursewherecnamein(‘数学’,‘大学英语’)andstudent.sno=sc.snoando=o查询缺少成绩的所有学生的详细情况步骤:选中student数据库,点击新建查询,编辑代码:select*fromstudentwheresno=(selectsnofromscwheregradeisnull)查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息步骤:选中student数据库,点击新建查询,编辑代码:select*fromstudentwheresage<>(selectsagefromstudentwheresname=‘张力’)按照“学号,姓名,所在院系,已修学分”的顺序列出学生学分的获得情况步骤:选中student数据库,点击新建查询,编辑代码:Selectstudent.sno,sname,cnamefromstudent,sc,coursewheregrade>60andstudent.sno=sc.snoando=ogroupbystudent.sno,sname,sdept,ccredit查找选修了至少一门和张力选修课一样的学生的学号,姓名及课程号步骤:选中student数据库,点击新建查询,编辑代码:Selectstudent.sno,sname,ofromstudent,sc,coursewherecnoin(selectcnofromscwheresnoin(selectsnofromstudentwheresname=‘张力’))andstudent.sno=sc.sno查询只被一名学生选修的课程的课程号,课程名.步骤:选中student数据库,点击新建查询,编辑代码:Selectcno,cnamefromcourseWherecnoin(selectcnofromscgroupbycnohavingcount(*)=1)使用嵌套语句查询选修了“数据结构”课程的学生学号和姓名步骤:选中student数据库,点击新建查询,编辑代码:Selectsno,snamefromstudentWheresnoin(selectsnofromscwherecno=(selectcnofromcoursewherecourse=‘数据结构’))使用嵌套语句查询其他系中年龄小于CS系的某个学生的学生姓名,年龄和院系步骤:选中student数据库,点击新建查询,编辑代码:Selectsname,sage,sdeptfromstudentWheresage<(selectsagefromstudentwheresdept=‘CS’)andsdept<>‘CS’使用ANL,ALL查询,列出其他系中比WM系所有学生年龄小的学生的姓名步骤:选中student数据库,点击新建查询,编辑代码:Selectsname,sage,sdeptfromstudentWheresage<all(selectsagefromstudentwheresdept=‘WM’)andsdept<>‘WM’分别使用连接查询和嵌套查询,列出与张力在一个系的学生的信息步骤:选中student数据库,点击新建查询,编辑代码:嵌套查询的语句为:Selectsname,sno,ssex,sage,sdeptfromstudentWheresdept=(selectsdeptfromstudentwheresname='张力')连接查询的语句为:Select*fromstudenta,studentbWherea.sname='张力'anda.sdept=b.sdept使用集合查询列出CS系的学生以及性别为女的学生学号以及姓名步骤:选中student数据库,点击新建查询,编辑代码:Selectsno,snamefromstudentWheresdept=‘CS’Unionselectsno,snamefromstudentWheressex=‘女’13使用集合查询列出CS系的学生与年龄不大于19岁的学生的交集,差集步骤:选中student数据库,点击新建查询,编辑代码:查找交集:Select*fromstudentwheresdept=‘CS’IntersectSelect*fromstudentwheresage<=19查找差集:Select*fromstudentwheresdept=‘CS’ExceptSelect*fromstudentwheresage<=1914使用集合查询列出选修课程1的学生学号集合与选修课程2的学生学号集合的交际步骤:选中student数据库,点击新建查询,编辑代码:查找交集:Selectsnofromscwherecno=‘1’IntersectSelectsnofromscwherecno=‘2’实验(七)1.以实验3数据库为基础数据,利用对象资源管理器创建一下视图:1)创建所有学生学号,姓名及年龄的信息视图stu_info步骤:选中student数据库,点击新建查询,编辑代码:Createviewstu_infoAsSelect*fromstudent2)创建IS系学生基本信息视图stu_cs步骤:选中student数据库,点击新建查询,编辑代码:Createviewstu_csAsSelect*fromstudentWheresdept=‘IS’3)创建选修课成绩在80分以上的学生的信息视图stu-80,包括学生基本情况及成绩步骤:选中student数据库,点击新建查询,编辑代码:Createviewstu_80AsSelect*fromstudent,scWheregrade>=802..以实验3数据库为基础数据,请使用T-SQL语句完成以下内容,并将SQL语句卸载实验报告中1)创建stu_CS视图,包括CS系的所有学生的基本信息步骤:选中student数据库,点击新建查询,编辑代码:Createviewstu_csAsSelect*fromstudentWheresdept=‘cs’2)创建CS_age视图,包括CS系各学生的学号,姓名及年龄,要求进行修改和插入操作时仍保证视图只有CS系学生步骤:选中student数据库,点击新建查询,编辑代码:CreateviewCS_ageAsSelect*fromstudentWheresdept=‘CS’Withcheckoption3)创建CS_age_20视图包括CS系学生年龄在20岁以上的基本信息;并保证对视图文本的修改都符合年龄大于20这个条件步骤:选中student数据库,点击新建查询,编辑代码:CreateviewCS_age_20AsSelect*fromstudentWheresage>20andsdept=‘CS’Withcheckoption4)建立IS系选修2号课程的学生视图stu_is-c2步骤:选中student数据库,点击新建查询,编辑代码:Createviewstu_is_c2AsSelect*fromstudent,scWhereo=‘2’andsdept=‘IS’andstudent.sno=o5)创建一个视图stu_cg,用于查看学生学号,姓名,课程和成绩信息,并用WITHENCRYPTION加密步骤:选中student数据库,点击新建查询,编辑代码:Createviewstu_cgWITHENCRYPTIONAsSelectstudent.sno,sname,cname,gradefromstudent,sc,courseWherestudent.sno=sc.snoando=o6)创建一个视图stu_rs,用于查看选修各门课程的学生的人数步骤:选中student数据库,点击新建查询,编辑代码:Createviewstu_rsAsSelectcno,count(*)fromscGroupbycno7)建立一个显示各系学生平均年龄的视图stu_avgage步骤:选中student数据库,点击新建查询,编辑代码:Createviewstu_avgage(院系,平均)AsSelectsdept,avg(sage)fromstudentGroupbysdept8)向CS系学生视图stu_CS中插入一个新的学生记录,学号为200015026,姓名为赵红平,性别为男,年龄21岁步骤:选中student数据库,点击新建查询,编辑代码:Insertintostu_CSValues(‘2000515026’,‘赵红平’,‘男’,21)9)利用视图stu_CS修改学号为200515001的学生姓名为赵青青步骤:选中student数据库,点击新建查询,编辑代码:Updatestu_csSetsname=‘赵青青’Wheresno=‘200515001’10)利用视图stu_CS删除CS系学号为200015003的记录步骤:选中student数据库,点击新建查询,编辑代码:DeleteFromstu_csWheresno=‘200015003’11)修改视图stu_CS为只包含CS系学生的学号,姓名和性别步骤:选中student数据库,点击新建查询,编辑代码:DeleteAlterviewstu_csSelectsno,sname,ssexfromstudent12)利用视图将学号为200015023的学生记录重新设置:名字为王婧婧,系别为IS,年龄增加一岁步骤:选中student数据库,点击新建查询,编辑代码:Updatestu_csSetsname=‘王青青’,sdept=‘IS’,sage=sage+1Wheresno=‘200015023’13)利用视图stu_CS查看CS系中年龄大于该系平均年龄的学生的基本信息步骤:选中student数据库,点击新建查询,编辑代码:Select*fromstu_csWheresage>=(selectavg(sage)fromstu_cs)14)删除视图CS_age_20步骤:选中student数据库,点击新建查询,编辑代码:DropviewCS_age_20实验结果及分析实验(六):1.无法运行,显示“cno”和“sno”,不明确.经分析可知,student和sc表中都有sno;sc和course表中都有cno,所有造成了只带不明,因此添加上表的名字“selectsname,student.sno,o,cname”。2.代码运行正常3.命令没有错,但是无法执行,显示“子查询返回的值不止一个。当子查询跟随在=、!=<<=、>、>=之后,或子查询用作表达式时,这种情况是不允许的”.经分析嵌套查询,应该是in字句,不能和不而值连用,修改为“wheresnoin(selectsnofromscwheregradeisnull)”4.代码运行正常5.代码错误:'‘'附近有语法错误。查看数据库教材的114页,发现as否面没有引号,修改为as已修学分,这样就执行出来结果了6.代码运行正常7.代码运行正常8.代码运行正常9.执行出错:子查询返回的值不止一个。当子查询跟随在=、!=、<、<=、>、>=之后,或子查询用作表达式时,这种情况是不允许的。缺少any,修改为Wheresage<any(selectsagefromstudentwheresdept=‘CS’)andsdept<>‘CS’10.代码运行正常11.代码运行正确12消息102,级别15,状态1,第2行,'‘'附近有语法错误。消息102,级别15,状态1,第4行,'‘'附近有语法错误。最后发现原来是汉字的单引号错了.13命令执行正常14命令执行正常实验七11).代码运行正常.代码运行正常3)程序正确2.1)结果正确2)Withcheckoption语句是为了满足更新数据是满足原来的定义的,参照数据库教材P1193)代码运行正常4)

温馨提示

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

评论

0/150

提交评论