数据库期末考试试卷a

  • 格式:doc
  • 大小:109.00 KB
  • 文档页数:11

信息科技大学2008 ~2009 学年第2 学期《数据库系统基础》课程期末考试试卷课程所在学院:信息管理学院适用专业班级:07审计、07管科考试形式:(开卷)班级::学号:一、填空题(本题满分20分,每空1分)1、数据可以共享、数据独立性高是数据管理的【1】阶段的特性。

2、数据独立性是指数据的存储结构与【2】相互独立的特性。

3、描述现实世界数据及其数据之间联系的数据模型称作【3】模型。

4、使用树结构来表示实体和实体之间联系的数据模型是【4】模型。

5、“一个属性或属性集能够唯一标识关系中的元组,又不含有多余的属性”定义的是【5】。

6、两个关系的交运算(R∩S)可以用集合的差运算表示为【6】。

7、关系模型的完整性约束包括实体完整性、参照完整性和用户定义完整性,外部关键字用于实现其中的【7】。

8、用SQL SELECT语句进行查询时,如果希望查询的结果中不出现重复元组,应在SELECT子句中使用【8】关键字。

9、在CREATE TABLE语句中定义主关键字的关键词是【9】。

10、可能影响删除操作的完整性约束是【10】约束。

11、事务ACID特性中的“I”表示事务的【11】性。

12、在数据库并发控制中,为了保证避免未提交读现象(脏读),则至少应该将事务的隔离级别设置为【12】。

13、当数据库受到破坏后,应该首先考虑备份该数据库的【13】,这样才有可能保证将数据库完全恢复到灾难时刻。

14、设有R(U,F),U={A,B,C},F={AB→C,B→C},则该关系模式是【14】式。

15、在SQL Server中局部存变量的前缀是【15】。

16、自身不具有标识特征、需要借助所依赖的实体才能够标识的实体是【16】实体。

17、Power Designer的CDM功能用于建立【17】数据模型。

18、在分布式数据库中用户无需了解数据的物理存放位置,我们把这种特性称作分布式数据库的【18】性。

19、数据仓库中有各种综合程度的数据,综合程度越高则可回答的问题数量越【19】。

20、空间数据库的主要应用领域是【20】。

