复习题一
一、单项选择题(1×30=30分)
1. 数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是( )。
A.DBS包括DB和DBMS B.DBMS包括DB和DBS C.DB包括DBS和DBMS D.DBS就是DB,也就是DBMS
2. 在数据库系统中,通常用三级模式来描述数据库,其中( )是对数据全局的逻
辑结构的描述。 A.外模式 B.内模式 C.存储模式 D.模式 3. 下面不是关系数据库基本特征的是( )。
A.不同的列应有不同的数据类型 B.不同的列应有不同的列名 C.与行的次序无关 D.与列的次序无关 4. 一个关系只有一个( )。
A.候选码 B.外码 C.超码 D.主码 5. 现有如下关系:
患者(患者编号,患者姓名,性别,出生日期,所在单位)
医疗(患者编号,患者姓名,医生编号,医生姓名,诊断日期,诊断结果) 其中,医疗关系中的外码是( )。 A.患者编号 B.患者姓名 C.患者编号和患者姓名 D.医生编号和患者编号
6. SQL语言具有两种使用方式,分别称为交互式SQL和( )。
A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL 7. 关系代数中的联接操作是由( )操作组合而成。
A.选择和投影 B.选择和笛卡尔积 C.投影、选择、笛卡尔积 D.投影和笛卡尔积
8. 在视图上不能完成的操作是( )。
A.更新视图 B.查询 C.在视图上定义新的表 D.在视图上定义新的视图
9. SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中CREATE、DROP、
ALTER语句是实现( )功能。 A.数据查询 B.数据操纵 C.数据定义 D.数据控制 10. 设关系数据库中一个表S的结构为S(SN,CN,Grade),其中SN为学生名,CN为课程
名,二者均为字符型;Grade为成绩,数值型,取值范围0-100。若要把“张三的数据库成绩80分”插入S中,则可用( )。 A.ADD INTO S VALUES(’张三’,’数据库’,’80’) B.INSERT INTO S VALUES(’张三’,’数据库’,’80’)
C.ADD INTO S VALUES(’张三’,’数据库’,80) D.INSERT INTO S VALUES(’张三’,’数据库’,80)
11. 以下有关视图查询的叙述中正确的是( )。
A.首先查询出视图所包含的数据,再对视图进行查询 B.直接对数据库存储的视图数据进行查询
C.将对视图的查询转换为对相关基本表的查询 D.不能对基本表和视图进行连表操作
12. 以下有关UNIQUE约束的叙述中不正确的是( )。
A.UNIQUE约束中不允许出现空值 B.UNIQUE用于保证列或列组合的唯一性
C.可以定义多个UNIQUE约束 D.有些系统为定义了UNIQUE约束的那些列建立唯一索引
13. 在学生关系中,对属性“性别”规定只能为“男’’或“女”的这种约束属于( )。
A.实体完整性 B.参照完整性 C.用户定义完整性 D.条件 14. 设有关系模式W(C,P,S,G,T,R),其中各属性的含义是:C表示课程,P表示教
师,S表示学生,G表示成绩,T表示时间,R表示教室,根据语义有如下数据依赖集:D = {C→P,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R},关系模式W的一个关键字是( )。 A.(S,C) B.(T,R) C.(T,P) D.(T,S) 15. 关系模式R中的属性全是主属性,则R的最高范式必定是( )。 A.1NF B.2NF C.3NF D.BCNF
16. 已知关系模式R(A,B,C,D,E)及其上的函数相关性集合F={A→D,B→C ,E→A },
该关系模式的候选关键字是( )。 A.AB B.BE C.CD D.DE
17. 设U是所有属性的集合,X、Y、Z都是U的子集,且Z=U-X-Y。下面关于多值依赖
的叙述中,不正确的是( )。 A.若X→→Y,则X→→Z B.若X→Y,则X→→Y C.若X→→Y,且Y′∈Y,则X→→Y′ D.若Z=?,则X→→Y 18. 数据库中的冗余数据是指可( )的数据。
A.容易产生错误 B.容易产生冲突 C.无关紧要 D.由基本数据导出
19. 数据库设计中,用E-R图描述信息结构但不涉及信息在计算机中的表示,这是数据库
设计的( )。 A.需求分析阶段 B.逻辑设计阶段 C.概念设计阶段 D.物理设计阶段
20. 在ER模型中,如果有3个不同的实体集,3个M:N联系,根据ER模型转换为关系模
型的规则,转换为关系的数目是( )。 A.4 B.5 C.6 D.7
21. 当局部E-R图合并成全局E-R图时可能出现冲突,不属于合并冲突的是( )。
A.属性冲突 B.语法冲突 C.结构冲突 D.命名冲突 22. 下面四个关系表达式是等价的,试判别它们的执行效率( )。
E1??A??B?C?D?E?R?S??
E3??A?B?C?R???D?E?S??
E2??A?B?C?R??D?E?S????
??E4??A??B?C?R????D?E?S??
A.E3最快 B.E2最快 C.E4最快 D.E1最快
23. 一个事务的执行,要么全部完成,要么全部不做,一个事务中对数据库的所有操作都是
一个不可分割的操作序列的属性是( )。 A.原子性 B.一致性 C.独立性 D.持久性 24. 若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,
这种情况称为( )。 A.介质故障 B.运行故障 C.系统故障 D.事务故障
25. 解决并发操作带来的数据不一致问题普遍采用( )技术。
A.封锁 B.存取控制 C.恢复 D.协商 26. 下列不属于并发操作带来的问题是( )。
A.丢失修改 B.不可重复读 C.死锁 D.脏读 27. 事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放,这是( )。
A.一级封锁协议 B.二级封锁协议 C.三级封锁协议 D.零级封锁协议
28. 如果有两个事务,同时对数据库中同一数据进行操作,不会引起冲突的操作是
( )。
A.一个是DELETE,一个是SELECT B.一个是SELECT,一个是DELETE C.两个都是UPDATE D.两个都是SELECT 29. 在数据库系统中,死锁属于( )。
A.系统故障 B.事务故障 C.介质故障 D.程序故障 30. 以下( )不属于实现数据库系统安全性的主要技术和方法。
A.存取控制技术 B.视图技术 C.审计技术 D.出入机房登记和加锁
二、填空题(1×10=10分)
1. 设关系R和S的属性个数分别为m和n,公共属性个数为t,则(R??S)操作结果的属性个2. 3. 4. 5. 6. 7. 8. 9. 10.
数为( )
在SELECT命令中进行查询,若希望查询的结果不出现重复元组,应在SELECT语句中使用( )保留字。
对由SELECT—FROM—WHERE—GROUP—ORDER组成的SQL语句,其在被DBMS处理时,最先执行的子句是( )。
关系模型中的完整性可以有实体完整性、( )和用户定义的完整性三种。 SQL语言的GRANT和REVOVE语句主要是用来维护数据库的( )。
在部分匹配查询中,通配符“_”代表一个字符,代表多个(包括0个)字符的通配符是( )。
从关系规范化理论的角度讲,一个只满足1NF的关系可能存在的四个问题是数据冗余大、( )、插入异常和删除异常。
设一个关系为R(A,B,C,D,E,F,G),它的最小函数依赖集为FD={A → B,A → C,D → E,D → F},则该关系的候选码为( )。
数据库设计可划分为六个阶段,每个阶段都有自己的设计内容,“为哪些关系,在哪些属性上、建什么样的索引”这一设计内容应该属于( )设计阶段。 数据库恢复的最常用技术是数据转储和( )。 设有关系S、SC、C,试用关系代数完成下列操作。 S(S#, Sname, Age, Sex) 例:(001, '张三', 23, ’男') SC(S#, C#, Grade) 例:(003, 'C1', 83)
C(C#, Cname, Teacher) 例:('C1', '数据库系统概论', '李四')
(1) 检索年龄大于21的男生的学号和姓名。
(2) 检索选修了“赵六”老师所授课程之一的学生学号。 (3) 找出“程序设计”课程成绩在90分以上的学生姓名。
三、根据题目要求分别用关系代数和SQL语句完成下列功能(3×8=24分)
(4) 检索选修课程号为C1或C2的学生学号。
四、简答题(3×5=15分)
1. 什么叫数据与程序的逻辑独立性?
2. 数据库的完整性概念与数据库的安全性概念有什么区别和联系? 3. 试述数据库的逻辑结构设计的设计步骤。
4. 登记日志文件时为什么必须先写日志文件,后写数据库? 5. 试述两段锁协议的概念。
五、应用题(11+10=21分)
1.设某商业集团数据库中有三个实体集。第一个是“公司”实体集,属性有公司编号、公司名称和地址等;第二个是“仓库”实体集,属性有仓库编号、仓库名称和地址等;第三个是“职工”实体集,属性有职工编号、姓名和性别等。公司和仓库之间存在“隶属”联系,每个公司管辖若干个仓库,每个仓库只能由一个公司管辖;仓库与职工之间存在“聘用”联系,每个仓库可以聘用多个职工,每一个职工只能在一个仓库工作,仓库聘用职工有聘用期和工资。根据上述实际情况,试画出对应的E-R图,并在图上注明属性和联系类型。
2.设有关系模式:
R(公司名称CNAME,所在城市CITY,零件名PART,零件颜色COLOR,零件数量QUANTITY,邮编POSTCODE)。
如果规定每个公司只在一个城市(即没有分公司),每个城市都有一个邮编,每个公司可生产多种零件,不同公司可生产同种零件,每种零件具有相同颜色,每个公司都要生产不同数量的各种零件。
(1)写出关系模式R的函数依赖集合与主码。(3分)
(2)说明R不是2NF模式的理由,并把R分解成2NF模式集。(3.5分)
(3)说明R不是3NF模式的理由,进而把R分解为3NF模式集。(3.5分)
答案
一、单项选择题(1×30=30分)
1~5 ADADA 21~25 BCAAA
1.m + n – t 性
6.% 7.修改异常(更新异常) 10.登记日志文件(存储日志)
(1)?S#,Sname8.ADG(A,D,G)
9.物理
6~10 CBCCD 26~30 CADBD
11~15 CACDC 16~20 BCDCC
二、填空题(1×10=10分)
2.DISTINCT
3.FROM
4.参照完整性
5.安全
三、根据题目要求分别用关系代数和SQL语句完成下列功能(3×8=24分)
??Age?21?Sex?'M'?S??
SELECT S#, Sname FROM S WHERE Age > 21 AND Sex = ‘M’;
(2)?S#?SC????S???Teacher?'赵六'?C??
SELECT DISTINCT S# FROM SC, C WHERE SC.C# = C.C# AND C.Teacher = ‘赵六’; OR SELECT DISTINCT S# FROM SC WHERE C# IN (SELECT C# FROM C WHERE Teacher = ‘赵六’); (3)?SnameScore?90?SC????Cname?'程序设计'?C??
SELECT Sname FROM S, SC, C WHERE S.S# = SC.S# AND SC.C# = C.C# AND SC.Grade > 90 AND Cname = ‘程序设计’; (4)?S#??C#?C1?C#?C2?SC??
SELECT S# FROM SC WHERE C# = ‘C1’ OR C# = ‘C2’; 下面的答案正确但没必要这么麻烦。
?S#,C#?SC???C#??C#?C1?C#?C2?SC??
SELECT S# FROM SC X WHERE NOT EXISTS (SELECT * FROM SC Y WHERE (Y.C# = ‘C1’ OR Y.C# = ‘C2’) AND NOT EXISTS (SELECT * FROM SC Z WHERE X.S# = Z.S# AND Y.C# = Z.C#));
四、简答题(3×5=15分) 6.
当需要改变模式时(例如增加新的关系、新的属性、改变属性的数据类型、改变数据间的联系等),由数据库管理员对各个外模式/模式的映象作相应改变,而使外模式保持不变,从而不必修改或重写应用程序改。(2)而应用程序是依据数据的外模式编写的,保证了数据与程序的逻辑独立性。(1)简称数据的逻辑独立性。
7.
数据的完整性和安全性是两个不同概念。(1)
数据的完整性是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据;防范对象:不合语义的、不正确的数据。(1)
数据的安全性是为了保护数据库防止恶意的破坏和非法的存取;防范对象:非法用户和非法操作。(1)
8.
设计步骤为: a) 将概念结构转化为一般的关系、网状、层次模型;(1) b) 将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;(1) c) 对数据模型进行优化。(1)
9.
把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。(1)
如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。(1)如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO操作,并不会影响数据库的正确性。(1)所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。
10.
两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。(1) 在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁;(1)