数据库原理复习题.doc_第1页
数据库原理复习题.doc_第2页
数据库原理复习题.doc_第3页
数据库原理复习题.doc_第4页
数据库原理复习题.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、单项选择题 1. 消除了非主属性对码的部分函数依赖的1NF的关系模式,必定是( ) 。 A. 1NF B. 2NF C. 3NF D. BCNF 2 .下列关于数据库恢复说法不正确的是( ) A.事物故障恢复采用日志文件 B.系统故障恢复采用日志文件 C.介质故障恢复采用日志文件 D.以上故障恢复均不采用日志文件 3. 下面( )不是常用的数据模型? A. 关系模型 B. 线性模型 C. 层次模型 D. 网状模型 4 .在数据库设计中,将E-R图转换成关系数据模型的过程属于( ) A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段 5 .DBMS中实现事务持久性的子系统是( ) A.安全性管理子系统 B.完整性管理子系统 C.并发控制子系统 D.恢复管理子系统 6.数据库与文件系统的根本区别在于( ) A.提高了系统效率 B.方便了用户使用 C.数据的结构化 D.节省了存储空间 7. SQL语言是( )的语言,容易学习 。 A.过程化 B. 非过程化 C.格式化 D. 导航式 8 为了防止一个用户的工作不适当地影响另一个用户,应该采取( ) 。 A. 完整性控制 B. 访问控制 C. 安全性控制 D. 并发控制 9 DBMS普遍采用( )方法来保证调度的正确性 。 A. 索引 B. 授权 C. 封锁 D. 日志 10事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放,这是( ) 。 A. 一级封锁协议 B. 二级封锁协议 C. 三级封锁协议 D. 零级封锁协议 11. 下面的选项不是关系数据库基本特征的是( )。 A.不同的列应有不同的数据类型 B.不同的列应有不同的列名 C.与行的次序无关 D.与列的次序无关 12. 关系模型中实现实体间 N:M 联系是通过增加一个( ) 。 A.关系实现 B. 属性实现 C. 关系或一个属性实现 D. 关系和一个属性实现 13. 关系代数运算是以( )为基础的运算 。 A. 关系运算 B. 谓词演算 C. 集合运算 D. 代数运算 14. 数据库设计可划分为七个阶段,每个阶段都有自己的设计内容,“为哪些关系,在哪些属性上、键什么样的索引”这一设计内容应该属于( )设计阶段。 A. 概念设计 B. 逻辑设计 C. 物理设计 D. 全局设计 15SQL语言中的COMMIT语句的主要作用是( )。 A. 结束程序 B. 返回系统 C. 提交事务 D. 存储数据 16一个事务的执行,要么全部完成,要么全部不做,一个事务中对数据库的所有操作都是一个不可分割的操作序列的属性是( ) 。 A. 原子性 B. 一致性 C. 独立性 D. 持久性 17.关系的主属性不能取空值,属于( ) A. 实体完整性约束 B.参照完整性约束 C. 用户定义完整性约束 D. 动态元组约束 18.如果一个关系属于第3范式,则它( ) A. 必然属于2NF B. 必然属于4NF C. 可能不属于2NF D. 必然属于BCNF 19.SQL语言集几个功能模块为一体,其中不包括( ) A. DDL B. DML C. DCL D. DNL 20.数据的物理独立性是由( )映射所支持的 A. 外模式/模式 B. 外模式/内模式 C. 模式/内模式 D. 子模式/逻辑模式21. 单个用户使用的数据视图的描述称为 () A. 外模式 B. 概念模式 C. 内模式 D. 存储模式 22. 子模式DDL用来描述 () A. 数据库的总体逻辑结构 B. 数据库的局部逻辑结构 C. 数据库的物理存储结构 D. 数据库的概念结构 23. 在DBS中,DBMS和OS之间的关系是 () A. 相互调用 B. DBMS调用OS C. OS调用DBMS D. 并发运行 24. 五种基本关系代数运算是 () A. ,-,和 B. ,-,和 C. ,和 D. ,和 25. 当关系R和S自然联接时,能够把R和S原该舍弃的元组放到结果关系中的操作是 () A. 左外联接 B. 右外联接 C. 外部并 D. 外联接 26. 下列聚合函数中不忽略空值 (null) 的是 () A. SUM (列名) B. MAX (列名) C. COUNT ( * ) D. AVG (列名) 27. 设关系模式R (A,B,C),F是R上成立的FD集,F = BC,则分解 = AB,BC相对于F () A. 是无损联接,也是保持FD的分解 B. 是无损联接,但不保持FD的分解 C. 不是无损联接,但保持FD的分解 D. 既不是无损联接,也不保持FD 的分解 28. 关系模式R分解成 = R1,Rk,F是R上的一个FD集,那么R中满足F的每一个关系r,与其投影联接表达式m(r) 间的关系满足 () A. r m(r) B. m(r) r C. r = m(r) D. rm(r) 29. 在数据库设计中,将ER图转换成关系数据模型的过程属于 () A. 需求分析阶段 B. 逻辑设计阶段 C. 概念设计阶段 D. 物理设计阶段 30. SQL中,下列涉及空值的操作,不正确的是 () A. AGE IS NULL B. AGE IS NOT NULL C. AGE = NULL D. NOT (AGE IS NULL) 31. 如果事务T获得了数据项Q上的排它锁,则T对Q () A. 只能读不能写 B. 只能写不能读 C. 既可读又可写 D. 不能读不能写 32. DBMS中实现事务持久性的子系统是 () A. 安全性管理子系统 B. 完整性管理子系统 C. 并发控制子系统 D. 恢复管理子系统 33. SQL的全局约束是指基于元组的检查子句和 () A. 非空值约束 B. 域约束子句 C. 断言 D. 外键子句 34. 分布式数据库系统中分片模式和分配模式均是 () A. 全局的 B. 局部的 C. 分布的 D. 集中的 35. 属性类型允许是基本数据类型、结构类型和集合类型的模型是 () A. 平面关系模型 B. 嵌套关系模型 C. 复合对象模型 D. 分布式关系模型 二、填空题1. 一个类可以从直接的或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的_。 2. 用树型结构表示实体类型及实体间联系的数据模型称为_。 3. 关系数据库的关系演算语言是以_为基础的DML语言。 4. 在函数信赖中,平凡的函数信赖根据Armstrong推理规则中的_律就可推出。 5. 设关系模式R (A,B,C),F是R上成立的FD集,F = BA,BC,则分解 = AB,AC丢失的FD是_。 6. 分布式数据库中定义数据分片时,必须满足三个条件:完备性条件、重构条件和_。 7. DB并发操作通常会带来三类问题,它们是丢失更新、_和读脏数据。 8. 事务必须具有的四个性质是:原子性、一致性、_和持久性。 9. 分布式数据库系统中透明性层次越高,应用程序的编写越_。 10. 在有泛化/细化联系的对象类型之间,较低层的对象类型称为_。 三、简答题1. 设有两个关系R (A,B,C) 和S (C,D,E),试用SQL查询语句表达下列关系代数表达式A,E (B = D (RS)。 SELECT A,E FROM R,S WHERE B = D AND R.C = S.C2. 设有关系模式R (A,B,C,D),F是R上成立的FD集,F = DA,DB,试写出关系模式R的候选键,并说明理由。 R的候选键是CD 理由:从已知的F,可导出DABD, 再根据增广律,可得出CDABCD, 即CD值可决定全部属性值。3. 两个函数信赖集F和G等价的充分必要条件是什么? F中每个FD在G+ 中,并且G中每个FD也在F+ 中。 4. 设有关系R和S,其中R为参照关系,S为信赖关系。为了实现完整性约束,SQL规定可以对R的删除操作采取哪三种措施?(1) RESTRICT (或 约束删除) (2) CASCADE (或级联删除) (3) SET NULL (或外键值置空) 5. 什么是分布式数据库的分布透明性?分布透明性是指用户不必关心数据的逻辑分片,不必关心数据物理位置分配的细节,也不必关心各个场地上数据库的数据模型。6. 什么是对象关系数据模型? 在传统的关系数据模型基础上,提供元组、数组、集合等数据类型以及处理新的数据类型操作的能力,这样形成的数据模型,称为“对象关系数据模型”。7.试述事务的概念及事务的四个特性。 答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。 事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这个四个特性也简称为ACID特性。 原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。 一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。 隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。 持续性:持续性也称永久性(Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。 8.为什么事务非正常结束时会影响数据库数据的正确性,请列举一例说明之。 答:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。例如某工厂的库存管理系统中,要把数量为Q的某种零件从仓库1移到仓库2存放。 则可以定义一个事务T,T包括两个操作;Q1=Q1-Q,Q2=Q2+Q。如果T非正常终止时只做了第一个操作,则数据库就处于不一致性状态,库存量无缘无故少了Q。 9.数据库中为什么要有恢复子系统?它的功能是什么? 答:因为计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此必须要有恢复子系统。 恢复子系统的功能是:把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)。 10数据库运行中可能产生的故障有哪几类?哪些故障影响事务的正常执行?哪些故障破坏数据库数据? 答:数据库系统中可能发生各种各样的故障,大致可以分以下几类: (1)事务内部的故障; (2)系统故障; (3)介质故障; (4)计算机病毒。 事务故障、系统故障和介质故障影响事务的正常执行;介质故障和计算机病毒破坏数据 库数据。 11据库恢复的基本技术有哪些? 答:数据转储和登录日志文件是数据库恢复的基本技术。 当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。 12. 数据库转储的意义是什么? 试比较各种数据转储方法。 答:数据转储是数据库恢复中采用的基本技术。所谓转储即DBA定期地将数据库复制到磁带或另一个磁盘上保存起来的过程。当数据库遭到破坏后可以将后备副本重新装入,将数据库恢复到转储时的状态。 静态转储:在系统中无运行事务时进行的转储操作。静态转储简单,但必须等待正运行的用户事务结束才能进行。同样,新的事务必须等待转储结束才能执行。显然,这会降低数据库的可用性。 动态转储:指转储期间允许对数据库进行存取或修改。动态转储可克服静态转储的缺点,它不用等待正在运行的用户事务结束,也不会影响新事务的运行。但是,转储结束时后援副本上的数据并不能保证正确有效。因为转储期间运行的事务可能修改了某些数据,使得后援副本上的数据不是数据库的一致版本。 为此,必须把转储期间各事务对数据库的修改活动登记下来,建立日志文件(log file)。这样,后援副本加上日志文件就能得到数据库某一时刻的正确状态。 转储还可以分为海量转储和增量转储两种方式。 海量转储是指每次转储全部数据库。增量转储则指每次只转储上一次转储后更新过的数据。从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来更简单些。但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。 13. 什么是日志文件?为什么要设立日志文件? 答:(1)日志文件是用来记录事务对数据库的更新操作的文件。 (2)设立日志文件的目的是: 进行事务故障恢复;进行系统故障恢复;协助后备副本进行介质故障恢复。 14. 登记日志文件时为什么必须先写日志文件,后写数据库? 答:把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。 如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO操作,并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。 15. 针对不同的故障,试给出恢复的策略和方法。(即如何进行事务故障的恢复?系统故障的恢复?介质故障恢复?) 答:事务故障的恢复: 事务故障的恢复是由DBMS自动完成的,对用户是透明的。 DBMS执行恢复步骤是: (1)反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。 (2)对该事务的更新操作执行逆操作。即将日志记录中“更新前的值”写入数据库。 (3)继续反向扫描日志文件,做同样处理。 四、设计题1. 依据第36题的关系数据库,试用SQL语句写出下列操作: 将所有在“联华公司”工作的职工加薪5。 UPDATE WORKS SET工资 = 工资 * 1.05 WHERE公司号IN (SELECT公司号 FROM COMPANY WHERE公司名 =联华公司); 2. 图书出版管理数据库中有两个基本表: 图书 (书号,书名,作者编号,出版社,出版日期) 作者 (作者编号,作者名,年龄,地址) 试用SQL语句写出下列查询:检索年龄低于作者平均年龄的所有作者的作者名、书名和出版社。 SELECT 作者名,书名,出版社 FROM 图书,作者 WHERE 图书 . 作者编号 = 作者 . 作者编号 AND 年龄 = (SELECT AVG (年龄) FROM 作者);3. 学校有多名学生,财务处每年要收一次学费。为财务处收学费工作设计一个数据库,包括两个关系: 学生 (学号,姓名,专业,入学日期) 收费 (学年,学号,学费,书费,总金额) 假设规定属性的类型:学费、书费、总金额为数值型数据;学号、姓名、学年、专业为字符型数据;入学日期为日期型数 据。列的宽度自定义。 试用SQL语句定义上述表的结构。(定义中应包括主键子句和外键子句) CREATE TABLE 学生 (学号 CHAR (8), 姓名 CHAR (8), 专业 CHAR (13), 入学日期 DATE, PRIMARY KEY (学号); CREATE TABLE 收费 (学年 CHAR (10), 学号 CHAR (8), 学费 NUMERIC (4), 书费 NUMERIC (5,2), 总金额 NUMERIC (7,2), PRIMARY KEY (学年,学号), FOREIGN KEY (学号) REFERENCES 学生 (学号);五、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论