数据库试题

别妄想泡我
825次浏览
2021年01月11日 17:04
最佳经验
本文由作者推荐

dnf配置-螳螂捕蝉用来比喻

2021年1月11日发(作者:卞粹)


一、基础题(本题40分)
1.标准SQL与SQL SERVER 在什么地方不同,举出5个不同处(本题5分)
答:(1)数据类型不同:①NUMBER与NUMERIC; ②DATE与DATETIME;
(2)语句格式不同:③SQL有“交集intersect”和“差集minus”运算,SQL
SERVER2000没有; ④外连接命令格式不同;⑤修改表中“修改字段类型”命
令格式不同。

2.判断下列关系模式最高属于第几范式,并解释原因(本题10分)
(1)R(A,B,C,D) F:{B→C,AB→D};
解:∵R的候选码为AB, 存在非主属性对码的部分函数依赖。
∴ R∈1NF。

(2)R(A,B,C,D) F:{AB→C, B→D,D→B};
解:∵R的候选码为AB或AD,不存在非主属性对码的部分或传递函数依赖
∴ R∈3NF。

(3)R(A,B,C,D) F:{AB→C, CB→D}
解:∵R的候选码为AB,不存在非主属性对码的部分函数依赖。
但∵AB→CB,CB→D,故AB→D,存在非主属性对码的传递函数依赖。
∴ R∈2NF。

(4)R(A,B,C,D) F:{AB→C, AB→D, C→D }
解:∵R的候选码为AB,不存在非主属性对码的部分函数依赖。
但∵AB→C,C→AB ,C→D,故AB→D,存在非主属性对码的传递函
数依赖。
∴ R∈2NF。

(5)R(A,B,C,D) F:{AB→C, C→B, C→D }
解:∵R的候选码为AB或AC, 存在非主属性对码的部分函数依赖。
∴ R∈1NF。

3.解释下列名词(本题10分)
DBMS、DBS、DBA、范式、E-R图
(1)DBMS:指对数据库进行管理的系统软 件,是用户访问数据的接口,提供用户对
数据进行定义和操作的各种命令,并能保证数据的安全性、完整 性、多用户对数
据的并发使用以及发生故障后的系统恢复。
(2)DBS:指引入了数据库后 的计算机应用系统,一般由数据库、数据库管理系统
及其开发工具、应用系统、数据库管理员及用户等组 成。
(3)DBA:指负责设计、建立、管理和维护数据库以及协调用户对数据库要求的个
人 或工作团队。


(4)范式:关系数据库(RDB)中的关系要满足一定的要求,满足不 同程度要求的为
不同范式。
(5)E-R图:于1976年提出的实体- 联系方法(Entity-Relationship
Approach),该方法用E- R图来描述现实世界的概念模型。

4.比较表、视图的异同(本题5分)
不同之处:(1)表:实际存在的表(实表),是实际存储的数据的逻辑表示。
(2)视图:是由基本表或其他视图表导出的表,是为了数据查询方便、
数据处理简便以及数据安全要求 而设计的数据虚表,不对应实际存储的数据。
相同之处:(1)逻辑结构相同,均为二维表结构,由一组命名字段和记录行组
成;
(2)相关命令的写法一致。

5.比较SQL SERVER中企业管理器和查询分析器的异同(本题5分)。
不同之处:(1)企业管理器是用于管理SQL Server对象的方便而实用的图形化
工具,使用菜单直观操作完成相关任务;
(2)查询分析器是一个可以交互执行SQL语句和脚本的图形工具,它
的主要功能是编辑、编译和执行 T-SQL语句,并显示命令结果。
相同之处:两者管理、操作的SQL Server对象和数据完全一致,

6.解释概念模型和逻辑模型,并比较它们的区别(本题5分)。
概念模型:按用户观点对信息建模;一般用E-R图描述概念模型;
逻辑模型:按计算机系统 的观点对数据建模,是DBS中用于提供数据表示和操作
手段的形式框架;一般用一系列关系模式描述逻 辑模型。
二、设计题(本题20分)
根据自己所了解的情况,对学校“学生选课管理系统” 、“学生专业选择管理系
统”中某一系统设计相应的E- R图,并设计满足第三范式的数据库,并说明其设
计过程。

M

班级

成绩

课程号

课程名


学分

课程

选修

姓名

性别

年龄

学号

学生

上课

姓名

性别

职称

职工号

老师

N

P

M





















1.课程(课程号,课程名,学分)
2.学生(学号,姓名,性别,班级,年龄)
3.选课(课程号,学号,成绩)
4.老师(职工号,姓名,性别,职称)
5.上课(职工号,课程号)


姓名

性别

年龄

学号

班级

专业号

专业号

专业名称

学生


专业

选专业

学号

M

1
















1.课程(课程号,课程名,学分)
2.学生(学号,姓名,性别,班级,年龄)
3.选专业(专业号,课程号)



