2017年北京语言大学计算机应用技术826数据库与管理信息系统考研题库
● 摘要
一、简答题
1. 定义并解释以下术语:模式,外模式,内模式,数据定义语言,数据操纵语言。
【答案】(1)外模式:亦称子模式或用户模式,数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
(2)模式:亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的局部逻辑结构,通常是模式的子集。
(3)内模式:亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。
(4)数据定义语言(Data Definition Language,DDL ):用来定义数据库模式、外模式、内模式的语言。
(5)数据操纵语言(Data Manipulation Language, DML ):用来对数据库中的数据进行查询、插入、删除和修改的语句。
2. 试述关系模型的3个组成部分。
【答案】关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
(1)关系数据结构:在关系模型中,现实世界的实体以及实体间的各种联系均用单一的结构类型即关系来表示。
(2)关系操作集合:关系模型中常用的关系操作包括查询操作和插入、删除、修改操作。 (3)关系完整性约束:关系模型中有实体完整性约束、参照完整性约束和用户定义的完整性约束三类约束。
3. 描述MapReduce 的计算过程。分析MapReduce 技术作为大数据分析平台的优势和不足。
MapReduce 技术主要应用于大规模廉价集群上的大数据并行处理,【答案】(1)是以key/value
的分布式存储 系统为基础,通过元数据集中存储、数据以chunk 为单位分布存储和数据chunk 冗余复制来保证其高可用性。
(2)优势:MapReduce 是一种并行编程模型。其处理模式以离线式批量处理为主。
(3)MapReduce 存在如下不足:
①基于MapReduce 的应用软件较少,许多数据分析功能需要用户自行开发,从而导致使用成本増加;
②程序与数据缺乏独立性;
③在同等硬件条件下,MapReduce 的性能远低于并行数据库;
④MapReduce 处理连接的性能尤其不尽如人意。
4. 考虑定义在事务集(Tl , T2, T3)上的调度S1和S2,S1与S2是否是冲突等价的?为什么?
【答案】不是等价冲突,因为T1的write (Q )和T2的write (Q )是冲突的,不可交换。
【解析】不同事务的一对中的一组操作,有些是冲突的,有些是不冲突的。不冲突操作的次序可以互相调换,不致不会影响执行的结果。冲突等价调度是指一个调度S ,通过调换S 中的不冲突操作次序所得到的新调度称为S 的冲突等价调度。不冲突操作有两类:一是对同一数据均为
,Rj (x ); 二是对不同数据对象的一组操作中可以有写的操作,即Ri (x ),读操作,即Ri (x )
Wj (y )或Wi (x )Wj (y )。因为T1和T2对数据对象Q 进行了相同的写操作,所以是冲突的,所以S1和S2不是冲突等价的。
5. 什么是活锁?试述活锁的产生原因和解决方法。
【答案】(1)如果事务封锁了数据R ,事务又请求封锁R ,于是的请求,的请求等待。也请求封锁R ,当释放了R 上的封锁之后系统首先批准了释放了R 上的封锁之后系统批准了仍然等待。然后请求封锁R , 当有可能永远等待,这就是活锁,如图所示。
图
(2)活锁产生的原因:当一系列封锁不能按照其先后顺序执行时,可能导致一些事务无限期地等待某个封锁,从而导致活锁。
(3)避免活锁的解决方法是采用先来先服务的策略。当多个事务请求封锁同一数据对象时,
封锁子系统按请求封锁的先后次序对事务排队,数据对象上的锁一旦释放,就批准申请队列中第一个事务获得锁。
6. 试述数据模型的概念、数据模型的作用和数据模型的三个要素。
【答案】(1)数据模型是对现实世界数据特征的抽象,一般来讲,数据模型是严格定义的概念的集合。
(2)数据模型用来描述数据、组织数据和对数据进行操作。这些概念精确描述了系统的静态特性、动态特性和完整性约束条件。
(3)数据模型通常由数据结构、数据操作和完整性约束三部分组成:
①数据结构:它是所研宄的对象类型的集合,是对系统静态特性的描述。
②数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。
③完整性约束条件:数据的约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
7. 试述网状、层次数据库的优缺点。
【答案】(1)网状数据模型的优缺点:
优点:
①能够更为直接地描述现实世界,如一个结点可以有多个双亲。
②具有良好的性能,存取效率较高。
缺点:
①结构比较复杂,而且随着应用环境的扩大,数据库的结构会变得越来越复杂,不利于最终用户掌握。
②其DDL 、DML 语言复杂,用户不容易使用。网状数据模型记录之间的联系通过存取路径实现,应用程序在访问数据时必须选择适当的存取路径。因此,用户必须了解系统结构的细节,加重了编写应用程序的负担。
(2)层次模型的优缺点:
优点:
①模型简单,对具有一对多层次关系的部门描述非常自然、直观,容易理解。
②用层次模型的应用系统性能好,特别是对于那些实体间联系是固定的且预先定义好的应用,采用层次模型来实现,其性能优于关系模型。
③层次数据模型提供了良好的完整性支持。
缺点:
①现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个双亲等,层次模型不能自然地表示这类联系,只能通过引入冗余数据或引入虚拟结点来解决。