二、选择题(本题满分20分,共含20道小题,每小题1分)1、在关系数据库中实体用关系表示,实体与实体之间的联系A 用关系表示B 用指针表示C 用层次结构表示D 用菱形框表示2、“若属性A是关系R的主属性,则属性A不可以为空值”描述的是A 第二式关系B 实体完整性规则C 主关键字D 第三式关系3、设有关系R(X,Y)和S(Y),在R中给定的x值所对应的那组y值如果包含了S中的所有y值,则x就在结果关系中,这描述的是A 函数依赖B 除法运算C 逻辑蕴含D 多对多联系4、如果规定一名教师可以教多门课程,一门课程也可以由多名教师教,则教师和课程之间的联系类型是A 一对一B 一对多C 多对一D 多对多5、数据库通过三层结构获得了A 数据独立性B 数据完整性C 数据共享性D 数据可靠性6、在SQL SELECT语句中,实现关系代数选择操作的子句是A SELECTB FROMC WHERED DISTINCT7、在CREATE TABLE语句的某属性定义中“FOREIGN KEY REFERENCES 仓库”说明A 外部关键字是仓库B 外部属性与仓库相关C 参照仓库关系的同名属性D 以上说法都对8、假设某用户要离开公司一段时间,根据规定离开公司期间不许登录公司的数据库,为此需要使用哪条命令进行相关操作或设置最合理A DENYB DROP USERC DROP LOGIND ALTER LOGIN9、并发控制用于保证事务的A 原子性B 一致性C 隔离性D 持久性10、在执行如下命令后用户wangli在“仓库”表上拥有的权限包括CREATE ROLE r1GRANT SELECT,INSERT,DELETE,UPDATE ON 仓库TO r1DENY INSERT,DELETE 仓库TO wanglisp_addrolemember r1,wangliA 全部权限B INSERT和DELETE权限C SELECT和UPDATE权限D 没有任何权限11、解决并发事务相互干扰的基本方法是A ROLLBACKB 封锁C COMMITD 平衡12、如果事务T对数据R已加S锁,则其他事务对RA 不能再加任何锁B 不能加S锁,可以加X锁C 可以加S锁,也可以加X锁D 可以加S锁,不能加X锁13、执行删除操作时运行的触发器属于A DML触发器B DDL触发器C LOGIN触发器D 前三种说法都不对14、在CREATE TABLE语句中与说明参照完整性无关的短语是A FOREIGN KEYB REFERENCESC ON DELETED PRIMARY KEY15、如果AB→B,则关于该函数依赖叙述错误的是A 是平凡函数依赖B 是非平凡函数依赖C 是部分函数依赖D 是平凡和部分函数依赖16、ODMG数据模型是A ORDBMS的基础B OODBMS的基础C RDBMS的基础D DBMS的基础17、在安排数据库应用系统开发进度时,其中需要时间最长的是A 规划和需求分析阶段B 系统设计阶段C 编程实现阶段D 测试阶段18、以下哪项不属于分布式数据库的特点A 物理分布性B 逻辑整体性C 场地自治D 数据低冗余19、数据仓库上的业务处理称作A 联机事务处理B 联机分析处理C 联机商务处理D 联机过程处理20、研究并行数据库的目标主要是解决A 单个任务的并行处理B 多个任务的并发处理C 多个任务的并行处理D 以上说法都不对三、判断题(本题满分10分,共含10道小题,每小题1分)1.数据库中只存储数据、不可能存储数据之间的联系,数据之间的联系是靠应用程序实现的。

2.两个关系的连接运算一般是由参照关系的外部关键字和被参照关系的主关键字来控制的。

3.两个关系要进行集合的并、交、差运算,需要元组个数相同。

4.在SQL标准中没有提供封锁命令、而是采取设置隔离级别来实现事务的并发控制。

5.数据库一旦毁坏必须立刻利用备份进行恢复,否则日志也将丢失。

6.在触发器运行时会产生两个临时表deleted表和inserted表。

7.SQL修改记录的语句是ALTER TABLE。

8.如果一个函数依赖集F中的每一个函数依赖的右部都是单一属性、每个函数依赖的左部没有多余的属性、该集合中也没有多余的函数依赖,则F是一个最小函数依赖等价集。

9.遵守保持函数依赖和无损连接的关系模式分解规则,分解总可以达到BCNF。

10.如果在参照完整性说明时有短语ON DELETE CASCADE,则在删除被参照记录时将同时删除所有参照记录。

四、用SQL语句完成下列操作(本题满分20分,共含5道小题,每小题4分)设某图书销售连锁店的数据库有如下3个表:书店(书店号,书店名,区域名,经理)图书(书号,图书名,单价)销售(销售日期,日流水号,书店号,书号,销售数量)其中书店表的主关键字是书店号,图书表的主关键字是书号,销售表的主关键字是(销售日期,日流水号),并且销售表分别通过书店号和书号参照书店表和图书表。

完成以下SQL查询或操作(按给出的语句框架和要求完成,不能改变原语句的结构)。

1、检索不在“”和“”区域的书店信息。

SELECTFROMWHERE2、查询图书单价在30到50之间的图书名、销售日期和销售数量。

查询结果按销售数量降序排列(检索条件要求使用BETWEEN…AND…表达式)。

SELECTFROM JOINONWHERE BETWEEN ANDORDER BY3、查询单价最高的图书信息。

SELECTFROMWHERE(SELECT 单价FROM 图书)4、查询总的销售数量超过20000册的每个书店的总销售金额(销售金额=销售数量*单价)。

要求显示(书店号,总销售金额)。

