资源描述
一、单选题
1.在对层次数据库进行操作时,如果删除双亲结点,则相应的子女结点值也被同时删除。这是由层次模型的( C )决定的。
A. 数据结构 B. 数据操作 C. 完整性约束 D. 缺陷
2.数据库系统的数据独立性是指( C )。
A.不会因为数据的变化而影响应用程序 B.不会因为存储策略的变化而影响存储结构
C.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序
D.不会因为某些存储结构的变化而影响其他的存储结构
3.SQL语言具有两种使用方式,分别称为交互式SQL和(C )。
A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL
4.设W=R⋈S,且W、R、S的属性个数分别为w、r和s,那么三者之间应满足( B )。
A.w≤r+s B.w<r+s C.w≥r+s D.w>r+s
5.设有关系R(A,B,C)和关系S(B,C,D),那么与R⋈S等价的关系代数表达式是( C )。
A.πR.A,R.B,R.C,S.B(σR.B=S.B∧S.C=S.C(R×S)) B.πR.A,R.B,R.C,S.D(σR.B=S.B∧R.C=S.B(R×S))
C.πR.A,R.B,R.C,S.D(σR.B=S.B∧R.C=S.C(R×S)) D.πR.A,R.B,R.C,S.B(σR.B=S.B∧R.C=S.C(R×S))
6. 最终用户使用的数据视图称为( B )。
A.内模式 B.外模式 C.概念模式 D.存储模式
7. 用下面的SQL语句建立一个基本表:
CREATE TABLE Student(Sno int NOT NULL,Sname CHAR (8)NOT NULL, Sex CHAR(2),Age SMALLINT); 可以插入到表中的元组是( A)。
A. 5021,’刘祥’,’男’,NULL B. NULL,’刘祥’,NULL,21
C. ‘5021’,NULL,男,21 D. ‘5021’,’刘祥’,’男’,NULL
8. 进行自然联结运算的两个关系必须具有( B)。
A. 相同属性个数 B.相同的属性组 C. 相同关系名 D.相同的主码
9. 数据库系统中,物理数据独立性是指(C )。
A.数据库与数据库管理系统的相互独立 B.应用程序与DBMS的相互独立
C.应用程序与存储在磁盘上数据库的物理模式是相互独立的D.应用程序与数据库中数据的逻辑结构相互独立
10数据库系统的特点是 ( A )、数据独立、减少数据冗余、避免数据不一致和加强了数据保护。
A.数据共享 B.数据存储 C.数据应用 D.数据保密
11.数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作的数据库语言称为 ( C )。
A.数据定义语言(DDL) B.数据管理语言
C.数据操纵语言(DML) D.数据控制语言
12.在关系代数的专门关系运算中,从表中取出满足条件的属性的操作称为( B );从表中选出满足某种条件的元组的操作称为( A );将两个关系中具有共同属性值的元组连接到一起构成新表的操作称为( C )。
A.选择 B.投影 C.连接 D.扫描
13关系模型中,一个候选码( C )。
A.可由多个任意属性组成
B.至多由一个属性组成
C.可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成
D.必须由多个属性组成
14 SQL语言是( C)语言。
A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库
15数据库中只存放视图的( C )。
A.操作 B.对应的数据 C.定义 D.限制
二、填空题
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的取值都不允许为空,这种约束称为_实体完整性____。
8.计算字段的累加和的函数是:_______;统计元组数的函数是:____ sum、count
____。
三、简答题
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图表示出来,要求在图中表示联系的类型(1∶1、 1∶n、 m∶n)。(10分)
实体1:学生(学号,姓名,性别,年龄) 关键字为:学号
实体2:课程(课程号,课程名,学分数) 关键字为:课程号
实体1与实体2的联系:学习(学号,课程号,成绩) 关键字为:学号+课程号
注:一个学生可以选多门课程,一门课程也可以被多个学生选,学生选课后有成绩。
完成如下设计:
(1)设计该计算机管理系统的E-R图;
学生
学号
姓名
性别
年龄
学习
成绩
课程
课程号
课程名
学分数
m
n
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) 统计选修了“数据库原理”成绩在70~85之间的男同学和女同学人数。
(8) 查询选修了“程军”老师教的所有课程的学生姓名。
1)使用关系代数完成下列操作
(1)用关系代数检索选修课程号(C#)为C1和C2的学生学号(S#)。
ΠS#,C#(SC)¸ΠC#(σC#=’C1’Ú C#=’C2’(C))
ΠS# (σC#=‘c1’) ∩ ΠS# (σC#=‘c2’)
2) 使用SQL语言完成下列操作
(1) 创建基本表S,要求:S#为6位字符,且不能有重复或空缺;性别为“男”或“女”;年龄必须在15至30岁之间;该关系的主码为S#。
Create table S1(S# char(6) primary key, SNAME char(8) not null, 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, 性别,男)。
Insert into S(S#, Sname, Age, sex) values ('100001', '王刚', '19', '男')
(4) 创建关于男学生信息的视图。
Create view 男学生信息as select * 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) 统计选修了“数据库原理”成绩在70~85之间的男同学和女同学人数。
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# group by 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# ) )
展开阅读全文