您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > 大学数据库期末考试试卷
桂林电子科技大学试卷2017-2018学年第1学期课号BT123268课程名称数据库原理及应用(A卷;闭卷)适用班级(或年级、专业)16级计算机系所有专业考试时间60分钟班级学号姓名题号一二三四五六七八九十成绩满分得分评卷人一、考试题目1、用可视化的操作方式和sql语句创建一个学生数据库(student)。2、用可视化的操作方式和sql语句创建三张表:学生基本信息表(studentinfo),课程信息表(course),成绩表(grade)(1)学生基本信息表(studentinfo)字段数据类型备注学号(Sno)Char(10)主键姓名(Sname)Char(10)非空值性别(Ssex)Char(2)只能输入“男”或“女”,默认值为“男”出生日期(Sbirthday)datetime非空值联系电话(Stel)Char(11)入学日期(Stime)smalldatetime(2)课程信息表(course)字段数据类型备注课程编号(Cno)int主键课程名称(Cname)Char(50)非空值课程学分(Credit)Char(2)非空值(3)成绩表(grade)字段数据类型备注课程编号(Cno)int(学号,课程编号)作为成绩表的主键学号(Sno)Char(10)成绩(grade)int成绩输入应在0-100之间3、分别给以上三张表添加5条记录。(1)学生基本信息表(studentinfo)SnoSnameSsexSbirthdayStelStime1212010101张小溪男1991-01-01null2012-09-011213010101李大男男1992-01-01null2013-09-011214010101陈茜茜女1993-01-01null2014-09-01考生本人学号考生本人姓名考生本人性别考生本人出生日期null考生本人入学时间(2)课程信息表(course)(3)成绩表(grade)4、利用sql语句实现对任意一张表的增加、删除、修改、查询操作。(1)查询student表中所有姓“李”的同学记录信息。select*fromstudentinfowhereSnamelike'李%'(2)查询年龄大于20岁的男学生的学号和姓名。selectSnoas学号,Snameas姓名fromstudentinfowhereSsex='男'and(datediff(year,Sbirthday,getdate()))=20(3)在grade中检索成绩为空值的学生学号和课程号。selectSnoas学号,Cnoas课程号fromgradewheregrade=null(4)查询既选修“001”课程,又选修“003”课程的所有学生姓名。selecta.Snameas姓名fromstudentinfoa,gradebwherea.Sno=b.Snoandb.Cno='001'andb.Cno='003'(5)查询选修“数据库原理”课程的所有学生姓名。selecta.Snameas姓名fromstudentinfoa,courseb,gradecwherea.Sno=c.Snoandb.Cno=c.CnoandCname='数据库原理'(6)查询每门课程成绩最高的同学学号。selectSnoas学号,c.gradeas成绩fromgradec,coursebWHEREgrade=(selectmax(grade)FROMgradecWHEREb.Cno=c.Cno)(7)查询“数据库原理”课程的平均成绩。selectavg(grade)as平均成绩FROMcourseb,gradecWHEREb.Cno=c.Cnoandb.Cname='数据库原理'(8)在基本表grade中修改“001”课程的成绩,让每位同学的成绩都加5分。updategradeCnoCnameCredit001数据库原理3002C语言7003网页设计与制作3004体育2CnoSnograde001121201010180001考生本人学号90003121201010175003121301010192setgrade=grade+5WHERECno='001'(9)统计每门课程的学生选修人数,查询结果按人数降序排列。selectcourse.Cnoas课程编号,count(distinctgrade.Sno)as选课人数fromgradejoincourseongrade.Cno=course.Cnogroupbycourse.Cnoorderby选课人数desc或者selectc.Cnoas课程编号,count(DISTINCTc.Sno)as选课人数fromgradecgroupbyc.Cno/*havingb.Cno*/orderby选课人数desc(10)查询出有二门以上(含两门)课程不及格的学生姓名和学号。selecta.Snoas学号,a.Snameas姓名fromstudentinfoa,gradeb,coursecwherea.Sno=b.Snoandb.Cno=c.Cnoandgrade60groupbya.Sno,Snamehavingcount(c.Cno)=25、创建视图,视图内容包括学号,姓名,性别,课程编号,课程名称,成绩。createviewview_2asselecta.Snoas学号,a.Snameas姓名,a.Ssexas性别,b.Cnoas课程编号,b.Cnameas课程名称,c.gradeas成绩fromstudentinfoa,courseb,gradecwherea.Sno=c.Snoandb.Cno=c.Cno6、做完以上操作将所有sql编程语句和数据库文件上传至教师端。二、考试要求1、学生在指定时间内做题,为了防止数据丢失,在计算机最后一个盘中新建一个文件夹,以自己的“学号_姓名”的方式命名,将所有编写程序和数据保存到其中。2、不可以带书,禁止使用U盘、移动硬盘、存储卡、手机等存储设备,也不允许使用网络,一经发现,按作弊处理,后果自负。
本文标题:大学数据库期末考试试卷
链接地址:https://www.777doc.com/doc-7366895 .html