SELECTFROM 图书CROSS JOIN 销售WHEREGROUP BY5、在“”区域销售的图书降价5%,请修改图书表的单价。

UPDATE 图书SETWHERE(SELECT * FROM 书店WHERE)五、证明题(本题满分6分)设有关系模式R(U,F),X、Y、Z均为U的子集,有如下推理规则:♦自反律:如果Y X,则X→Y;♦增广律:如果X→Y,则XZ→YZ;♦传递律:如果X→Y、Y→Z,则X→Z。

请使用以上推理规则证明如下3条推论:♦合并规则:如果X→Y、X→Z,则X→YZ。

♦分解规则:如果X→YZ,则X→Y、X→Z。

♦伪传递规则:如果X→Y、YW→Z,则XW→Z。

证明:合并规则:如果X→Y、X→Z,则X→YZ。

分解规则:如果X→YZ,则X→Y、X→Z。

伪传递规则:如果X→Y、YW→Z,则XW→Z。

六、综合题(本题满分24分,共含3道小题)1、(6分)设有仓库和职工两个表,其中建立这两个表的命令如下CREATE TABLE 仓库(仓库号CHAR(5) PRIMARY KEY,城市CHAR(10),面积INT CHECK (面积> 0) )CREATE TABLE 职工(仓库号CHAR(5) CONSTRAINT ref_whFOREIGN KEY REFERENCES 仓库(仓库号),职工号CHAR(5) PRIMARY KEY,CHAR(8),工资INT CHECK (工资>= 1000 AND 工资<= 5000) DEFAULT 1200,经理CHAR(5) FOREIGN KEY REFERENCES 职工(职工号) )判断如下语句能否成功执行,对不能成功执行的说明为什么。

(1)INSERT INTO 职工VALUES('WH7', 'E7', '扬', 1250, 'E2')(2)UPDATE 职工SET 经理='E10' WHERE 职工号='E11'(3)UPDATE 职工SET 仓库号='WH3' WHERE 职工号='E11'2、(8分)如下命令建立的存储过程用于完成年终奖金的计算,请阅读程序、并填补缺失或不完整的语句:CREATE PROCEDURE p_年终奖计算year intAS--年终奖金=10000*(250 - 年缺勤天数+ 年加班天数)/250DECLARE no char(10) --职工证号DECLARE salary int --基本工资DECLARE absence_day int --年缺勤天数DECLARE overtime_day int --年加班天数DECLARE salary_year int --年终奖金--声明指向职工证号的游标DECLARE cur1 CURSOR FOR SELECT 职工证号FROM 职工--打开游标OPEN cur1--获取一个职工证号FETCH NEXT FROM cur1 INTO noWHILEBEGIN--从岗位表获取该职工的基本工资SELECT salary=基本工资FROM 岗位a JOIN 职工b ON a.岗位编号=b.岗位编号WHERE 职工证号=no--查询指定年月加班天数SELECT overtime_day=sum(加班_天数)FROM 加班明细WHERE (职工证号=no AND year(加班_日期)=year )--查询指定年月缺勤天数SELECT absence_day=sum(出勤_天数)FROM 出勤明细WHERE (职工证号=no AND year(出勤_天数)=year )--计算年终奖金SET salary_year=cast(10000*(250-absence_day+overtime_day)/250.0 as int) --将计算结果插入“奖金”表(该表有职工证号、年份和年终奖3个字段)--获取下一个职工的职工证号ENDDEALLOCATE cur13、(10分)假设有事务A和事务B并发执行,两个事务并发执行的时间序列和操作如下表所示:请回答如下问题:(1)t1时间事务B的SELECT语句能否及时执行?为什么?(2)t2时间事务B的SELECT语句能否及时执行?为什么?(3)t3时间事务B的SELECT语句能否及时执行?为什么?.. (4)t4时间事务A的UPDATE语句能否及时执行?为什么?(5)t5时间事务A的UPDATE语句能否及时执行?为什么?。