当前位置:首页 > 数据库原理习题(2015-2016-1)
order by 课程号
(6)统计每门课程的学生选修人数(超过10人的课程才统计)。要求显示课程号和人数,查询结果按人数降序排列。
Select 课程号 ,count(学号) 人数 from 选课
group by课程号 having count(*)>10 order by 人数 desc (7) 检索所有姓“李”的学生的姓名和年龄
Select 学生姓名,年龄 from 学生 where 学生姓名 like ‘李%’ (8)求男生的最高成绩
Select max(成绩) from 选课 where 学号 in (select 学号 from 学生 Where 性别=’男’)
3、基于系、班、学生、课程和成绩五张表,完成下列操作 1)用SQL命令创建基本表结构 2)用alter命令修改表结构:
(1)在学生表中增加一个“联系电话”字段。 (2)增加约束:“学分” 只能取{1,2,3,4}。 (3)增加约束:学分的缺省值为3 。
(4)增加约束:学生表和成绩表的“学号”前两位为 “20”,第三位与第四位
必须为数字。
(5)删除系表中系表中系名称的唯一性约束。 (6)删除学生表中的“联系电话”字段。 (7)为SC表中的Sno字段增加外码约束。 (8)修改班级表中班级名称的数据类型为char(5) 3)数据操纵语言
(1)向Student表插入下面5单条记录
2012108001 张三 男 20121080 17
(2)向Student表插入一条记录
学号:2013108406 姓名:李新 性别:男 班级:与20131080在同一班 年龄:与2013108005的年龄相同
(3)学号为2013108005的学生,选修了所有的课程,每门功课都还没有成绩,
请将该同学的选课记录插入到选课表中。
(4)为所有学生选修数据库原理课程,其成绩为NULL。
(5)将student表中学号为2013108002的记录年龄更新29,班级编码更新为2013软本
(6)将student表中学号为2013108003的记录年龄更新为学号为2013108004的年龄减1,性别更新成与2013108005的性别相同
(7)批量更新:将student表中,所有年龄大于18岁的男同学的班级编号更改成2013软本,年龄更新成20岁
(8)带子查询的更新:将SC表中,学号在Student中出现过并且考试成绩为空的考试成绩更新为60。
(9)删除student中,学号为2013108002的记录 (10)批量删除: 删除SC中,学号为2013108004的记录
(11)带子查询的删除:删除Student表中存在,但是在SC表中不存在选课记录的学生。 4)数据查询语言
(1)查询全体学生的全部信息,并为学生表命名别名
(2)查全体学生的学号、姓名与出生年份,并为年份加上标题(别名) (3)查询年龄在20~23岁的学生信息(要求至少使用两种方式完成查询) (4)查询信息系2013108、20131084和20131087班的学生(使用IN关键字) (5)查询既不是数学系,也不是计算机科学系的学生的姓名和性别。 (6)查询所有姓刘学生的姓名、学号和性别 (7)查询姓在刘与李之间的学生的姓名、学号和性别 (8)查询名字中第2个字为\阳\字的学生的姓名和学号 (9)查询没有考试成绩的学生学号和课程号
(10)查询全体学生情况,查询结果按班级编号升序排列,同一个班中的学生按年龄降序排列
(11)查询选修了课程的学生人数
(12)计算c001号课程的学生平均成绩,最高成绩, 并为计算列取别名 (13)求各个课程号及相应的选课人数,要求只显示选课人数超过10的课程 (14)查询选修了3门以上课程的学生学号(提示用Having字句)
(15)查询有3门以上课程是90分以上的学生的学号及(90分以上的)课程数。 (16)查询全体学生的学号、姓名、选修的课程名及成绩
(17)查询每个学生及其选修课程情况的所有信息(用*表示字段)
(18)查询选修cn01号课程且成绩在90分以上的所有学生的学号、姓名和成绩 (19)查询某门课程考试成绩相同的学生学号和课程信息
(20)查询所有女生的学号、姓名、班级名、所在的系名、选修课程名及成绩 (21)查询每个学生的选修课程包括没有选修课程的学生(外连接)
(22)查询每个学生的选修课程即包括没有被学生选修的课程又包括没有被学生
选修的课程(全连接)
(23)查询年龄大于所有女生年龄的男生信息
(24)查询成绩大于本门课程平均成绩的学生学号、姓名、课程名及成绩
(25)查询与“张三”在一个系学习的学生
(26)查询选修了课程名为“数据库原理”的学生学号和姓名 (27)查询所有考试成绩均在90分以上的学生的信息
(28)查询成绩高于本门课程平均成绩的学生的学号、姓名、课程名和成绩 (29)查询没有选修任何课程的学生的学号、姓名和所在的系名(学号未出现在SC表中表示没有选修课程)
(30)查询至少选修了学生‘2012108001’所选的某一门课程的学生信息 (31)查询数据库原理成绩高于所有女生数据库原理成绩的男生的学号和姓名 (32)查询数据库原理成绩高于本班任意一个女生数据库原理成绩的男生的学号
和姓名,以学号排序。
(33)查询计算系的选修了“数据库原理”课程的学生姓名及成绩
第 五、六章练习题
一、 选择题
1、在关系数据库设计中,子模式设计是在 [ 2、设有关系R(A,B,C)的值如下:
A B C
2 2 3 2 3 4 3 3 5
(B)
B.函数依赖BC→A在上述关系中成立 D.函数依赖A→BC在上述关系中成立
B]阶段进行。
A.物理设计 B.逻辑设计 C.概念设计 D.程序设计
下列叙述正确的是
A.函数依赖A→B在上述关系中成立 C.函数依赖B→A在上述关系中成立 3、数据库设计阶段分为( D )
A. 物理设计阶段、逻辑设计阶段、编程和调试阶段 B. 模型设计阶段、程序设计阶段和运行阶段
C. 方案设计阶段、总体设计阶段、个别设计和编程阶段
D. 概念设计阶段、逻辑设计阶段、物理设计阶段、实施和调试阶段 4、下列说法中不正确的是(C)。
A. 任何一个包含两个属性的关系模式一定满足3NF B. 任何一个包含两个属性的关系模式一定满足BCNF C. 任何一个包含三个属性的关系模式一定满足3NF D. 任何一个关系模式都一定有码
5、在数据库设计中,将ER图转换成关系数据模型的过程属于 ( B ) A.需求分析阶段 B.逻辑设计阶段 C.概念设计阶段 D.物理设计阶段 6、下述哪一条不是由于关系模式设计不当而引起的?( B)
A) 数据冗余 B) 丢失修改 C) 插入异常 D) 更新异常
7、规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及(C) 的缺陷。
A.数据的不一致性 B.结构不合理 C.冗余度大 D.数据丢失 8、下列属于逻辑结构设计阶段任务的是(C )。
A.生成数据字典 B.集成局部E-R图 C.将E-R图转换为一组关系模式 D.确定数据存取方法
9、关系模式R中的属性全部是主属性,则R至少是( C )范式的关系模式 A、1NF B、2NF C、3NF D、BCNF
共分享92篇相关文档