【大学数据库考试题】数据库试题

2023-05-16

二、填空题
、人工管理阶段、文件管理
1.数据管理技术的发展经历了如下三个阶段:______、______和______。
阶段、数据库系统阶段
数据结构、数据操作、完整性约束
2关系数据模型是由_____、______、和_____三部分组成的。
集合
3.关系操作的特点是_____操作。
交
4.关系代数中,从两个关系中找出相同元组的运算称为___
__运算。
数据库管理系统、数据库管理员
5.指出下列缩写的含义:DBMS______、DBA ______。
主属性
6.在关系A(S,SN,D)和B(D,CN,NM)中,A的主码是S,B的主码是D,则D在B中称为__
或主码或主关键字
______。
7. 在关系模型中,若属性A是关系R的主码,则在R的任何元组中,属性A的取值都不允许为空,这种约束称为_
实体完整性
____。
 sum、count 
8.计算字段的累加和的函数是:_______;统计元组数的函数是:____
____。
三、简答题
1.什么是关系的外码?并举例说明。
答:关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X
是R的外部码,也称外码。学生数据库中有关系STUDENT(SNO,SNAME,SEX,AGE)、关
系COURSE(CNO,CNAME)和关系SC(SNO,CNO,GRADE),SC关系中SNO是外码,其参照
关系是STUDENT;CNO也是外码,其参照关系是COURSE。
2.试说出数据库设计的基本步骤。
答:需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、数据库物理设计阶段、
数据库实施阶段、数据库运行和维护阶段。

四、综合题(35) 
1.关系表示的实体、实体与实体之间的联系,用E-R图表示出来,要求在图中表示联系的类型(111∶n、m∶n)(10) 
实体1:学生(学号,姓名,性别,年龄) 关键字为:学号
实体2:课程(课程号,课程名,学分数) 关键字为:课程号
实体1与实体2的联系:学习(学号,课程号,成绩) 关键字为:学号+课程号
注:一个学生可以选多门课程,一门课程也可以被多个学生选,学生选课后有成绩。

2.设有关系S、SC、C完成下列操作。(18分,每小题2分)
S(S#,SNAME,AGE,SEX) 例:(’000001’,'李强',23,’男')(学生表) 
SC(S#,C#,SCORE) 例:(’000001’,'C1',83)(选课表)
C(C#,CNAME,TEACHER) 例:('C1','数据库原理','王华')(课程表)
1)使用关系代数完成下列操作
(1)用关系代数检索选修课程号(C#)为C1和C2的学生学号(S#)。
2) 使用SQL语言完成下列操作
(1) 创建基本表S,要求:S#为6位字符,且不能有重复或空缺;性别为“男”或“女”;年龄必须在15至30岁之间;该
关系的主码为S#。
(2) 按学号从小到大为关系S建立索引文件’ISS’。
(3) 将王刚同学的信息插入到学生表S中。(学号100001,年龄19,性别,男)。
(4) 创建关于男学生信息的视图。
(5) 查询没有选修任何课程的学生姓名。
(6) 查询选修人数最多的课程名。
(7) 统计选修了“数据库原理”成绩在7085之间的男同学和女同学人数。
(8) 查询选修了“程军”老师教的所有课程的学生姓名。

2) 使用SQL语言完成下列操作
(1) 创建基本表S,要求:S#为6位字符,且不能有重复或空缺;性别为“男”或“女”;
年龄必须在1530岁之间;该关系的主码为S#。
Createtable S1(S# char(6)primarykey, SNAME  char(8)notnull, AGE smallint,
性别char(4),constraint c1 check(性别in('男','女')),constraint c2 check(AGE 
between 15 and 30));
(2) 按学号从小到大为关系S建立索引文件’ISS’。
  Create Index ISS on S(S# ASC)
(3) 将王刚同学的信息插入到学生表S中。(学号 100001,年龄 19,性别,男)。
Insertinto S(S#, Sname, Age, sex)values ('100001','王刚','19','男')
(4) 创建关于男学生信息的视图。
Createview男学生信息asselect*from S where sex='男'
(5) 查询没有选修任何课程的学生姓名。
     1)查询选修了课程的学生
SELECT DISTINCT S# from SC;
2)查询全体学生
SELECT DISTINCT S# from S;
3)两者进行差运算
SELECT Sname for S where S# in(SELECT DISTINCT S# from S MINUS SELECT 
DISTINCT S# from SC)
 (6) 查询选修人数最多的课程名。
  Select CNAME  from C where C# in (select C# from SC group by C# having 
count(*)>=Max(count(*))) 
(7) 统计选修了“数据库原理”成绩在7085之间的男同学和女同学人数。
Select sex,count(*)from SC, S where SCORE between 0 and 100 and
SC.C# in(Select  SC.C#  from  SC, C where CNAME='数据库'and  SC.C# = C.C#)and
SC.S#= S.S# groupby sex 
 (8) 查询选修了“程军”老师教的所有课程的学生姓名。
SELECT S.SNAME FROM S WHERE NOT EXISTS ( SELECT * FROM C WHERE C.TEACHER='程军' AND NOT 
EXISTS  ( SELECT * FROM SC WHERE SC.C#=C.C# AND SC.S#=S.S#  ) )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【大学数据库考试题】数据库试题 的相关文章

随机推荐