数据库原理与应用模拟测试题3.docx
《数据库原理与应用模拟测试题3.docx》由会员分享,可在线阅读,更多相关《数据库原理与应用模拟测试题3.docx(12页珍藏版)》请在冰豆网上搜索。
数据库原理与应用模拟测试题3
数据库原理与应用模拟测试题3
一、选择题(每题2分,共20分)
1.约束“主码中的属性不能取空值”,属于:
【】
A.实体完整性约束
B.参照完整性约束
C.用户定义完整性约束
D.函数依赖
答案:
A
解释:
关系的完整性分为:
实体完整性,参照完整性,用户定义完整性。
实体完整性是指若属性A是基本关系R的主属性,则属性A不能取空值。
A实体完整性约束符合条件。
2.设有关系模式R(A,B,C,D)和S(B,D),则(R÷S)的关系模式为:
【】
A.(A,B)
B.(A,C)
C.(B,D)
D.(B,C)
答案:
B
解释:
根据除法的定义,R÷S结果包含AC,即为答案B。
3.关系模式R(ABC)上的函数依赖集F={A→B},R最高属于:
【】
A.1NF
B.2NF
C.3NF
D.BCNF
答案:
A
解释:
R的码为AC,主属性为AC,非主属性为B,A→B表明存在非主属性B对码AC的部分函数依赖,不符合2NF的定义,故R最高属于1NF。
4.下列说法错误的是:
【】
A.存储过程在数据库服务器上执行
B.存储过程可包含SQL语句,返回结果为表
C.修改表结构的操作可以激活触发器
D.触发器在数据库服务器上执行
答案:
B
解释:
在SQLServer2008中,使用T-SQL语句编写存储过程。
存储过程可以接收输入参数、返回表格或标量结果和消息,执行后返回输出参数。
存储过程返回结果不一定是表。
B中存储过程返回结果为表是错误的。
5.查询学生考试平均成绩的集函数是:
【】
A.AVG
B.COUNT
C.SUM
D.MAX
答案:
A
解释:
集函数AVG用于求平均值,COUNT用于计数,SUM用于求和,MAX用于求最大值。
A符合题意。
6.引入索引的目的是:
【】
A.提高查询语句执行效率
B.提高更新语句执行效率
C.实现数据的物理独立性
D.实现数据的逻辑独立性
答案:
A
解释:
通常对索引表的查找项(Search-key)进行顺序或Hash排列,就可以
很快地定位该项的某一指定值,从而通过指针项找到基本表中取该值的记录。
A提高查询语句执行效率符合题意。
7.用于插入记录的SQL指令是:
【】
A.ALTER
B.INSERT
C.UPDATE
D.DELETE
答案:
B
解释:
ALTER用于修改表结构,INSERT用于向表插入元组,UPDATE用于更新表中元组,DELETE用于删除表中元组。
B符合题意。
8.在SQL语句中,与等于集函数min()返回值等价的谓词是:
【】
A.>=ALL
B.>=ANY
C.<=ANY
D.<=ALL
答案:
D
解释:
等于集函数min()含义为等于最小值,即小于等于所有值,表示为D<=ALL。
9.在SQLServer中,smallint长度为:
【】
A.8字节
B.4字节
C.2字节
D.1字节
答案:
C
解释:
SQLServer中的整数型包含bigint,int,smallint,tinyint,长度分别为8,4,2,1字节。
C符合题意。
10.恢复介质故障需要用到:
【】
A.转储副本
B.日志文件副本
C.A和B
D.静态转储副本
答案:
C
解释:
恢复介质故障的步骤为:
装入最新的后备数据库副本;装入日志文件副本,正向扫描日志文件,得到Redo队列(故障发生前已提交的事务),重做已完成的事务。
因此,恢复介质故障需要同时用到转储副本和日志文件副本。
二、判断题(每题2分,共20分)
1.一个数据库可以有多个外模式。
【】
答案:
V
解释:
外模式(ExternalSchema,也称子模式或用户模式)是数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
一个数据库可以有多个外模式。
反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求。
2.外连接分为左外连接、右外连接和全外连接。
【】
答案:
V
解释:
三类特殊的自然连接:
左外连接只保留左边关系R中要舍弃的元组,其他属性填NULL;右外连接只保留右边关系S中要舍弃的元组,其他属
性填NULL;外连接左右两边关系R和S的元组都保存在结果关系中,其他属性填NULL。
3.存储过程允许模块化程序设计。
【】
答案:
V
解释:
存储过程的优点有:
存储在数据库中,已编译和优化,运行效率高;具有安全特性;减少网络通信流量;允许模块化程序设计;方便实施企业规则。
4.视图一经定义,就可以和基本表一样被查询和删除,并且可以在视图之上再定义新的视图。
【】
答案:
V
解释:
视图是从一个或几个基本表(或视图)导出的表,它与基本表不同,是一个虚表。
在数据字典中只存放视图的定义,不会出现数据冗余。
基表中的数据发生变化,从视图中查询的数据也随之改变。
视图一经定义,就可以和基本表一样被查询和删除,并且可以在视图之上再定义新的视图。
5.相同意义的属性,在不同的分E-R图上有着不同的命名,这称为结构冲突。
【】
答案:
X
解释:
集成分E-R图时存在三类冲突:
属性冲突、命名冲突、结构冲突。
命名冲突是:
相同意义的属性,在不同的分E-R图上有着不同的命名,或是名称相同的属性在不同的分E-R图中代表着不同的意义。
结构冲突是:
同一实体在不同的分E-R图中有不同的属性,同一对象在某一分E-R图中被抽象为实体而在另一分E-R图中又被抽象为属性。
6.用户对表的SELECT操作可能会激活相应的触发器。
【】
答案:
X
解释:
当数据库中发生数据操纵语言(DML)事件时将调用DML触发器。
一般情况下,DML事件包括对表或视图的INSERT语句、UPDATE语句和DELETE语句,因而DML触发器也可分为三种类型:
INSERT、UPDATE和DELETE。
用户对表的SELECT操作不会激活相应的触发器。
7.事务的特性有原子性、一致性、隔离性、持续性。
【】
答案:
V
解释:
事务的特性为ACID,分别为原子性、一致性、隔离性、持续性。
8.在SQL中回收权限使用GRANT命令。
【】
答案:
X
解释:
在SQL中,GRANT是授予权限,REVOKE是回收权限。
9.在SQL授权语句中,使用ALLPRIVILEGES表示所有权限。
【】
答案:
V
解释:
在SQL中,GRANT是授予权限,使用ALLPRIVILEGES表示所有
权限。
10.SQLServer的两种身份验证模式是Windows验证模式和SQLServer验证模式。
【】
答案:
V
解释:
SQLServer2008有两种身份验证模式:
Windows验证模式和SQLServer验证模式。
前者用户登录Windows时进行身份验证,登录SQLServer时就不再进行身份验证;后者SQLServer服务器要对登录的用户进行身份验证。
三、填空题(每空2分,共30分)
1.E-R图的三要素包含实体、属性、。
答案:
联系
解释:
E-R图的三要素包括:
实体、属性、联系。
实体是客观存在的各类事物;属性是实体所具有的特性;联系是不同实体集中实体之间的联系,也可以是同一实体集内实体的联系。
2.在数据库的体系结构中,保证程序和数据之间的逻辑独立性的是。
答案:
外模式/模式映像
解释:
外模式/模式映像的用途是保证数据的逻辑独立性:
应用程序(外模式)与数据库的逻辑结构(模式)是相互独立的。
即数据的逻辑结构发生改变,应用程序不用改变。
3.关系演算的理论基础是演算。
答案:
谓词/一阶
解释:
关系演算以谓词演算(又名一阶演算)为基础的,用谓词来描述关系的构成(查询的结果)。
按照谓词变元的不同分为元组关系演算和域关系演算,分别简称为元组演算和域演算。
4.将用户david从固定数据库角色db_owner中移除的SQLServer命令是EXEC'db_owner','david'。
答案:
sp_droprolemember
解释:
固定数据库角色db_owner是数据库所有者,使用sp_droprolemember存储过程为其删除成员。
5.在SQLServer中,系统数据库有、model、msdb、。
答案:
master、tempdb
解释:
在安装SQLServer2008时,系统将创建4个可见的系统数据库:
master、model、msdb和tempdb。
6.事务异常终止时,回滚所有的更新操作执行的SQL语句是。
答案:
ROLLBACK
解释:
事务正常结束使用COMMIT提交,异常终止使用ROLLBACK回滚。
7.DBMS发生的常见故障有事务故障、系统故障、故障。
答案:
介质
解释:
DBMS发生的常见故障有事务故障、系统故障、介质故障。
介质故障是指存储数据库的设备发生故障,使存储在其上的数据部分或全部受到破坏丢失,又称硬故障。
8.数据库恢复需要建立冗余数据,包括、。
答案:
数据转储、登录日志文件
解释:
恢复操作的基本原理是冗余,即利用存储在系统其它地方的冗余数据来重建数据库中已被破坏或不正确的数据。
恢复机制涉及的关键问题之一是如何建立冗余数据:
数据转储(backup)、登录日志文件(log)。
9.在SQLServer中,4种备份方法有:
、数据库和事务日志备份、、数据库文件或文件组备份。
答案:
完全数据库备份、差异备份
解释:
SQLServer2008中有4种备份方法:
完全数据库备份、数据库和事务日志备份、差异备份、数据库文件或文件组备份。
10.在SQLServer中,存储过程分为三类:
、、。
答案:
系统存储过程、扩展存储过程、用户存储过程
解释:
SQLServer中存储过程有三类:
系统存储过程、扩展存储过程、用户存储过程。
四、关系数据库语言SQL(每题4分,共20分)
设某超市的数据库系统中有如下关系模式:
商品(商品号,商品名称,供应商名称,单价,库存量);
员工(员工号,姓名,性别,出生年月日,参加工作日期);
销售(流水号,商品号,商品数量,销售时间,营业员工号)。
完成下列要求:
(1)用SQL语句创建销售表,要求指定该关系的主码和外码,实现约束:
商品数量必须大于等于1;
答案:
CREATETABLE销售表(
流水号CHAR(20),
商品号CHAR(10),
商品数量INT,
销售时间DATETIME,
营业员工号CHAR(10),
PRIMARYKEY(流水号),
FOREIGNKEY商品号REFERENCES商品(商品号),
FOREGINKEY营业员工号REFERENCES员工(员工号),
CHECK(商品数量>=1);
解释:
在创建表CREATETABLE语句中使用CHECK约束限制商品数量大于等于1,使用PRIMARYKEY创建主码,使用FOREIGNKEY创建两个外码。
(2)由于保暖内衣几近脱销,超市新进“恒源祥男款内衣”200套。
请写出SQL语句,修改该商品的库存量;
答案:
UPDATE商品
SET库存量=库存量+200
WHERE商品名称='恒源祥男款内衣';
解释:
使用UPDATE语句更新元组,条件使用WHERE子句表达。
(3)从数据库中删除商品号为001的商品的信息;
答案:
DELETEFROM销售WHERE商品号='001';
DELETEFROM商品WHERE商品号='001';
解释:
使用DELETE语句删除表中的元组,销售表参考商品表,故先删除销售表中的元组,再删除商品表中的元组。
(4)查询“IPhone5”的商品号与单价;
答案:
SELECT商品号,单价
FROM商品
WHERE商品名称='IPhone5';
解释:
使用SELECT语句查询符合条件的元组,条件商品名称为IPhone5使用WHERE子句表达。
(5)查询1号员工的销售总额。
答案:
SELECTSUM(单价*商品数量)
FROM商品,员工,销售
WHERE商品.商品号=销售.商品号AND员工.员工号=销售.营业员工号AND员工.员工号='001';
解释:
首先将商品、员工、销售三个表连接,然后在WHERE子句中限制员工号为001,最后使用集函数SUM输出1号员工的销售总额。
五、数据库设计(10分)
某医院欲建立一个小型计算机管理信息系统,该系统需求信息描述如
下:
1)医院有200多名医生与护士,每名医生与护士挂靠在一个科室下,科室对外公布医生与护士的职工编号、姓名、性别、年龄、职称、职责、联系方式;
2)医院有10个科室,每个科室有唯一的科室名称,对外公布科室地址、负责医生、办公室电话;
3)医院有100多间病房,每间病房归属于一个科室,病房信息包括病房号、面积、床位数、收费标准;
4)每个科室下的护士根据院方安排管理多间病房,每间病房有多个护士参与管理;
5)病人在医院看病有唯一的电子身份卡,包括卡号、姓名、性别、出生日期、身份证号、血型、联系方式、地址;病人可以找几个医生看病,确诊后根据需要进入病房住院治疗。
根据上述信息,完成如下设计:
(1)画出该系统的E-R图;
答案:
科室
职工
医生护士
病房
病人职工编号姓名
性别年龄
职称
职责
联系方式名称地址电话属于
1M
属于1M看病
NM卡号姓名性别出生日期身份证号血型联系方式
地址住院管理
M
N1
属于1
M病房号面积床位数
收费标准
解释:
E-R图中包含科室实体,具有名称、地址、电话等属性,病房实体包含病房号、米昂及、床位数、收费标准等属性,职工实体包含职工编号、姓名、性别、年龄、职称、职责、联系方式等属性,同时职工实体包含两个子实体医生实体、护士实体,病人实体包含卡号、姓名、性别、出生日
期、身份证号、血型、联系方式、地址等属性,科室与病房之间是一对多的联系,科室与医生、科室与护士均为一对多的联系,病房、护士、病人之间是三个实体的联系,医生与病人是多对多的联系。
(2)根据E-R图转换出相应的关系模式,指出各关系模式的主码。
答案:
科室(名称,地址,电话);
医生(职工编号,姓名,性别,年龄,职称,职责,联系方式,所在科室名称,是否负责人);
护士(职工编号,姓名,性别,年龄,职称,职责,联系方式,所在科室名称);
病房(病房号,面积,床位数,收费标准,所在科室名称);
病人(卡号,姓名,性别,出生日期,身份证号,血型,联系方式,地址);
看病(医生职工编号,病人卡号);
住院(护士职工编号,病房号,病人卡号);
解释:
科室、医生、护士、病房、病人分别转换为五个关系,科室与病房之间的属于联系保存在病房关系中,科室与医生的属于联系保存在医生关系中,科室与护士的属于联系保存在护士关系中,病房、护士、病人三个实体之间的住院管理联系转换为一个关系,医生与病人之间的看病联系转换为一个关系。