数据库系统原理复习题.docx
《数据库系统原理复习题.docx》由会员分享,可在线阅读,更多相关《数据库系统原理复习题.docx(26页珍藏版)》请在冰豆网上搜索。
数据库系统原理复习题
复习题
一、填空题:
1.三类经典的数据模型是_层次模型____、__网状模型___和_关系模型_。
其中,_关系模型___目前应用最广泛。
2._概念模型__模型是面向信息世界的,它是按用户的观点对数据和信息建模;____数据模型____模型是面向计算机世界的,它是按计算机系统的观点对数据建摸。
3.关系模型的实体完整性是指_____主属性的值不能为空________________。
在关系模型中,候选码是指______能唯一识别元组的属性或者属性组_,全码是指____所有属性都是候选码___________。
4.设Ei为关系代数表达式,根据关系代数等价变换规则,(E1×E2)×E3≡___E1×(E2×E3)_______,若选择条件F只涉及E1中的属性,则σF(E1×E2)≡__σF(E1)×E2__________。
5.数据依赖是关系中属性间的相互关联,最重要的数据依赖有两种,即__函数依赖___依赖和多值依赖。
6.在关系规范化过程中,将1NF转化为2NF,要消除____非主属性对主码的部分依赖__________________,若一个关系模式R∈2NF,并且消除了非主属性对码的传递依赖,则R∈_3NF。
7.数据库的保护措施有_____安全性___控制、___完整性______控制、____并发控制_____控制和数据库恢复等。
8.事务是并发控制的基本单位,事务的四个性质是___原子____性、___一致____性、_隔离_性和_持久性__性。
9.并发控制的主要方法是封锁,封锁的类型有两种,即____X____锁和___S____锁。
10.故障恢复的基本手段有_______数据转储_____和_____登记日至文件____________。
11.DBMS的中文全称是____数据库管理系统_______。
12.数据管理的发展经历了人工管理阶段、____文件管理_____阶段和____数据库系统____阶段。
13.数据库系统的三级模式分别是_____外模式______,_____模式________和____内模式______。
其中___模式___是用来定义数据库的全局逻辑结构的。
数据库系统的两级独立性分别是____外模式/模式的逻辑独立性_____和____模式/内模式的物理独立性____。
14.数据库设计的步骤有需求分析、_____概念结构设计______、逻辑结构设计、_______物理设计____、数据库实施和___数据库的运行与维护_________。
15.实体联系模型中三种联系是____一对一______、_____一对多_____、____多对多______;
16.数据库系统是由数据库、____软件(DBMS)______、___硬件(应用系统)____、_人员和用户共同组成;
17.并发控制带来的三种数据不一致是______丢失数据____、______不可重复读____、______读脏数据____;
18.数据库的逻辑模型设计阶段,任务是将____E-R图____转换成关系模型;
19.关系规范化理论是设计___逻辑结构_____的指南和工具。
20.从用户角度看,数据库系统的体系结构可分为_____集中式____结构、___分布式_____结构、客户/服务器结构和___浏览器/服务器______结构。
二、选择题:
1.要保证数据库逻辑数据独立性,需要修改的是(C)。
A模式B模式与内模式的映射
C模式与外模式的映射D内模式
2.不允许任何其他事务对一个锁定目标加锁的锁是(B)。
A共享锁B排他锁
C共享锁或排他锁D都不是
3.数据库中(B)是指数据的正确性和相容性。
A安全性B完整性
C并发性D恢复性
4.设K为关系模式R中的属性或属性组合,若U完全函数依赖K,则K称为R的一个(B)。
A关键字B候选码
C主属性D主属性值
注意:
这道题是比较容易出错的题。
5.数据库系统和文件系统的区别是(B)。
A数据库系统复杂,文件系统简单;
B文件系统不能解决数据冗余和数据独立性问题,而数据库系统能解决此问题;
C文件系统只能管理程序文件,而数据库系统能管理各种文件;
D文件系统管理的数据量小,而数据库系统管理的数据量大;
6.设关系R,按条件f对关系R进行选择,其关系代数是(C)。
Aσf(R×R)BΠf(R∞R)
Cσf(R)DΠf(R)
7.关系模式中,各级模式之间的关系为(A)。
A3NF∈2NF∈1NFB3NF∈1NF∈2NF
C1NF∈2NF∈3NFD2NF∈1NF∈3NF
8.数据库系统的核心是(B)
A数据库B数据库管理系统
C数据模型D软件工具
注意:
DBMS是数据库系统的核心组成部分。
对数据库的一切操作,包括定义、更新及各种控制,都是通过DBMS进行的。
9.多用户共享数据库时,为了保证用户正确读写数据,DBMS必须进行(C)。
A安全性控制B恢复性控制
C并发性控制D可靠性控制
10.数据库管理系统能实现对数据的查询、插入、删除等操作,这种功能是(C)。
A数据定义功能B数据管理功能
C数据操纵功能D数据控制功能
11.数据模型的三要素是(A)。
A数据结构、数据操作和数据完整性
B数据结构、数据库定义和数据库维护
C数据定义、数据操作和数据维护
D关系数据库、层次数据库和网状数据库
12.E-R模型的基本成分是(D)。
A字段和记录B记录和实体
C联系和属性D实体和联系
13.关系数据库用(C)来表示实体之间的联系。
A树结构B网结构
C二维表D线性表
14.在数据库系统中,系统的故障类型有三种,如下不是故障类型的为(D)。
A系统故障B磁盘故障
C事物故障D操作系统故障
15.在并发操作中可能产生若干数据库不一致性,除了丢失修改、不能重复读以外,还有(A)。
A读“脏”数据B不可串行化
C事物内部故障D活锁和死锁
16.具有数据冗余度小,数据共享以及较高数据独立性等特征的系统是(B)。
A文件系统B数据库系统
C管理系统D高级程序
17.在一个关系中,如果有这样一个属性组存在,它的值能唯一的标识此关系中的一个元组,该属性组称为(A)。
A候选码B数据项
C主属性D主属性值
18.在数据库设计中,将E-R图转换成关系数据模型的过程属于(B)。
A需求分析阶段B逻辑设计阶段
C概念设计阶段D物理设计阶段
19.设F是基本关系R的一个或一组属性,但不是关系R的码。
如果F与基本关系S的主码K相对应,则称F是基本关系R的(D)。
A候选码B主码C全码D外码
20.当局部E-R图合并成全局E-R图时,可能出现冲突,下面所列举的冲突中(B)不属于上述冲突。
A属性冲突B语法冲突C结构冲突D命名冲突
21.在SQL语言中,视图是数据库体系结构中的(C)。
A内模式B模式C外模式D物理模式
22.下列(C)运算不是专门的关系运算。
A选择B投影C笛卡尔积D连接
23.日志文件的主要作用是处理数据库的(C)。
A安全性B完整性C恢复D并发控制
24.在嵌入式SQL方式中,主语言向SQL语句提供参数,主要用(C)。
A.游标B.缓冲区C.主变量D.SAL通信区
注意:
在嵌入式SQL中,向主语言传递SQL执行状态信息主要用SQL通信区(SQLCommunicationArea,简称SQLCA)实现;主语言向SQL语句输入数据主要用主变量(hostvariable)实现;SQL语句向主语言输出数据主要用主变量和游标(cursor)实现。
25.使用检查点的恢复技术,其主要目的是(A)。
A.改善恢复效率B.解决系统故障C.增加恢复的可靠性D.解决介质故障
26.在数据库系统中,对存取权限的定义称为(B)。
A.命令B.授权C.定义D.审计
27.下列关于建立索引不正确的说法是(A)。
A.不应在码和外码上建立索引
B.建立索引是加快查询速度的有效手段
C.在一个基本表上最多只能建立一个聚簇索引
D.索引一经建立,就由系统使用和维护
28.DBMS允许用户把一个或几个数据库操作组成(B),它是一组按顺序执行的操作单位。
A.命令B.事务C.文件D.程序
29.在SQL语句中,ALTER的作用是(C)。
A.删除基本表B.修改基本表中的数据
C.修改基本表的结构D.修改视图
30.任何一个满足2NF但不满足3NF的关系模式都不存在(B )。
A.主属性对主码的部分依赖 B.非主属性对主码的部分依赖
C.主属性对主码的传递依赖 D.非主属性对主码的传递依赖
三、是非题:
(错)1.在关系代数中,自然连接就是等值连接。
(错)2.视图是由基本表或其他视图导出的表,因此它对应实际存储的数据。
(错)3.在关系规范化过程中,将1NF转化为2NF,要消除非主属性对码的传递依赖。
(对)4.实体间的所有联系都可以转换为单独的联系表。
(对)5.任何一个二目关系都是属于BCNF的。
(错)6.deletetable和droptable都可以完全删除一张表。
(对)7.deletetable和droptable是不同的,deletetable仅是删除表中的数据;而droptable不仅删除了表数据和表结构,而且在数据字典中的表定义也删除了。
(错)8.对象和实体之间是ispartof的关系,属性和对象类型之间是ismemberof的关系。
(错)9.若R∈3NF,则R必属于BCNF。
(错)10.数据库系统就是DBMS。
(错)11.数据库管理系统就是DBS。
(对)12.在数据库的设计过程中规范化是必不可少的。
(对)13.DFD图(即数据流图)是数据库设计的需求分析阶段完成的任务。
(对)14.关系的两个不变性就是实体完整性和参照完整性。
(对)15.可串行性是并发事务正确调度的准则。
(对)16.一个关系的主码必定是候选码。
(错)17.由EXISTS引出的子查询,其目标列表达式通常都用*表示,表示列出所有列。
(对)18.在SELECT的查询中,其目标列表达式通常都用*表示,表示列出所有列。
(对)19.对象和实体之间是ismemberof的关系,属性和对象类型之间是ispartof的关系。
(对)20.若R∈BCNF,则R必属于3NF。
(对)21.任何一个全码关系都属于2NF.
(对)22.若一个关系的码是单个属性,则该关系属于2NF.
(对)23.SQLSERVER中的表能按关键字段值递增或递减的顺序排列。
(对)24.视图是由基本表或其他视图导出的表,因此它是一个虚表。
(对)25.事物遵循两段锁协议是可串行化调度的充分条件,而不是必要条件。
(错)26.不遵循两段锁协议的调度是不可串行化的调度,是错误的调度。
(对)27.索引的作用是提高查询效率。
(对)28.在关系规范化过程中,将2NF转化为3NF,要消除非主属性对码的传递依赖。
(错)29.主码的诸属性称为主属性。
(对)30.候选码具有的属性是主属性。
四、简答题:
1.什么是E-R图?
E-R图的基本要素是什么?
答:
用以描述现实世界的概念模型的图示方法。
E-R的基本要素是:
实体、联系、属性。
2.简述视图的定义及作用。
答:
(1)从一个或者几个基本表中导出的表称为视图,视图是一个虚表。
(2)简化用户的操作,使用户从多角度看待同一个问题,对重构数据库提供了一定程度的逻辑独立性。
3.并发操作可能会产生哪几类数据不一致?
用什么方法能避免各种不一致的情况?
答:
丢失修改、不可重复读、读“脏”数据。
采用封锁的方法来避免数据的不一致。
4.数据库恢复的基本技术有哪些?
答:
转储、登记日志文件。
数据转储是数据库恢复中采用的基本技术。
所谓转储即DBA定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。
日志文件是用来记录事务对数据库的更新操作的文件。
5.说明查询优化的含义,并叙述对关系代数表达式查询树的优化方法。
答:
(1)每个查询都会有许多可供选择的执行策略和操作算法,查询优化就是选择一个高效执行的查询出处理策略。
用户不必考虑怎么样表达查询以获得较好的效率,系统可以比用户优化的更好。
(2)选择运算尽量先做;投影运算与选择运算应同时进行;投影与其前或后的双目运算结合起来;
把某些选择同其前或者后的笛卡尔积结合起来;找出公共子表达式。
6.数据库设计过程包括几个主要阶段,请对每个阶段的任务进行简述。
答:
需求分析:
明确用户的各种需求,在此基础上确定新系统的功能。
概念结构设计:
将用户需求抽象成概念模型的过程。
逻辑结构设计:
将E_R图转变成数据模型相符的逻辑结构。
数据库的物理设计:
确定数据库在物理设备上的存储结构与存取方法。
数据库的实施:
加载数据,试验数据库是否正确。
数据库运行与维护阶段:
运行与维护数据库。
7.简述事务的四个特性。
答:
事务具有四个特性:
原子性:
事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性:
事务执行的结果必须使数据库从一个一致性状态转变为另一个一致性状态。
隔离性:
一个事务的执行不能被其他事务打扰。
持续性:
也称永久性,指一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的。
8.登记日志文件时为什么必须先写日志文件,后写数据库?
答:
数据的修改写到数据库与数据的登记日志文件记录是两个不同的过程,有可能在两个操作之间发生故障,若先写数据库,而在运行记录中没有登记这个修改,则无法恢复这个修改了。
9.简述DBMS中数据库恢复系统的作用;恢复机制涉及的两个关键问题是什么?
答:
把数据库从错误状态中恢复到某一已知的正确状态中的过程。
恢复机制涉及的两个关键问题是:
第一,如何建立冗余数据;第二,如何利用这些冗余数据实施数据库的恢复。
建立冗余数据最常用的技术是数据转储、登记日志文件。
10.DBMS的完整性子系统主要功能是什么?
答:
监督事物执行并测试是否违反完整性规则,若违反,则采取相应的措施。
11.关系系统中,当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,一般是如何分别进行处理的?
答:
实体完整性:
拒绝插入或者修改。
参照完整性:
拒绝执行或者级联删除或者设置为空值。
用户定义的完整性:
拒绝执行。
12.什么是数据库的完整性?
答:
数据库的完整性是指数据的正确性、有效性与相容性,防止错误数据进入数据库。
13.数据库的完整性概念与数据库的安全性概念有什么区别和联系?
答:
数据库的完整性是指数据库的正确性、相容性。
数据库的安全性是指保护数据库以防止不合法的使用造成数据泄密、更改等。
但是无论是安全性还是完整性都是保护数据库的措施。
14.什么是日志文件?
为什么要设立日志文件?
答:
日志文件是用来记录事务对数据库更新操作的文件。
事物故障的恢复与系统故障恢复必须使用日志文件,在动态转储中必须用到日志文件,在静态转储中也可以用到日志文件。
15.在数据库中为什么要并发控制?
并发控制技术能保证事务的哪些特性?
答:
并发控制机制是衡量一个数据库管理系统的重要标志之一,不并发控制的话会带来数据冗余、更新异常、插入异常、删除异常等一系列问题。
A:
原子性:
事务是数据库的逻辑工作单位,事务中包括的诸操作要么全做,要么全不做。
B:
一致性:
事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
一致性与原子性是密切相关的。
C隔离性:
一个事务的执行不能被其他事务干扰。
D:
持续性/永久性:
一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
16.什么样的并发调度是正确的调度?
答:
多个事务的并发执行是正确的,当且仅当其结果与按某一次串行地执行这些事务时的结果相同,称这种调度策略为可串行化的调度。
可串行性的调度是并发事务正确调度的准则。
按这个准则规定,一个给定的并发调度,当且仅当它是可串行化的,才是正确的调度。
17.简述数据模型的概念和数据模型的3个要素。
答:
数据模型是严格定义的一组概念的集合。
这些概念精确地描述了系统的静态特征、动态特征和完整性约束条件。
数据模型的3要素是:
数据结构、数据操作和完整性约束。
数据结构:
数据结构描述数据库的组成对象以及对象之间的关系。
数据操作:
是指对数据库中各种对象(型)的实例(值)允许的执行操作的集合,包括操作及有关的操作规则。
完整性约束规则:
数据的完整性约束条件是一组完整性约束规则。
18.简述数据库系统三级模式结构。
答:
数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。
模式:
也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共视图。
外模式:
也称子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
内模式:
也称存储模式,一个数据库只有一个内模式。
它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
19.简述等值连接和自然连接的区别和联系。
答:
等值连接中不要求相等属性值的属性名相同,而自然连接要求相等属性值的属性名必须相同,即两关系只有在同名属性上才能进行自然连接。
等值连接不去掉重复属性列,而自然连接去掉重复属性列,也可以说,自然连接是去掉重复列的等值连接。
20.简述实现数据库安全性控制的常用方法和技术。
答:
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改和破坏。
常用的方法和技术有:
用户标识和鉴别、存取控制、视图和数据加密等安全技术。
用户标识和鉴别:
是系统提供的最外层安全保护措施。
其方法是由系统提供一定的方式让用户标识自己的名字或身份。
存取控制:
确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的用户无法接近数据。
视图:
通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。
数据加密:
是防止数据库中的数据在存储和传输中的失密手段。
五、
1.设有学生表S,课程表C及学生选课表SC:
S(Sno,Sname,Sdept,Sage,Ssex);
C(Cno,Cname,Credit,Cpno);
SC(Sno,Cno,Grade)
其中,各属性列的含义如下:
Sno—学号,Sname—姓名,Sdept—系别,Sage—年龄,Ssex—性别
Cno—课程号,Cname-课程名,Credit—学分,Cpno—先行课
Grade—成绩
试用SQL语句写出下列操作:
(1)选课表(学号,课程号,成绩),定义学号和课程号为主键,且学号为参照学生表的外键,课程号为参照课程表的外键。
createtableSC
(Snochar(12),
Cnochar(12),
Gradeint,
primarykey(Sno,Cno),
foreignkey(Sno)referencesS(Sno),
foreignkey(Cno)referencesC(Cno),
);
(2)把学生表中的姓名列的列加宽到30位字符宽度。
altertableS
altercolumnSnamechar(30);
(3)查询选修C3或C4号课程且分数大于等于70分学生的的学号、课程号和成绩。
selectSno,Cno,Grade
fromSC
Where(Cno=’C3’orCno=’C4’)andGrade>=70;
(4)查询有20人以上选修的课程号及选课人数。
selectCno,count(Sno)
fromSC
groupbyCnohaving(count(Sno)>=20);
(5)查询与“信息系统”课程学分相同的所有课程的名称。
selectCname
fromC
whereCredit=
(selectCredit
fromC
whereCname=’信息系统’)andCname<>’信息系统’;
(6)将一个新选课记录
(学号:
200215121;课程号:
8;成绩:
78)插入到SC表中。
insertintoSC
values(‘200215121’,’8’,78);
(7)将数学系全体学生的成绩置零。
updateSC
setGrade=0
whereSnoin(
selectSno
fromS
whereSdept=’数学系’);
(8)删除数学系所有学生的选课记录。
delete
fromSC
whereSnoin(
selectSno
fromS
whereSdept=’数学系’);
(9)授予用户王丹对SC有select和对成绩修改的操作权限。
grantselect,update(Grade)
onSC
To王丹;
(10)回收用户王丹对SC的select操作权限。
revokeselect
onSC
from王丹;
2.设有如下所示的零件表P,供应商表S及供应表SP:
P(PNO,PNAME,PADDR,PQTY)
S(SNO,SNAME,SADDR)
SP(SNO,PNO,SPQTY)
其中,各属性列的含义如下:
PNO—零件号,PNAME—零件名称,PADDR—零件存放地点,PQTY—零件库存量
SNO—供应商号,SNAME—供应商名称,SADDR—供应商地址,SPQTY—供应量
试用SQL语句写出下列操作:
(1)利用SQL的数据定义功能创建P表,且定义PNO为主码。
CreatetableP
(pnochar(15)primarykey,
Pnamechar(20),
Paddrchar(20),
Pqtyint);
(2)查询所有在“北京”的供应商号,供应商名称及其所供应的所有零件数量的总和(SUM)。
Selectsno,sname,sum(spqty)
FromS,SP
Wheres.sno=sp.snoandsaddr=’北京’;
(3)查询供应量已超过1000的零件的零件号,零件名称及零件的库存量。
Selectp.pno,pname,pqty
Fromp,SP
Wherep.pno=sp.pnoandspqty>1000;
(4)查询供应零件名称为‘螺丝’的供应商名称。
Selectsname
FromP,S,SP
WhereP.pno=SP.pnoandS.sno=SP.snoandpname=’螺丝’;
(5)在供应