大学数据库期末考试试卷

巡山小妖精
580次浏览
2020年09月06日 18:54
最佳经验
本文由作者推荐

护垫和卫生巾的区别-论据大全


桂 林 电 子 科 技 大 学 试 卷
2017-2018 学年第 1 学期 课号 BT123268
课程名称 数据库原理及应用(A卷 闭 卷)
适用班级(或年级、专业)16级计算机系所有专业
考试时间 60 分钟 班级 学号 姓名
题 号
满 分
得 分
评卷人







































十 成绩



一、考试题目
1、用可视化的操作方式和sql语句创建一个学生数据库(student)。
2、用可视化的操作方式和sql语句创建三张表:
学生基本信息表(studentinfo),课程信息表(course),成绩表(grade)
(1) 学生基本信息表(studentinfo)
字段
学号(Sno)
姓名(Sname)
性别(Ssex)
出生日期(Sbirthday)
联系电话(Stel)
入学日期(Stime)
(2) 课程信息表(course)
字段
课程编号(Cno)
课程名称(Cname)
课程学分(Credit)
(3) 成绩表(grade)
字段
课程编号(Cno)
学号(Sno)
成绩(grade)
数据类型
int
Char(10)
int
备注
(学号,课程编号)
作为成绩表的主键
成绩输入应在0-100
之间
数据类型
int
Char(50)
Char(2)
备注
主键
非空值
非空值
数据类型
Char(10)
Char(10)
Char(2)
datetime
Char(11)
smalldatetime
备注
主键
非空值
只能输入“男”或
“女”,默认值为“男”
非空值


3、分别给以上三张表添加5条记录。
(1)学生基本信息表(studentinfo)

Sno Sname Ssex

1212010101
张小溪 男

1213010101
李大男 男

1214010101
陈茜茜 女

考生本人 考生本人考生本人

学号 姓名 性别

Sbirthday Stel Stime
2012-09-01
2013-09-01
2014-09-01
考生本人
入学时间
1991-01-01 null
1992-01-01 null
1993-01-01 null
考生本人
出生日期
null


(2) 课程信息表(course)

Cno Cname Credit

001 3
数据库原理

002 7
C语言

003
网页设计与制作
3

004 2
体育

(3) 成绩表(grade)

Cno Sno grade

001 1212010101 80

001 90
考生本人学号

003 1212010101 75

003 1213010101 92

4、利用sql语句实现对任意一张表的增加、删除、修改、查询操作。
(1)查询student表中所有姓“李”的同学记录信息。
select * from studentinfo
where Sname like '李%'
(2)查询年龄大于20岁的男学生的学号和姓名。
select Sno as 学号,Sname as 姓名
from studentinfo
where Ssex='男' and (datediff(year,Sbirthday,getdate()))>=20
(3)在grade中检索成绩为空值的学生学号和课程号。
select Sno as 学号,Cno as 课程号
from grade
where grade=null
(4)查询既选修“001”课程,又选修“003”课程的所有学生姓名。
select as 姓名
from studentinfo a,grade b
where = and ='001'and ='003'
(5)查询选修“数据库原理”课程的所有学生姓名。
select as 姓名
from studentinfo a,course b,grade c
where = and = and Cname='数据库原理'
(6)查询每门课程成绩最高的同学学号。
select Sno as 学号, as 成绩
from grade c,course b
WHERE grade=(select max(grade) FROM grade c WHERE =)
(7)查询“数据库原理”课程的平均成绩。
select avg(grade)as 平均成绩
FROM course b,grade c
WHERE = and ='数据库原理'
(8)在基本表grade中修改“001”课程的成绩,让每位同学的成绩都加5分。
update grade


set grade=grade+5
WHERE Cno='001'
(9)统计每门课程的学生选修人数,查询结果按人数降序排列。
select as 课程编号,count(distinct )as 选课人数
from grade
join course on =
group by
order by 选课人数 desc
或者
select as 课程编号,count(DISTINCT ) as 选课人数
from grade c
group by
*having *
order by 选课人数 desc
(10)查询出有二门以上(含两门)课程不及格的学生姓名和学号。
select as 学号, as 姓名
from studentinfo a,grade b,course c
where = and = and grade<60
group by ,Sname
having count()>=2
5、创建视图,视图内容包括学号,姓名,性别,课程编号,课程名称,成绩。
create view view_2
as
select as 学号, as 姓名, as 性别, as 课程编号, as
课程名称, as 成绩
from studentinfo a,course b,grade c
where = and =
6、做完以上操作将所有sql编程语句和数据库文件上传至教师端。
二、考试要求
1、 学生在指定时间内做题,为了防止数据丢失,在计算机最后一个盘中新建一个文
件夹,以自己的 “学号_姓名”的方式命名,将所有编写程序和数据保存到其中。
2、 不可以带书,禁止使用U盘、 移动硬盘、存储卡、手机等存储设备,也不允许使
用网络,一经发现,按作弊处理,后果自负。

复活节是哪天-校庆感言


广东松山职业技术学院-机械厂参观实习报告


儿童节的习俗-五字春联


拟人句和比喻句-工作小结


河南高考成绩查询入口-绿化工程承包合同


爱的教育作文-国庆节的活动


湖南高考报名系统-感恩父母的话


三年级日记-化妆品促销方案