1.已 知有二个表,Student表的字段分别为NO,Name,Sex,Age,其字段表示学号、
姓名 、性别和年龄,成绩表B的字段分别为NO,A,B,C, 其字段表示学号、A课程
成绩、B课程成绩 、C课程成绩,其中主键均为学号NO。其数据录入顺序如下:
Student的数据
NO
0101
0105
0102
0110
0108
NO
0110
0102
0105
0101
Name
刘琳
王刚
李晓
张明
周冰
B的数据
A
90
NULL
85
86
B
78
90
85
80
C
NULL
85
68
79
Sex





Age
20
21
22
NULL
21
写出下列命令的结果。(本题18分)
(1) select * from student;
NO Name sex Age


0101
0102
0105
0108
0110

刘琳
李晓
王刚
周冰
张明





20
22
21
21
NULL
(2) select no, name, a ,b from student,b where =
服务器返回错误消息,no列名不明确。

(3) select avg(a),avg(b),avg(c) from B;
(无列(无列名) (无列名)
名)
87 83 77
(4) select * from student order by age;
NO Name SEX AGE
0110 张明 男 NULL
0101 刘琳 女 20
0105 王刚 男 21
0108 周冰 女 21
0102 李晓 女 22

(5) select , sum(b.a),sum(b.b) from student,b where
= group by
SEX (无列名) (无列名)


175
86
163
170

(6)Select , , from student a, b where (< any(select
age from student where not exists ( select no from b where
=) ) );
NO Name SEX
0101 刘琳 女
0101 刘琳 女
0101 刘琳 女
0101 刘琳 女
2.用一条命令完成下列操作(本题22分)
在数据库中有下列5个表:
学生信息 表S(SNO,SNAME,DNUM,AGE,SEX),其字段名分别表示学号、姓名、所属学院编
号、年龄、性别。
教师信息表T(TNO,TNAME,DNUM,AGE,SEX), 其字段名分别表示教师编号、姓名、所属学
院编号、年龄、性别。


课程信息表 C(CNO,CNAME,DNUM,PCNUM,TNO),其字段名分别表示课程编号、课程名称、
所属学院编号、先修课程编号、授课教师编号。
学生选课及成绩表SC(SNO,CNO,GRADE),其字段名分别表示学号、课程编号、成绩。
学院信息表D(DNUM,DNAME,TEL),其字段名分别表示学院编号、学院名、电话。
写出下列操作的命令:
(1)检索王老师所授课程;
select * from c where tno in (select tno from t where tname like ‘%王%’)
或:select c.* from c,t where = and like ‘%王%’)

(2)检索没有选王老师或刘老师的课程的男同学的情况;
select * from s where sex=’男’ and sno not in(select sno from sc,c where = and tno
in(select tno from t where tname like ‘%王%’ or tname like ‘%刘%’ ))
(3)检索至少选修了二门课程的学生情况;
select ,count(cno) from s,sc where = group by having count(cno)>=2

(4)统计每个学生选修课程的门数(超过 4门才统计),输出学生情况及选修门数,结果按门数的
降序排列,若门数相同,则按学号升序排列;
select ,count(cno) from sc group by sno having count(cno)>=4 order by count(cno) desc ,sno

(5) 检索学号比”刘玲”同学大,而年龄比她小的学生情况;
select * from s where sno>(select sno from s where sname=’刘玲’) and age<(select age from s
where sname=’刘玲’)

(6) 检索所授课程平均成绩大于80的教师情况;
select t.* from t where tno in(select from c,sc where = group by tno having
avg(grade)>=80)

(7) 将低于所有课程的平均成绩的女同学的成绩提高5%;
update sc set grade=grade*1.05 where sno in(select sno from s,sc where = and =’
女’ and grade<(select avg(grade) from sc ))
或:update sc set grade=grade*1.05 where sno in(select sno from sc where grade<(select
avg(grade) from sc ) and sno in(select sno from s where =’女’ ))

(8) 在表SC中,当某个成绩低于全部课程的平均成绩时,提高8%;
update sc set grade= grade*1.08 where grade<(select avg(grade) from sc )

(9) 如果已建立了表BB,其字段分别为SEX,A,B,C, 分别表示性别、A课程成绩、B
课程成绩、C课程成绩。将男女同学的平均成绩作为二条记录存入表BB 中。
insert into bb(sex,a,b,c)
select sex,avg(a),avg(b),avg(c) from b group by sex



(10)查询所有超过女同学的所有课程的平均成绩的同学的记录。
select sc.* from sc where grade>(select avg(grade) from sc where sno in(select sno from s where
sex=’女’) )

(11) 删除选择王老师的课程的所有同学的记录。
delete from sc where cno in(select cno from c where tno in(select tno from t where sname like ‘%
王%’))

治疗胃疼的最好方法-个人实习总结


出类拔萃-摘记大全


龙马精神海鹤姿-志愿者工作总结


建筑工地-月夜思乡


逆战游戏-爱祖国手抄报


搞笑的qq名-银行行长述职报告


广州海洋大学-国家助学金申请条件


勒索者病毒-我是一个粉刷匠歌词