当前位置:文档之家› 数据库系统与原理(带着必过)

数据库系统与原理(带着必过)

数据库系统与原理(带着必过)
数据库系统与原理(带着必过)

1 数据管理技术的产生和发展

数据库技术是应数据管理任务的需要而产生的。

数据的处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。

数据管理则是指对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。

数据管理技术经历了人工管理、文件系统、数据库系统三个阶段。

人工管理阶段(20世纪50年代中期以前)特点:(1)数据不保存 (2)应用程序管理数据,数据需要由应用程序自己管理,没有相应的软件系统负责数据的管理工作。

(3)数据不共享。(4)数据不具有独立性

文件系统阶段(50年代后期-60年代中期)特点: (1)数据可长期保存 (2)由文件系统管理数据 (3)数据共享性差,冗余度大 (4)数据独立性差不容易扩充;数据与程序之间仍缺乏独立性;是一个无弹性的无结构的数据集合。

数据库系统阶段(60年代-)特点: (1)数据结构化 (2)数据的共享性高,冗余度低,易扩充(3)数据独立性高

物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。

逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,

数据独立性是由DBMS的二级映象功能来保证的。

(4)数据由DBMS统一管理和控制

数据库的共享是并发的(Concurrency) 。

DBMS还必须提供的数据控制功能:

(1)数据的安全性

(2)数据的完整性、正确性、有效性和相容性

(3)并发控制

(4)数据库恢复

数据库技术的发展是沿着数据模型的主线展开的。

数据模型是现实世界数据特征的抽象。

数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。

2数据模型应满足三方面要求:

一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。

根据应用的不同目的,数据模型划分为两类:

概念模型(信息模型)按用户的观点来对数据和信息建模;主要用于数据库设计。

数据模型

按计算机系统的观点对数据建模;

主要包括网状模型、层次模型、关系模型等,主要用于DBMS的实现。

3 数据模型的三个要素

1. 数据结构是所研究的对象类型的集合。

2. 数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。数据库主要有检索和更新(包括插入、删除、修改)

两大类操作。数据操作是对系统动态特性

的描述

3.数据的约束条件是一组完整性规则

的集合。

完整性规则是给定的数据模型中数

据及其联系所具有的制约和依存规则,用

以限定符合数据模型的数据库状态以及状

态的变化,以保证数据的正确、有效、相

容。

4 (1)实体

客观存在并可相互区别的事物称为实

体。

(2)属性实体所具有的某一特性称

为属性。一个实体可以由若干个属性来刻

画。

(3)码唯一标识实体的属性集称

为码。

(4)域属性的取值范围称为该属性

的域。

(5)实体型用实体名及其属性集合

来抽象和刻画同类实体,称为实体型。

(6)实体集同型实体的集合称为实

体集。

(7)联系在现实世界中,事物内部以

及事物之间是有联系的,这些联系在信息

世界中反映为实体(型)内部的联系和实体

(型)之间的联系。实体内部的联系通常是

指组成实体的各属性之间的联系。实体之

间的联系通常是指不同实体集之间的联

系。两个实体型之间的联系可以分为

三类:

一对一联系(1:1) ,一对多联系(1:n),

多对多联系(m:n),

5 数据模型

数据库领域中最常用的数据模型有四种

层次模型, 网状模型关系模型面

向对象模型

6 DBMS提供内模式描述语言(内模式

DDL,或者存储模式DDL)来严格地定义

内模式。

优点:

数据库的二级映象保证了数据库外模

式的稳定性,从而从底层保证了应用程序

的稳定性。

数据和程序之间的独立性使得数据的

定义和描述可以从应用程序中分离出去。

另外,由于数据的存取由DBMS管理,用户

不必考虑存取路径等细节,从而简化了应

用程序的编制,大大减少了应用程序的维

护和修改。

7 层次数据模型的优缺点优点:

优点:很少几条命令就能操纵数据库,使

用简单;

对于实体间联系是固定的,且预先

定义好的应用系统,采用层次模型性能优

于关系模型;

良好的完整性支持;

缺点:对于多对多联系,通过引入冗余数

据解决;

对插入和删除操作限制多;

查询子女结点必须通过双亲结点;

网状数据模型的优缺点优点:

能够更为直接地描述现实世界;

具有良好的性能,存取效率较高;

其DDL(数据定义语言)语言极其复

杂;

数据独立性差;

8 关系数据库的优缺点

优点:建立在严格的数学概念的基础上的;

关系模型的概念单一;

关系模型的存取路径对用户透明,

数据独立性高,安全保密性好;

缺点:查询效率不如非关系数据模型;

9 数据库管理系统

它是数据库系统的核心,是为数据

库建立、使用和维护而配置的软件;

建立在操作系统的基础上于操作系

统与用户之间的一层数据管理软

件;负责对数据进行同一的管理和

控制;

10 DBMS的功能

数据定义;数据操纵;数据库运行

管理;数据组织、存储和管理;

数据库的建立和维护;数据通道接

口;

11 DBMS的组成:数据定义语言及其翻译

处理程序;

数据操纵语言及其编译(或解释)

程序;

数据库运行控制程序;

实用程序

12 1:实体:客观存在并可相互区别的

事物。

2:模式:数据库中全体数据的逻辑结

构和特征的描述,是所有用户的公共数据

视图。

3:候选码:关系中能唯一地标识一个

元组的属性或属性组。

4:函数依赖:设R(U)是属性集U

上的关系模式,X,Y是U的子集,若对于

R(U)的任意一个可能的关系r,r中不可

能存在两个元组在X上的属性值相等,而

在Y上的属性值不等,则称X函数决定Y

或Y函数依赖于X,记为X Y。

5:事务:用户定义的一个数据库操作

序列,这些操作要么全做,要么全不做,

是一个不可分割的工作单位。

13 数据库系统的特点:

数据结构化,数据共享性高、冗余度低、

易扩充,数据独立性高,数据由DBMS统一

管理和控制。

14 查询优化的一般准则:

①选择运算应尽可能先做。

②在执行连接前对关系适当地预处理。

③把投影运算和选择运算同时进行

④把投影同其前或其后的双目运算结

合起来。

⑤把某些选择同在它前面要执行的笛

卡尔积结合起来成为一个连接运算。

⑥找出公共子表达式。

15 :数据库设计的特点:数据库建设是

硬件、软件、干件的结合,把结构设计和

行为设计密切结合起来。

16 事务的四个特性:原子性、一致性、

隔离性和持续性。

17 数据库数据具有 __永久存储有组

织和可共享_三个基本特点。

18 试述数据、数据库、数据库系统、数

据库管理系统的概念。

数据:描述事物的符号记录称为数据。数据库:数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。数据库系统:数据库系统( DBS )是指在计算机系统中引入数据库后的系统构成。数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。数据库管理系统:数据库管理系统 (DBMS) 是位于用户与操作系统之间的一层数据管理软件。DBMS 主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。

19 使用数据库系统有什么好处?

使用数据库系统的好处很多,例如可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担等。总之,使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,可以提高数据的利用率和一致性,又有利于应用程序的开发和维护。

20 . 试述文件系统与数据库系统的区别和联系。

区别:文件系统面向某一应用程序,共享性差、冗余度大,独立性差,纪录内有结构、整体无结构,应用程序自己控制。数据库系统面向现实世界,共享性高、冗余度小,具有高度的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力

21 . 试述数据模型的概念、数据模型的作用和数据模型的三个要素。

数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。一般地讲,数据模型是严格定义的概念的集合。这些概念精确地描述系统的静态特性、动态特性和完整性约束条件。因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。①数据结构:是所研究的对象类型的集合,是对系统的静态特性的描述。

②数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。③数据的约束条件:是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。

22 . 试述概念模型的作用。

概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。

23 . 定义并解释概念模型中以下术语:实体,实体型,实体集,属性,码,实体联系图( E-R 图)

实体:客观存在并可以相互区分的事物叫实体。实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性

名集合来抽象和刻画同类实体称为实体

型。实体集:同型实体的集合称为实体集。

属性:实体所具有的某一特性,一个实体

可由若干个属性来刻画。码:唯一标识实

体的属性集称为码。实体联系图: E-R 图

提供了表示实体型、属性和联系的方法:

实体型:用矩形表示,矩形框内写明实体

名。属性:用椭圆形表示,并用无向边

将其与相应的实体连接起来。联系:用菱

形表示,菱形框内写明联系名,并用无向

边分别与有关实体连接起来,同时在无向

边旁标上联系的类型( 1 : 1 , 1 : n 或

m : n )。

24 . 试述网状、层次数据库的优缺点。

层次模型的优点主要有: 1 )模型简单,

对具有一对多的层次关系的部门描述非常

自然、直观,容易理解, 2 )用层次模

型的应用系统性能好,特别是对于那些实

体间联系是固定的预先定义好的应用,采

用层次模型来实现,其性能优于关系模型;

3 )次数据模型提供了良好的完整性支

持。层次模型的缺点主要有: 1 )现实

世界中很多联系是非层次性的,如多对多

联系、一个结点具有多个双亲等,层次模

型不能自然地表示这类联系。只能通过引

入冗余数据或引入虚拟结点来解决。 2 )

对插入和删除操作的限制比较多。 3 )查

询子女结点必须通过双亲结点。

网状模型:网状数据模型的优点主要有:

1 )能够更为直接地描述现实世界,如一

个结点可以有多个双亲。 2 )具有良好的

性能,存取效率较高。网状数据模型的缺

点主要有: 1 )结构比较复杂,而且随

着应用环境的扩大,数据库的结构就变得

越来越复杂,不利于最终用户掌握。 2 )

其 DDL , DML 语言复杂,用户不容易使

用。由于记录之间联系是通过存取路径实

现的,应用程序在访问数据时必须选择适

当的存取路径。因此,用户必须了解系统

结构的细节,加重了编写应用程序的负担。

25 . 试述关系模型的概念,定义并解释

以下术语:( 1 )关系( 2 )属性( 3 )

域( 4 )元组( 5 )主码( 6 )分

量( 7 )关系模式

关系模型由关系数据结构、关系操作集

合和关系完整性约束三部分组成。在用户

观点下,关系模型中数据的逻辑结构是一

张二维表,它由行和列组成。(1)关系:

一个关系对应通常说的一张表。(2)属

性:表中的一列即为一个属性;(3)域:

属性的取值范围;(4)元组:表中的一

行即为一个元组;(5)码:表中的某个

属性组,它可以唯一确定一个元组;(6)

分量:元组中的一个属性值;(7)关系

模式:对关系的描述,一般表示为关系名

(属性1,属性2,、、、、,属性 n )。

26 . 试述关系数据库的特点。

关系数据模型具有下列优点: 1 关系模型

与非关系模型不同,它是建立在严格的数

学概念的基础上的。 2关系模型的概念单

一。无论实体还是实体之间的联系都用关

系表示。操作的对象和操作的结果都是关

系。所以其数据结构简单、清晰,用户易

懂易用。 3关系模型的存取路径对用户透

明,从而具有更高的数据独立性、更好的

安全保密性,也简化了程序员的工作和数

据库开发建立的工作。缺点:由于存取路

径对用户透明,查询效率往往不如非关系

数据模型。因此为了提高性能,必须对用

户的查询请求进行优化,增加了开发数据

库管理系统软件的难度。

27 . 试述数据库系统三级模式结构,这

种结构的优点是什么?

数据库系统的三级模式结构由外模式、

模式和内模式组成。外模式,亦称子模式

或用户模式,是数据库用户(包括应用程

序员和最终用户)能够看见和使用的局部

数据的逻辑结构和特征的描述,是数据库

用户的数据视图,是与某一应用有关的数

据的逻辑表示。模式,亦称逻辑模式,是

数据库中全体数据的逻辑结构和特性的描

述,是所有用户的公共数据视图。模式描

述的是数据的全局逻辑结构。外模式涉及

的是数据的局部的逻辑结构,通常是模式

的子集。内模式,亦称存储模式,是数据

在数据库系统内部的表示,即对数据的物

理结构和存储方式的描述。数据库系统的

三级模式是对数据的三个抽象级别,它把

数据的具体组织留给 DBMS 管理,使用户

能逻辑抽象地处理数据,而不必关心数据

在计算机中的表示和存储。为了能够在内

部实现这三个抽象层次的联系和转换,数

据库系统在这三级模式之间提供了两层映

象:外模式/模式映象和模式/内模式映

象。正是这两层映象保证了数据库系统中

的数据能够具有较高的逻辑独立性和物理

独立性。

28 . 定义并解释以下术语: DDL 、 DML

DDL :数据定义语言。用来定义数据

库模式、外模式、内模式的语言。 DML :

数据操纵语言。用来对数据库中的数据进

行查询、插入、删除和修改的语句。

29 . 什么叫数据与程序的物理独立性?什

么叫数据与程序的逻辑独立性?为什么

数据库系统具有数据与程序的独立性?

数据与程序的逻辑独立性:当模式改

变时、由数据库管理员对各个外模式/模

式的映象作相应改变,可以使外模式保持

不变。应用程序是依据数据的外模式编写

的,从而应用程序不必修改,保证了数据

与程序的逻辑独立性,简称数据的逻辑独

立性。数据与程序的物理独立性:当数据

库的存储结构改变了,由数据库管理员对

模式/内模式映象作相应改变,可以使模

式保持不变,从而应用程序也不必改变。

保证了数据与程序的物理独立性,简称数

据的物理独立性。数据库管理系统在三级

模式之间提供的两层映象保证了数据库系

统中的数据能够具有较高的逻辑独立性和

物理独立性。

30 . 试述数据库系统的组成。

数据库系统一般由数据库、数据库管理

系统(及其开发工具)、应用系统、数据库

管理员和用户构成。

31 .DBA 的职责是什么?

负责全面地管理和控制数据库系统。

具体职责包括:①决定数据库的信息内

容和结构;②决定数据库的存储结构和

存取策略;③定义数据的安全性要求和

完整性约束条件;④监督和控制数据库的试用和运行;⑤数据库系统的改进和重组。

32 . 系统分析员、数据库设计人员、应用程序员的职责是什么?

系统分析员负责应用系统的需求分析和规范说明,系统分析员要和用户及DBA 相结合,确定系统的硬件软件配置,并参与数据库系统的概要设计。数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。数据库设计人员必须参加用户需求调查和系统分析,然后进行数据库设计。在很多情况下,数据库设计人员就由数据库管理员担任。应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装。

33 . 试述关系模型的三个组成部分。

关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。

34 . 试述关系数据语言的特点和分类。

关系数据语言可以分为三类:关系代数语言,域关系演算语言包括:元组关系演算语言,具有关系代数和关系演算双重特点的语言特点是,具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用

35 . 定义并理解下列术语,说明它们之间的联系与区别 : ( 1 )域,笛卡尔积,关系,元组,属性( 2 )主码,候选码,外部码 (3) 关系模式,关系,关系数据库域:域是一组具有相同数据类型的值的集合。笛卡尔积:给定一组域D1 ,D2 ,…, Dn ,这些域中可以有相同的。这组域的笛卡尔积为:D1 × D2 ×…× Dn ={( d1 , d2 ,…, dn )| di?Di ,i = 1 , 2 ,…, n }其中每一个元素( d1 , d2 ,…, dn )叫作一个 n 元组( n-tuple )或简称元组( Tuple )。元素中的每一个值di 叫作一个分量(Component )。关系:在域D1 ,D2 ,…, Dn 上笛卡尔积D1 × D2 ×…× Dn 的子集称为关系,表示为 R ( D1 ,D2 ,…, Dn )元组:关系中的每个元素是关系中的元组。属性:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性。候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码。主码:若一个关系有多个候选码,则选定其中一个为主码。外部码:设 F 是基本关系 R 的一个或一组属性,但不是关系R 的码,如果 F 与基本关系 S 的主码 Ks 相对应,则称 F 是基本关系 R 的外部码,简称外码。基本关系 R 称为参照关系,基本关系 S 称为被参照关系或目标关系。关系 R 和 S 可以是相同的关系。关系模式:关系的描述称为关系模式。它可以形式化地表示为: R ( U , D , dom , F )其中 R 为关系名, U 为组成该关系的属性名集合, D 为属性组 U 中属性所来自的域, dom 为属性向域的映象集合, F 为属性间数据的依赖关系集合。关系:在域D1 , D2 ,…, Dn 上笛卡尔积D1 × D2 ×…× Dn 的子集称为关系,表示为 R ( D1 , D2 ,…, Dn )关系是关系模

式在某一时刻的状态或内容。关系模式是

静态的、稳定的,而关系是动态的、随时

间不断变化的,因为关系操作在不断地更

新着数据库中的数据。关系数据库:关系

数据库也有型和值之分。关系数据库的型

也称为关系数据库模式,是对关系数据库

的描述,它包括若干域的定义以及在这些

域上定义的若干关系模式。关系数据库的

值是这些关系模式在某一时刻对应的关系

的集合,通常就称为关系数据库。

36 . 试述关系模型的完整性规则。在参

照完整性中,为什么外部码属性的值也可

以为空?什么情况下才可以为空?

关系模型的完整性规则是对关系的某种

约束条件。关系模型中可以有三类完整性

约束:实体完整性、参照完整性和用户定

义的完整性。其中实体完整性和参照完整

性是关系模型必须满足的完整性约束条

件,被称作是关系的两个不变性,应该由

关系系统自动支持。 1) 实体完整性规则:

2) 参照完整性规则: 3) 用户定义的完整

性是针对某一具体关系数据库的约束条

件。它反映某一具体应用所涉及的数据必

须满足的语义要求。在参照完整性中,

外部码属性的值可以为空,它表示该属性

的值尚未确定。但前提条件是该外部码属

性不是其所在关系的主属性。

37 . 等值连接与自然连接的区别是什

么?

连接运算中有两种最为重要也最为常

用的连接,一种是等值连接,另一种是自

然连接。Θ为“=”的连接运算称为等值

连接。它是从关系 R 与 S 的笛卡尔积中

选取 A 、 B 属性值相等的那些元组。即

等值连接为: R A=B S = { t r t s | t

r∈ R ∧ t s∈ S ∧ t r [A] = t s

[B] } 自然连接是一种特殊的等值连

接,它要求两个关系中进行比较的分量必

须是相同的属性组,并且要在结果中把重

复的属性去掉。即若 R 和 S 具有相同的

属性组 B ,则自然连接可记作: R S = { t

r t s | t r∈ R ∧ t s∈ S ∧ t

r [B] = t s [B] }

38 . 代数的基本运算有哪些?如何用这

些基本运算来表示其他的关系基本运算?

在八种关系代数运算中,并、差、笛

卡尔积、投影和选择五种运算为基本的运

算。其他三种运算,即交、连接和除,均

可以用五种基本运算来表达。交运算: R ?

S = R-(R-S) 连接运算 R S = ?A?B(R?S)

A?B 除运算: R ( X , Y ) ? S ( Y ,

Z ) = ?X? - ?X ( ?X? ? ?Y(S) ?R ) X 、

Y 、 Z 为属性组, R 中的 Y 和 S 中的 Y

可以有不同的属性名,但必须出自相同的

域集。

1 . 试述 SQL 语言的特点。

( 1 )综合统一。 SQL 语言集数据定义

语言 DDL 、数据操纵语言 DML 、数据控

制语言 DCL 的功能于一体。( 2 )高度非

过程化。用 SQL 语言进行数据操作,只要

提出“做什么”,而无须指明“怎么做”,

因此无需了解存取路径,存取路径的选择

以及 SQL 语句的操作过程由系统自动完

成。( 3 )面向集合的操作方式。( 4 )

以同一种语法结构提供两种使用方式。

SQL 语言既是自含式语言,又是嵌入式语

言。( 5 )语言简捷,易学易用。

39 . 试述 SQL 的定义功能。

SQL 的数据定义功能包括定义表、定义

视图和定义索引。 SQL 语言使用 CREATE

TABLE 语句建立基本表, ALTER TABLE 语

句修改基本表定义, DROP TABLE 语句删

除基本表;使用 CREATE INDEX 语句建立

索引, DROP INDEX 语句删除索引;使用

CREATE VIEW 命令建立视图, DROP VIEW

语句删除视图。

40 . 什么是基本表?什么是视图?两者

的区别和联系是什么?

41 . 试述视图的优点。

42 . 所有的视图是否都可以更新?为什

么?

43 . 哪类视图是可以更新的,哪类视图

是不可更新的?各举一例说明。

44 . 在嵌入式 SQL 中是如何区分 SQL

语句和主语言语句的?

在 SQL 语句前加上前缀 EXEC SQL 。

SQL 语句的结束标志则随主语言的不同而

不同。

45 . 在嵌入式 SQL 中是如何解决数据

库工作单元与源程序工作单元之间通信

的?

数据库工作单元与源程序工作单元

之间的通信主要包括:( 1 ) SQL 通信

区 SQLCA ,用来向主语言传递 SQL 语句

的执行状态信息,使主语言能够根据此信

息控制程序流程。( 2 )主变量, 1 )用

来实现主语言向 SQL 语句提供参数。 2 )

将 SQL 语句查询数据库的结果交主语言

进一步处理( 3 )游标,解决集合性操作

语言与过程性操作语言的不匹配通过游标

逐一获取记录,并赋给主变量,交由主语

言进一步处理。

46 . 在嵌入式 SQL 中是如何协调 SQL

语言的集合处理方式和主语言的单记录处

理方式的?

用游标来协调这两种不同的处理方

式。游标区是系统为用户开设的一个数据

缓冲区,存放 SQL 语句的执行结果,每个

游标区都有一个名字。用户可以通过游标

逐一获取记录,并赋给主变量,交由主语

言进一步处理。

47 . 试给出各类关系系统的定义:最小

关系系统;关系上完备的系统;全关系型

的关系系统。

最小关系系统:一个系统可定义为最

小关系系统,当且仅当它:( 1 )支持关

系数据库。从用户观点看,关系数据库由

表构成,并且只有表这一种结构。( 2 )

支持选择、投影和(自然)连接运算,对

这些运算不必要求定义任何物理存取路

径。关系上完备的系统:这类系统支持关

系数据结构和所有的关系代数操作。全关

系型的关系系统:这类系统支持关系模型

的所有特征。即不仅是关系上完备的而且

支持数据结构中域的概念,支持实体完整

性和参照完整性。

48 . 试述全关系型系统应满足的十二条

准则,以及十二条基本准则的实际意义和

理论意义。

关系模型的奠基人 E.F.Codd 具体地给出了全关系型的关系系统应遵循的十二条基本准则。从实际意义上看,这十二条准则可以作为评价或购买关系型产品的标准。从理论意义上看,它是对关系数据模型的具体而又深入的论述,是从理论和实际紧密结合的高度对关系型 DBMS 的评述。准则 0 一个关系型的 DBMS 必须能完全通过它的关系能力来管理数据库。准则 1 信息准则。关系型 DBMS 的所有信息都应在逻辑一级上用一种方法即表中的值显式地表示。准则 2 保证访问准则。依靠表名、主码和列名的组合,保证能以逻辑方式访问关系数据库中的每个数据项( 分量值 ) 。准则 3 空值的系统化处理。全关系型的 DBMS 应支持空值的概念,并用系统化的方式处理空值。准则 4 基于关系模型的动态的联机数据字典。数据库的描述在逻辑级上应该和普通数据采用同样的表示方式,使得授权用户可以使用查询一般数据所用的关系语言来查询数据库的描述信息。准则 5 统一的数据子语言准则。准则 6 视图更新准则。所有理论上可更新的视图也应该允许由系统更新。准则 7 高级的插入、修改和删除操作。准则 8 数据物理独立性。无论数据库的数据在存储表示或存取方法上作任何变化,应用程序和终端活动都保持逻辑上的不变性。准则 9 数据逻辑独立性。当对基本关系进行理论上信息不受损害的任何改变时,应用程序和终端活动都保持逻辑上的不变性。准则 l0 数据完整性的独立性。关系数据库的完整性约束条件必须是用数据库语言定义并存储在数据字典中的,而不是在应用程序中加以定义的。准则 11 分布独立性。关系型 DBMS 具有分布独立性。准则 12 无破坏准则。如果一个关系系统具有一个低级 ( 指一次一个记录 ) 语言,则这个低级语言不能违背或绕过完整性准则。

49 . 试述查询优化在关系数据库系统中的重要性和可能性。

重要性:关系系统的查询优化既是RDBMS 实现的关键技术又是关系系统的优点所在。它减轻了用户选择存取路径的负担。用户只要提出“干什么”,不必指出“怎么干”。查询优化的优点不仅在于用户不必考虑如何最好地表达查询以获得较好的效率,而且在于系统可以比用户程序的“优化”做得更好。可能性:这是因为:( 1 )优化器可以从数据字典中获取许多统计信息,( 2 )如果数据库的物理统计信息改变了,系统可以自动对查询进行重新优化以选择相适应的执行计划。在非关系系统中必须重写程序,而重写程序在实际应用中往往是不太可能的。( 3 )优化器可以考虑数十甚至数百种不同的执行计划,从中选出较优的一个,而程序员一般只能考虑有限的几种可能性。( 4 )优化器中包括了很多复杂的优化技术,这些优化技术往往只有最好的程序员才能掌握。系统的自动优化相当于使得所有人都拥有这些优化技术。

50 . 试述查询优化的一般准则。

下面的优化策略一般能提高查询效率:( 1 )选择运算应尽可能先做。( 2 )

把投影运算和选择运算同时进行。( 3 )

把投影同其前或其后的双目运算结合起来

执行。( 4 )把某些选择同在它前面要

执行的笛卡尔积结合起来成为一个连接运

算。( 5 )找出公共子表达式。( 6 )

选取合适的连接算法

51 . 试述查询优化的一般步骤。

各个关系系统的优化方法不尽相同,

大致的步骤可以归纳如下 : ( 1 )把查

询转换成某种内部表示,通常用的内部表

示是语法树。( 2 )把语法树转换成标

准 ( 优化 ) 形式。即利用优化算法,把

原始的语法树转换成优化的形式。( 3 )

选择低层的存取路径。( 4 )生成查询

计划,选择代价最小的。

52 . 理解并给出下列术语的定义:函数依

赖、部分函数依赖、完全函数依赖、传递

依赖、候选码、主码、外码、全码

(All-key) 、 1NF 、 2NF 、 3NF 、 BCNF 、

多值依赖、 4NF 。

53 . 试述数据库设计过程。

这里只概要列出数据库设计过程的六

个阶段: 1) 需求分析 2) 概念结构设计

3) 逻辑结构设计 4) 数据库物理设计 5)

数据库实施 6) 数据库运行和维护这是一

个完整的实际数据库及其应用系统的设计

过程。不仅包括设计数据库本身,还包括

数据库的实施、数据库运行和维护。设计

一个完善的数据库应用系统往往是上述六

个阶段的不断反复。

54 . 试述数据库设计过程的各个阶段上的

设计描述。

各阶段的设计要点如下: 1) 需求分

析:准确了解与分析用户需求。 2) 概念

结构设计:通过对用户需求进行综合、归

纳与抽象,形成一个独立于具体 DBMS 的

概念模型。 3) 逻辑结构设计:将概念结

构转换为某个 DBMS 所支持的数据模型,

并对其进行优化。 4) 数据库物理设计:

为逻辑数据模型选取一个最适合应用环境

的物理结构。 5) 数据库实施:设计人员

运用 DBMS 提供的数据语言、工具及宿主

语言,根据逻辑设计和物理设计的结果建

立数据库,编制与调试应用程序,组织数

据入库,并进行试运行。 6) 数据库运行

和维护:在数据库系统运行过程中对其进

行评价、调整与修改。

55 . 试述数据库设计过程中结构设计部分

形成的数据库模式。

数据库结构设计的不同阶段形成数据

库的各级模式,即:在概念设计阶段形成

独立于机器特点,独立于各个 DBMS 产品

的概念模式,在本篇中就是 E-R 图; ? 在

逻辑设计阶段将 E-R 图转换成具体的数

据库产品支持的数据模型,如关系模型,

形成数据库逻辑模式;然后在基本表的基

础上再建立必要的视图 (View) ,形成数

据的外模式; ? 在物理设计阶段,根据

DBMS 特点和处理的需要,进行物理存储安

排,建立索引,形成数据库内模式。

56 . 试述数据库设计的特点。

特点有: 1) 数据库建设是硬件、软件

和干件(技术与管理的界面)的结合。 2)

从软件设计的技术角度看,数据库设计应

该和应用系统设计相结合,也就是说,整

个设计过程中要把结构(数据)设计和行

为(处理)设计密切结合起来。

57 . 需求分析阶段的设计目标是什么?调

查的内容是什么?

需求分析阶段的设计目标是通过详细

调查现实世界要处理的对象,充分了解原

系统工作概况,明确用户的各种需求,然

后在此基础上确定新系统的功能。调查的

内容是“数据”和“处理”,即获得用户

对数据库的如下要求:( 1 )信息要求。

指用户需要从数据库中获得信息的内容与

性质。由信息要求可以导出数据要求,即

在数据库中需要存储哪些数据。( 2 )处

理要求。指用户要完成什么处理功能,对

处理的响应时间有什么要求,处理方式是

批处理还是联机处理。( 3 )安全性与完

整性要求。

58 . 数据字典的内容和作用是什么?

数据字典是系统中各类数据描述的集

合。数据字典的内容通常包括:数据项、

数据结构、数据流、数据存储、处理过程

五个部分其中数据项是数据的最小组成单

位,若干个数据项可以组成一个数据结构。

数据字典通过对数据项和数据结构的定义

来描述数据流、数据存储的逻辑内容。数

据字典的作用:数据字典是关于数据库中

数据的描述,在需求分析阶段建立,是下

一步进行概念设计的基础,并在数据库设

计过程中不断修改、充实、完善。

59 . 什么是数据库的概念结构?试述其特

点和设计策略。

概念结构是信息世界的结构,即概念

模型,其主要特点是:( 1 )能真实、充

分地反映现实世界,包括事物和事物之间

的联系,能满足用户对数据的处理要求。

是对现实世界的一个真实模型。( 2 )易

于理解,从而可以用它和不熟悉计算机的

用户交换意见,用户的积极参与是数据库

的设计成功的关键。( 3 )易于更改,当

应用环境和应用要求改变时,容易对概念

模型修改和扩充。( 4 )易于向关系、网

状、层次等各种数据模型转换。概念结构

的设计策略通常有四种:1 自顶向下。即

首先定义全局概念结构的框架,然后逐步

细化; 2 自底向上。即首先定义各局部应

用的概念结构,然后将它们集成起来,得

到全局概念结构; 3 逐步扩张。首先定义

最重要的核心概念结构,然后向外扩充,

以滚雪球的方式逐步生成其他概念结构,

直至总体概念结构; 4 混合策略。即将自

顶向下和自底向上相结合,用自顶向下策

略设计一个全局概念结构的框架,以它为

骨架集成由自底向上策略中设计的各局部

概念结构。

60 . 什么叫数据抽象?试举例说明。

数据抽象是对实际的人、物、事和概

念进行人为处理,抽取所关心的共同特性,

忽略非本质的细节,并把这些特性用各种

概念精确地加以描述,这些概念组成了某

种模型。如分类这种抽象是:定义某一类

概念作为现实世界中一组对象的类型。这

些对象具有某些共同的特性和行为。它抽

象了对象值和型之间的“ is member of ”

的语义。在 E-R 模型中,实体型就是这种

抽象。例如在学校环境中,李英是老师,表示李英是教师类型中的一员,则教师是实体型,李英是教师实体型中的一个实体值,具有教师共同的特性和行为:在某个系某个专业教学,讲授某些课程,从事某个方向的科研。

61 . 试述数据库概念结构设计的重要性和设计步骤。

重要性:数据库概念设计是整个数据库设计的关键,将在需求分析阶段所得到的应用需求首先抽象为概念结构,以此作为各种数据模型的共同基础,从而能更好地、更准确地用某一 DBMS 实现这些需求。

设计步骤:概念结构的设计方法有多种,其中最经常采用的策略是自底向上方法,该方法的设计步骤通常分为两步:第 1 步是抽象数据并设计局部视图,第 2 步是集成局部视图,得到全局的概念结构

62 . 什么是 E-R 图?构成 E-R 图的基本要素是什么?

E-R 图为实体 - 联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。构成 E-R 图的基本要素是实体型、属性和联系,其表示方法为:实体型:用矩形表示,矩形框内写明实体名;属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型( 1 : 1 , 1 : n 或 m : n )。

63 . 为什么要视图集成?视图集成的方法是什么?

在对数据库系统进行概念结构设计时一般采用自底向上的设计方法,把繁杂的大系统分解子系统。首先设计各个子系统的局部视图,然后通过视图集成的方式将各子系统有机的融合起来,综合成一个系统的总视图。这样设计清晰,由简到繁。由于数据库系统是从整体角度看待和描述数据的,因此数据不再面向某个应用而是整个系统。因此必须进行视图集成,使得数据库能被全系统的多个用户、多个应用共享使用。一般说来,视图集成可以有两种方式:多个分 E-R 图一次集成;逐步集成,用累加的方式一次集成两个分E-R 图。无论采用哪种方式,每次集成局部 E-R 图时都需要分两步走:( 1 )合并。解决各分 E-R 图之间的冲突,将各分 E-R 图合并起来生成初步 E-R 图。( 2 )修改和重构。消除不必要的冗余,生成基本 E-R 图。

64 . 什么是数据库的逻辑结构设计?试述其设计步骤。

数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本 E-R 图转换为与选用的 DBMS 产品所支持的数据模型相符合的逻辑结构。:( 1 )将概念结构转换为一般的关系、网状、层次模型;( 2 )将转换来的关系、网状、层次模型向特定DBMS 支持下的数据模型转换;( 3 )对数据模型进行优化。

65 . 试述把 E-R 图转换为 DBTG 模型和关系模型的转换规则。

E-R 图向 DBTG 模型的转换规则: 1) 每个实体型转换为记录型,实体的属性转

换为记录的数据项; 2) 实体型之间 1 :

n (n ≥ 1 )的联系转换为一个系,没

有任何联系的实体型转换为奇异系; 3) K

(K ≥ 2 )个实体型之间多对多的联系,

引入一个连结记录,形成 K 个实体型和连

结记录之间的 K 个系。连结记录的属性由

诸首记录的码及联系属性所组成; 4) 同

一实体型内的 1 : n , n : m 联系,

引入连结记录,转换为两个系。

66. 你能给出由 E-R 图转换为 IMS 模型

的转换规则吗?

E-R 图向 IMS 模型的转换规则: 1)

每个实体型转换为记录型,实体的属性转

换为记录的数据项; 2) 实体型之间 1 :

n (n ≥ 1 )的联系转换记录型之间的

有向边; 3) 实体型之间 m : n ( m>1 ,

n>1 )的联系则分解成一对多联系,再根

据 2) 转换; 4) K (K ≥ 2 )个实体

型之间多对多的联系,可先转换成多对两

个实体型之间的联系,再根据 3) 转换。

67 . 规范化理论对数据库设计有什么指导

意义?

规范化理论为数据库设计人员判断关

系模式优劣提供了理论标准,可用以指导

关系数据模型的优化,用来预测模式可能

出现的问题,为设计人员提供了自动产生

各种模式的算法工具,使数据库设计工作

有了严格的理论基础。

68 . 试述数据库物理设计的内容和步骤。

数据库在物理设备上的存储结构与存

取方法称为数据库的物理结构,它依赖于

给定的 DBMS 。为一个给定的逻辑数据模

型选取一个最适合应用要求的物理结构,

就是数据库的物理设计的主要内容。数据

库的物理设计步骤通常分为两步:( 1 )

确定数据库的物理结构,在关系数据库中

主要指存取方法和存储结构;( 2 )对物

理结构进行评价,评价的重点是时间和空

间效率。

69 . 你能给出关系数据库物理设计的主要

内容吗?例如 ORACLE 数据库物理设计的

内容。

对于关系数据库物理设计的内容主要

包括: ? 为关系模式选择存取方法; ?

设计关系、索引等数据库文件的物理存储

结构。有关 ORACLE 数据库物理设计的内

容请参考其技术资料,根据上述内容进行

总结。

70 . 数据输入在实施阶段的重要性是什

么?如何保证输入数据的正确性?

数据库是用来对数据进行存储、管理

与应用的,因此在实施阶段必须将原有系

统中的历史数据输入到数据库。数据量一

般都很大,而且数据来源于部门中的各个

不同的单位。数据的组织方式、结构和格

式都与新设计的数据库系统有相当的差

距,组织数据录入就要将各类源数据从各

个局部应用中抽取出来,分类转换,最后

综合成符合新设计的数据库结构的形式,

输入数据库。因此这样的数据转换、组织

入库的工作是相当费力费时的工作。特别

是原系统是手工数据处理系统时,各类数

据分散在各种不同的原始表格、凭证、单

据之中。数据输入工作量更大。保证输入

数据正确性的方法:为提高数据输入工作

的效率和质量,应该针对具体的应用环境

设计一个数据录入子系统,由计算机来完

成数据入库的任务。在源数据入库之前要

采用多种方法对它们进行检验,以防止不

正确的数据入库。

71 . 什么是数据库的再组织和重构造?为

什么要进行数据库的再组织和重构造?

数据库的再组织是指:按原设计要求

重新安排存储位置、回收垃圾、减少指针

链等,以提高系统性能。数据库的重构造

则是指部分修改数据库的模式和内模式,

即修改原设计的逻辑和物理结构。数据库

的再组织是不修改数据库的模式和内模式

的。进行数据库的再组织和重构造的原因:

数据库运行一段时间后,由于记录不断增、

删、改,会使数据库的物理存储情况变坏,

降低了数据的存取效率,数据库性能下降,

这时 DBA 就要对数据库进行重组织。

DBMS 一般都提供数据重组织用的实用程

序。数据库应用环境常常发生变化,如增

加新的应用或新的实体,取消了某些应用,

有的实体与实体间的联系也发生了变化

等,使原有的数据库设计不能满足新的需

求,需要调整数据库的模式和内模式。这

就要进行数据库重构造。

72 . 试述事务的概念及事务的四个特性。

事务是用户定义的一个数据库操作

序列,这些操作要么全做要么全不做 , 是

一个不可分割的工作单位。事务具有四个

特性:原子性、一致性、隔离性和持续性)。

这个四个特性也简称为 ACID 特性。原子

性:事务是数据库的逻辑工作单位,事务

中包括的诸操作要么都做,要么都不做。

一致性:事务执行的结果必须是使数据库

从一个一致性状态变到另一个一致性状

态。隔离性:一个事务的执行不能被其他

事务干扰。即一个事务内部的操作及使用

的数据对其他并发事务是隔离的,并发执

行的各个事务之间不能互相干扰。持续性:

持续性也称永久性,指一个事务一旦提交,

它对数据库中数据的改变就应该是永久性

的。接下来的其他操作或故障不应该对其

执行结果有任何影响。

73 . 为什么事务非正常结束时会影响数据

库数据的正确性,请列举一例说明之。

事务执行的结果必须是使数据库从

一个一致性状态变到另一个一致性状态。

如果数据库系统运行中发生故障,有些事

务尚未完成就被迫中断,这些未完成事务

对数据库所做的修改有一部分已写入物理

数据库,这时数据库就处于一种不正确的

状态,或者说是不一致的状态。例如某工

厂的库存管理系统中,要把数量为 Q 的某

种零件从仓库 1 移到仓库 2 存放。则可

以定义一个事务 T , T 包括两个操作;

Q1=Q1-Q , Q2=Q2+Q 。如果 T 非正常终

止时只做了第一个操作,则数据库就处于

不一致性状态,库存量无缘无故少了 Q 。

74 . 数据库中为什么要有恢复子系统?它

的功能是什么?

因为计算机系统中硬件的故障、软件

的错误、操作员的失误以及恶意的破坏是

不可避免的,这些故障轻则造成运行事务

非正常中断,影响数据库中数据的正确性,

重则破坏数据库,使数据库中全部或部分数据丢失,因此必须要有恢复子系统。恢复子系统的功能是:把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)。

75 . 数据库运行中可能产生的故障有哪几类?哪些故障影响事务的正常执行?哪些故障破坏数据库数据?

数据库系统中可能发生各种各样的故障,大致可以分以下几类:( 1 )事务内部的故障;( 2 )系统故障;( 3 )介质故障;( 4 )计算机病毒。事务故障、系统故障和介质故障影响事务的正常执行;介质故障和计算机病毒破坏数据库数据。

76 . 数据库恢复的基本技术有哪些?

数据转储和登录日志文件是数据库恢复的基本技术。当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。

77 . 数据库转储的意义是什么?试比较各种数据转储方法。

数据转储是数据库恢复中采用的基本技术。所谓转储即 DBA 定期地将数据库复制到磁带或另一个磁盘上保存起来的过程。当数据库遭到破坏后可以将后备副本重新装入,将数据库恢复到转储时的状态。静态转储:在系统中无运行事务时进行的转储操作。如上图所示。静态转储简单,但必须等待正运行的用户事务结束才能进行。同样,新的事务必须等待转储结束才能执行。显然,这会降低数据库的可用性。动态转储:指转储期间允许对数据库进行存取或修改。动态转储可克服静态转储的缺点,它不用等待正在运行的用户事务结束,也不会影响新事务的运行。但是,转储结束时后援副本上的数据并不能保证正确有效。因为转储期间运行的事务可能修改了某些数据,使得后援副本上的数据不是数据库的一致版本。为此,必须把转储期间各事务对数据库的修改活动登记下来,建立日志文件。这样,后援副本加上日志文件就能得到数据库某一时刻的正确状态。转储还可以分为海量转储和增量转储两种方式。海量转储是指每次转储全部数据库。增量转储则指每次只转储上一次转储后更新过的数据。从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来更简单些。但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。

78 . 什么是日志文件?为什么要设立日志文件?

( 1 )日志文件是用来记录事务对数据库的更新操作的文件。( 2 )设立日志文件的目的是:进行事务故障恢复;进行系统故障恢复;协助后备副本进行介质故障恢复。

79. 登记日志文件时为什么必须先写日志文件,后写数据库?

把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。如果先写了数据库修改,而在运行

记录中没有登记这个修改,则以后就无法

恢复这个修改了。如果先写日志,但没有

修改数据库,在恢复时只不过是多执行一

次 UNDO 操作,并不会影响数据库的正确

性。所以一定要先写日志文件,即首先把

日志记录写到日志文件中,然后写数据库

的修改。

80 . 针对不同的故障,试给出恢复的策略

和方法。(即如何进行事务故障的恢复?系

统故障的恢复?介质故障恢复?)

答:事务故障的恢复:事务故障的恢

复是由 DBMS 自动完成的,对用户是透明

的。 DBMS 执行恢复步骤是:( 1 )反向

扫描文件日志(即从最后向前扫描日志文

件),查找该事务的更新操作。( 2 )对该

事务的更新操作执行逆操作。即将日志记

录中“更新前的值”写入数据库。( 3 )

继续反向扫描日志文件,做同样处理。

( 4 )如此处理下去,直至读到此事务的

开始标记,该事务故障的恢复就完成了。

答:系统故障的恢复:系统故障可能会造

成数据库处于不一致状态:一是未完成事

务对数据库的更新可能已写入数据库;二

是已提交事务对数据库的更新可能还留在

缓冲区,没来得及写入数据库。因此恢复

操作就是要撤销 (UNDO) 故障发生时未完

成的事务,重做 (REDO) 已完成的事务。

系统的恢复步骤是:( 1 )正向扫描日志

文件,找出在故障发生前已经提交的事务

队列( REDO 队列)和未完成的事务队列

( UNDO 队列)。( 2 )对撤销队列中的各

个事务进行 UNDO 处理。进行 UNDO 处理

的方法是,反向扫描日志文件,对每个

UNDO 事务的更新操作执行逆操作,即将日

志记录中“更新前的值”(Before

Image )写入数据库。( 3 )对重做队列

中的各个事务进行 REDO 处理。进行 REDO

处理的方法是:正向扫描日志文件,对每

个 REDO 事务重新执行日志文件登记的操

作。即将日志记录中“更新后的值”

( After Image )写入数据库。恢复方法

是重装数据库,然后重做已完成的事务。

具体过程是:( 1 ) DBA 装入最新的数据

库后备副本(离故障发生时刻最近的转储

副本),使数据库恢复到转储时的一致性状

态。( 2 ) DBA 装入转储结束时刻的日志

文件副本( 3 ) DBA 启动系统恢复命令,

由 DBMS 完成恢复功能,即重做已完成的

事务。

81 . 什么是检查点记录,检查点记录包括

哪些内容?

检查点记录是一类新的日志纪录。它

的内容包括:①建立检查点时刻所有正

在执行的事务清单。②这些事务的最近

一个日志记录的地址。

82 . 具有检查点的恢复技术有什么优点?

试举一个具体的例子加以说明。

利用日志技术进行数据库恢复时,

恢复子系统必须搜索日志,确定哪些事务

需要 REDO ,哪些事务需要 UNDO 。一般

来说,需要检查所有日志记录。这样做有

两个问题:一是搜索整个日志将耗费大量

的时间。二是很多需要 REDO 处理的事务

实际上已经将它们的更新操作结果写到数

据库中了,恢复子系统又重新执行了这些

操作,浪费了大量时间。检查点技术就是

为了解决这些问题。

83 . 试述使用检查点方法进行恢复的步

骤。

①从重新开始文件中找到最后一个

检查点记录在日志文件中的地址,由该地

址在日志文件中找到最后一个检查点记

录。②由该检查点记录得到检查点建立

时刻所有正在执行的事务清单

ACTIVE-LIST 。这里建立两个事务队列 : ?

UNDO-LIST: 需要执行 undo 操作的事务

集合; ? REDO-LIST: 需要执行 redo 操

作的事务集合;把 ACTIVE-LIST 暂时放入

UNDO-LIST 队列, REDO 队列暂为空。③

从检查点开始正向扫描日志文件 ? 如有

新开始的事务Ti ,把Ti 暂时放入

UNDO-LIST 队列;? 如有提交的事务

Tj ,把Tj 从UNDO-LIST 队列移到

REDO-LIST 队列,直到日志文件结束;④

对 UNDO-LIST 中的每个事务执行 UNDO

操作 , 对 REDO-LIST 中的每个事务执行

REDO 操作。

84 . 什么是数据库镜像?它有什么用途?

数据库镜像即根据 DBA 的要求,自

动把整个数据库或者其中的部分关键数据

复制到另一个磁盘上。每当主数据库更新

时, DBMS 自动把更新后的数据复制过去,

即 DBMS 自动保证镜像数据与主数据的一

致性。数据库镜像的用途有:一是用于数

据库恢复。当出现介质故障时,可由镜像

磁盘继续提供使用,同时 DBMS 自动利用

镜像磁盘数据进行数据库的恢复,不需要

关闭系统和重装数据库副本。二是提高数

据库的可用性。在没有出现故障时,当一

个用户对某个数据加排它锁进行修改时,

其他用户可以读镜像数据库上的数据,而

不必等待该用户释放锁。

85 . 在数据库中为什么要并发控制?

数据库是共享资源,通常有许多个事

务同时在运行。当多个事务并发地存取数

据库时就会产生同时读取和 / 或修改同

一数据的情况。若对并发操作不加控制就

可能会存取和存储不正确的数据,破坏数

据库的一致性。所以数据库管理系统必须

提供并发控制机制

86 、并发操作带来的数据不一致性包括三

类:丢失修改、不可重复读和读“脏”数

据。( 1 )丢失修改两个事务 T1 和 T2

读入同一数据并修改, T2 提交的结果破

坏了(覆盖了) T1 提交的结果,导致 T1

的修改被丢失。( 2 )不可重复读是指

事务 T1 读取数据后,事务 T2 执行更新

操作,使 T1 无法再现前一次读取结果。

不可重复读包括三种情况:( 3 )读

“脏”数据是指事务 T1 修改某一数据,

并将其写回磁盘,事务 T2 读取同一数据

后, T1 由于某种原因被撤销,这时 T1 已

修改过的数据恢复原值, T2 读到的数据

就与数据库中的数据不一致,则 T2 读到

的数据就为“脏”数据,即不正确的数据。

避免不一致性的方法就是并发控制。最常

用的并发控制技术是封锁技术。也可以用

其他技术,例如在分布式数据库系统中可

以采用时间戳方法来进行并发控制。

87 . 什么是封锁?

封锁就是事务 T 在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务 T 就对该数据对象有了一定的控制,在事务 T 释放它的锁之前,其他的事务不能更新此数据对象。封锁是实现并发控制的一个非常重要的技术。

88 . 基本的封锁类型有几种?试述它们的含义。

基本的封锁类型有两种 : 排它锁(简称X 锁) 和共享锁(简称S 锁 ) 。排它锁又称为写锁。若事务 T 对数据对象 A 加上 X 锁,则只允许 T 读取和修改 A ,其他任何事务都不能再对 A 加任何类型的锁,直到 T 释放 A 上的锁。这就保证了其他事务在 T 释放 A 上的锁之前不能再读取和修改 A 。共享锁又称为读锁。若事务 T 对数据对象 A 加上 S 锁,则事务 T 可以读 A 但不能修改 A ,其他事务只能再对 A 加 S 锁,而不能加X 锁,直到 T 释放 A 上的 S 锁。这就保证了其他事务可以读 A ,但在 T 释放 A 上的 S 锁之前不能对 A 做任何修改。

89 . 什么是封锁协议?不同级别的封锁协议的主要区别是什么?

在运用封锁技术对数据加锁时,要约定一些规则。例如,在运用 X 锁和 S 锁对数据对象加锁时,要约定何时申请 X 锁或 S 锁、何时释放封锁等。这些约定或者规则称为封锁协议。对封锁方式约定不同的规则,就形成了各种不同的封锁协议。不同级别的封锁协议。一级封锁协议:事务 T 在修改数据 R 之前必须先对其加 X 锁,直到事务结束才释放。二级封锁协议:一级封锁协议加上事务 T 在读取数据 R 之前必须先对其加 S 锁,读完后即可释放S 锁。三级封锁协议:一级封锁协议加上事务 T 在读取数据 R 之前必须先对其加S 锁,直到事务结束才释放。

90 . 不同封锁协议与系统一致性级别的关系是什么?

不同的封锁协议对应不同的一致性级别。一级封锁协议可防止丢失修改,并保证事务 T 是可恢复的。在一级封锁协议中,对读数据是不加 S 锁的,所以它不能保证可重复读和不读“脏”数据。二级封锁协议除防止了丢失修改,还可进一步防止读“脏”数据。在二级封锁协议中,由于读完数据后立即释放 S 锁,所以它不能保证可重复读。在三级封锁协议中,无论是读数据还是写数据都加长锁,即都要到事务结束时才释放封锁。所以三级封锁协议除防止了丢失修改和不读“脏”数据外,还进一步防止了不可重复读。

91 . 什么是活锁?什么是死锁?

如果事务 T1 封锁了数据 R ,事务 T2 又请求封锁 R ,于是 T2 等待。 T3 也请求封锁 R ,当 T1 释放了 R 上的封锁之后系统首先批准了 T3 的请求, T2 仍然等待。然后 T4 又请求封锁 R ,当 T3 释放了 R 上的封锁之后系统又批准了 T4 的请求…… T2 有可能永远等待,这就是活锁的情形。活锁的含义是该等待事务等待时间太长,似乎被锁住了,实际上可能被激活。如果事务 T1 封锁了数据 R1 ,

T2 封锁了数据 R2 ,然后 T1 又请求封锁

R2 ,因 T2 已封锁了 R2 ,于是 T1 等待

T2 释放 R2 上的锁。接着 T2 又申请封锁

R1 ,因 T1 已封锁了 R1 , T2 也只能等

待 T1 释放 R1 上的锁。这样就出现了 T1

在等待 T2 ,而 T2 又在等待 T1 的局面,

T1 和 T2 两个事务永远不能结束,形成死

锁。

92 . 试述活锁的产生原因和解决方法。

活锁产生的原因:当一系列封锁不

能按照其先后顺序执行时,就可能导致一

些事务无限期等待某个封锁,从而导致活

锁。避免活锁的简单方法是采用先来先服

务的策略。当多个事务请求封锁同一数据

对象时,封锁子系统按请求封锁的先后次

序对事务排队,数据对象上的锁一旦释放

就批准申请队列中第一个事务获得锁。

93 . 请给出预防死锁的若干方法。

在数据库中,产生死锁的原因是两

个或多个事务都已封锁了一些数据对象,

然后又都请求已被其他事务封锁的数据加

锁,从而出现死等待。防止死锁的发生其

实就是要破坏产生死锁的条件。预防死锁

通常有两种方法:( 1 )一次封锁法要求

每个事务必须一次将所有要使用的数据全

部加锁,否则就不能继续执行。( 2 )顺

序封锁法预先对数据对象规定一个封锁顺

序,所有事务都按这个顺序实行封锁。

94 . 请给出检测死锁发生的一种方法,当

发生死锁后如何解除死锁?

数据库系统一般采用允许死锁发

生, DBMS 检测到死锁后加以解除的方法。

DBMS 中诊断死锁的方法与操作系统类似,

一般使用超时法或事务等待图法。超时法

是:如果一个事务的等待时间超过了规定

的时限,就认为发生了死锁。超时法实现

简单,但有可能误判死锁,事务因其他原

因长时间等待超过时限时,系统会误认为

发生了死锁。若时限设置得太长,又不能

及时发现死锁发生。 DBMS 并发控制子系

统检测到死锁后,就要设法解除。通常采

用的方法是选择一个处理死锁代价最小的

事务,将其撤消,释放此事务持有的所有

锁,使其他事务得以继续运行下去。当然,

对撤销的事务所执行的数据修改操作必须

加以恢复。

95 . 什么样的并发调度是正确的调度?

可串行化的调度是正确的调度。可

串行化的调度的定义:多个事务的并发执

行是正确的,当且仅当其结果与按某一次

序串行地执行它们时的结果相同,我们称

这种调度策略为可串行化的调度。

96 . 试述两段锁协议的概念。

两段锁协议是指所有事务必须分

两个阶段对数据项加锁和解锁。 ? 在对任

何数据进行读、写操作之前,首先要申请

并获得对该数据的封锁; ? 在释放一个封

锁之后,事务不再申请和获得任何其他封

锁。“两段”的含义是,事务分为两个阶

段:第一阶段是获得封锁,也称为扩展阶

段。在这阶段,事务可以申请获得任何数

据项上的任何类型的锁,但是不能释放任

何锁。第二阶段是释放封锁,也称为收缩

阶段。在这阶段,事务释放已经获得的锁,

但是不能再申请任何锁。

97 . 试证明,若并发事务遵守两段锁协议,

则对这些事务的并发调度是可串行化的。

首先以两个并发事务 T1 和 T2 为

例,存在多个并发事务的情形可以类推。

根据可串行化定义可知,事务不可串行化

只可能发生在下列两种情况: 1 .事务 T1

写某个数据对象 A , T2 读或写 A ;

2 .事务 T1 读或写某个数据对象 A , T2

写 A 。下面称 A 为潜在冲突对象。设 T1

和 T2 访问的潜在冲突的公共对象为 {A1,

A2, … , An} 。不失一般性,假设这组潜

在冲突对象中X={A1,A2, … , Ai} 均符

合情况 1 。Y={Ai+1, … ,An}符合所情

况 2 。 ?x?X , T1 需要 Xlock x ① T2

需要 Slock x 或 Xlockx ②( 1 )如

果操作①先执行,则 T1 获得锁, T2 等

待由于遵守两段锁协议, T1 在成功获得

X 和 Y 中全部对象及非潜在冲突对象的

锁后,才会释放锁这时如果 ?w?X 或 Y ,

T2 已获得 w 的锁,则出现死锁否则, T1

在对 X 、 Y 中对象全部处理完毕后, T2

才能执行这相当于按 T1 、 T2 的顺序串

行执行根据可串行化定义, T1 和 T2 的

调度是可串行化的。( 2 )操作②先执行

的情况与( 1 )对称因此,若并发事务遵

守两段锁协议,在不发生死锁的情况下,

对这些事务的并发调度一定是可串行化

的。

98 . 为什么要引进意向锁?意向锁的含

义是什么?

引进意向锁是为了提高封锁子系

统的效率。该封锁子系统支持多种封锁粒

度。原因是:在多粒度封锁方法中一个数

据对象可能以两种方式加锁—显式封锁和

隐式封锁。因此系统在对某一数据对象加

锁时不仅要检查该数据对象上有无(显式

和隐式)封锁与之冲突;还要检查其所有

上级结点和所有下级结点,看申请的封锁

是否与这些结点上的(显式和隐式)封锁

冲突;显然,这样的检查方法效率很低。

为此引进了意向锁。意向锁的含义是:对

任一结点加锁时,必须先对它的上层结点

加意向锁。例如事务 T 要对某个元组加

X 锁,则首先要对关系和数据库加 IX 锁。

换言之,对关系和数据库加 IX 锁,表示

它的后裔结点—某个元组拟(意向)加 X

锁。引进意向锁后,系统对某一数据对象

加锁时不必逐个检查与下一级结点的封锁

冲突了。例如,事务 T 要对关系 R 加 X

锁时,系统只要检查根结点数据库和 R 本

身是否已加了不相容的锁(如发现已经加

了 IX ,则与 X 冲突),而不再需要搜索

和检查 R 中的每一个元组是否加了 X 锁

或 S 锁。

99 . 什么是数据库的安全性?

数据库的安全性是指保护数据库以

防止不合法的使用所造成的数据泄露、更

改或破坏。

100. 数据库安全性和计算机系统的安全

性有什么关系?

安全性问题不是数据库系统所独有

的,所有计算机系统都有这个问题。只是

在数据库系统中大量数据集中存放,而且

为许多最终用户直接共享,从而使安全性

问题更为突出。系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的,

101 . 试述可信计算机系统评测标准的情况,试述 TDI/TCSEC 标准的基本内容

各个国家在计算机安全技术方面都建立了一套可信标准。目前各国引用或制定的一系列安全标准中,最重要的是美国国防部( DoD )正式颁布的《 DoD 可信计算机系统评估标准》(Trusted Computer System Evaluation Criteria ,简称 TCSEC ,又称桔皮书)。 TDI/TCSEC 标准是将 TCSEC 扩展到数据库管理系统,即《可信计算机系统评估标准关于可信数据库系统的解释》( Trusted Database Interpretation 简称TDI ,又称紫皮书)。在 TDI 中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。 TDI 与 TCSEC 一样,从安全策略、责任、保证和文档四个方面来描述安全性级别划分的指标。每个方面又细分为若干项。

102 . 试述 TCSEC ( TDI )将系统安全级别划分为四组七个等级的基本内容。

根据计算机系统对安全性各项指标的支持情况, TCSEC ( TDI )将系统划分为四组( division )七个等级,依次是 D ; C ( C1 , C2 ); B ( B1 , B2 ,B3 ); A ( A1 ),按系统可靠或可信程度逐渐增高。这些安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。各个等级的基本内容为: D 级 D 级是最低级别。一切不符合更高标准的系统,统统归于 D 组。 C1 级只提供了非常初级的自主安全保护。能够实现对用户和数据的分离,进行自主存取控制( DAC ),保护或限制用户权限的传播。 C2 级实际是安全产品的最低档次,提供受控的存取保护,即将 C1 级的 DAC 进一步细化,以个人身份注册负责,并实施审计和资源隔离。B1 级标记安全保护。对系统的数据加以标记,并对标记的主体和客体实施强制存取控制( MAC )以及审计等安全机制。 B2 级结构化保护。建立形式化的安全策略模型并对系统内的所有主体和客体实施 DAC 和 MAC 。 B3 级安全域。该级的 TCB 必须满足访问监控器的要求,审计跟踪能力更强,并提供系统恢复过程。 A1 级验证设计,即提供 B3 级保护的同时给出系统的形式化设计说明和验证以确信各安全保护真正实现。

103 . 试述实现数据库安全性控制的常用方法和技术。

实现数据库安全性控制的常用方法和技术有: 1) 用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。 2) 存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如 C2 级中的自主存取

控制( DAC ), B1 级中的强制存取控制

( MAC ); 3) 视图机制:为不同的用户

定义视图,通过视图机制把要保密的数据

对无权存取的用户隐藏起来,从而自动地

对数据提供一定程度的安全保护。 4) 审

计:建立审计日志,把用户对数据库的所

有操作自动记录下来放入审计日志中,

DBA 可以利用审计跟踪的信息,重现导致

数据库现有状况的一系列事件,找出非法

存取数据的人、时间和内容等。 5) 数据

加密:对存储和传输的数据进行加密处理,

从而使得不知道解密算法的人无法获知数

据的内容。

104 . 什么是数据库中的自主存取控制方

法和强制存取控制方法?

自主存取控制方法:定义各个用

户对不同数据对象的存取权限。当用户对

数据库访问时首先检查用户的存取权限。

防止不合法用户对数据库的存取。强制存

取控制方法:每一个数据对象被(强制地)

标以一定的密级,每一个用户也被(强制

地)授予某一个级别的许可证。系统规定

只有具有某一许可证级别的用户才能存取

某一个密级的数据对象。

105 . SQL 语言中提供了哪些数据控制(自

主存取控制)的语句?请试举几例说明它

们的使用方法。

SQL 中的自主存取控制是通过

GRANT 语句和 REVOKE 语句来实现的。如:

GRANT SELECT , INSERT ON Student TO 王

平 WITH GRANT OPTION ;就将 Student 表

的 SELECT 和 INSERT 权限授予了用户王

平,后面的“ WITH GRANT OPTION ”子句

表示用户王平同时也获得了“授权”的权

限,即可以把得到的权限继续授予其他用

户。 REVOKE INSERT ON Student FROM 王

平CASCADE ;就将Student 表的

INSERT 权限从用户王平处收回,选项

CASCADE 表示,如果用户王平将 Student

的 INSERT 权限又转授给了其他用户,那

么这些权限也将从其他用户处收回。

106 . 为什么强制存取控制提供了更高级

别的数据库安全性?

强制存取控制( MAC )是对数据

本身进行密级标记,无论数据如何复制,

标记与数据是一个不可分的整体,只有符

合密级标记要求的用户才可以操纵数据,

从而提供了更高级别的安全性。

107 . 理解并解释 MAC 机制中主体、客

体、敏感度标记的含义。

主体是系统中的活动实体,既包括

DBMS 所管理的实际用户,也包括代表用户

的各进程。客体是系统中的被动实体,是

受主体操纵的,包括文件、基表、索引、

视图等。对于主体和客体, DBMS 为它们

每个实例(值)指派一个敏感度标记。敏

感度标记被分成若干级别。主体的敏感度

标记称为许可证级别,客体的敏感度标记

称为密级。

108 . 什么是数据库的审计功能,为什么

要提供审计功能?

审计功能是指 DBMS 的审计模块

在用户对数据库执行操作的同时把所有操

作自动记录到系统的审计日志中。因为任

何系统的安全保护措施都不是完美无缺

的,蓄意盗窃破坏数据的人总可能存在。

利用数据库的审计功能, DBA 可以根据审

计跟踪的信息,重现导致数据库现有状况

的一系列事件,找出非法存取数据的人、

时间和内容等。

109 . 统计数据库中存在何种特殊的安全

性问题?

统计数据库允许用户查询聚集类型

的信息,如合计、平均值、最大值、最小

值等,不允许查询单个记录信息。但是,

人们可以从合法的查询中推导出不合法的

信息,即可能存在隐蔽的信息通道,这是

统计数据库要研究和解决的特殊的安全性

问题。

110. 什么是数据库的完整性?

数据库的完整性是指数据的正确性

和相容性。

111 . 数据库的完整性概念与数据库的安

全性概念有什么区别和联系?

数据的完整性和安全性是两个不

同的概念,但是有一定的联系。前者是为

了防止数据库中存在不符合语义的数据,

防止错误信息的输入和输出,即所谓垃圾

进垃圾出所造成的无效操作和错误结果。

后者是保护数据库防止恶意的破坏和非法

的存取。也就是说,安全性措施的防范对

象是非法用户和非法操作,完整性措施的

防范对象是不合语义的数据。

112 . 什么是数据库的完整性约束条件?

可分为哪几类?

完整性约束条件是指数据库中的

数据应该满足的语义约束条件。一般可以

分为六类:静态列级约束、静态元组约束、

静态关系约束、动态列级约束、动态元组

约束、动态关系约束。静态列级约束是对

一个列的取值域的说明,包括以下几方面:

1. 对数据类型的约束,包括数据的类型、

长度、单位、精度等 2. 对数据格式的约

束 3. 对取值范围或取值集合的约束。 4.

对空值的约束 5. 其他约束静态元组约束

就是规定组成一个元组的各个列之间的约

束关系,静态元组约束只局限在单个元组

上。静态关系约束是在一个关系的各个元

组之间或者若干关系之间常常存在各种联

系或约束。常见的静态关系约束有: 1. 实

体完整性约束。 2. 参照完整性约束。 ? 3.

函数依赖约束。动态列级约束是修改列定

义或列值时应满足的约束条件,包括下面

两方面: 1. 修改列定义时的约束 2. 修

改列值时的约束动态元组约束是指修改某

个元组的值时需要参照其旧值,并且新旧

值之间需要满足某种约束条件。动态关系

约束是加在关系变化前后状态上的限制条

件,例如事务一致性、原子性等约束条件。

113 . DBMS 的完整性控制机制应具有哪些

功能?

DBMS 的完整性控制机制应具有三个

方面的功能: 1. 定义功能,即提供定义

完整性约束条件的机制。 114. 检查功能,

即检查用户发出的操作请求是否违背了完

整性约束条件。 3. 违约反应:如果发现

用户的操作请求使数据违背了完整性约束

条件,则采取一定的动作来保证数据的完

整性。

115 . RDBMS 在实现参照完整性时需要考虑哪些方面?

RDBMS 在实现参照完整性时需要考虑以下几个方面: 1 )外码是否可以接受空值 2 )删除被参照关系的元组时的考虑,这时系统可能采取的作法有三种:( a )级联删除;( b )受限删除;( c )置空值删除3 )在参照关系中插入元组时的问题,这时系统可能采取的作法有:( a )受限插入( b )递归插入 4 )修改关系中主码的问题一般是不能用UPDATE 语句修改关系主码的。如果需要修改主码值,只能先删除该元组,然后再把具有新主码值的元组插入到关系中。如果允许修改主码,首先要保证主码的唯一性和非空,否则拒绝修改。然后要区分是参照关系还是被参照关系。

116 . 试述 DBMS 的基本功能?

DBMS 主要是实现对共享数据有效的组织、管理和存取。 DBMS 的基本功能有:( 1 )数据库定义功能;( 2 )数据存取功能;( 3 )数据库运行管理功能;( 4 )数据组织、存储和管理功能;( 5 )数据库的建立和维护功能;( 6 )其他功能

117 . 试述 DBMS 四种进程组织方案,并分析各种方案的特点和优缺点。

DBMS 四种进程组织方案是: N 方案: N 个 DB 用户应用程序对应 N 个用户进程, DBMS 作为应用程序的子程序被连入用户应用程序中。因此这种方案也称为连入式方案。数据库系统中共有 N 个进程。 2N 方案:每个用户进程有一个 DBMS 进程为之服务,因此 N 个用户进程就有 N 个 DBMS 进程,共 2N 个进程。 N+1 方案:N 个用户进程仅有一个 DBMS 进程为它们服务,因此共 N+1 个进程,共 N+1 个进程。 N+M 方案:用 M 个 DBMS 进程为 N 个用户进程提供服务,一般 M < N 。

118 . 理解并解释下列术语的含义:进程、任务、“轻权”进程、线程、线索。

进程:操作系统中的核心概念,进程是程序的一次执行过程。进程既是资源分配的最小单位也是操作系统调度的基本单位。任务:在单处理器系统中任务与进程是类似的概念。随着多处理器系统以及并行计算技术的发展,进程概念被进一步细划为任务( Task )与线程( Thread )的概念。任务是申请资源的基本单位,而线程是调度和运行的基本单位。轻权进程:线程又被称为“轻权”或“轻量” 进程。线索:是数据库系统中的概念,它借鉴了操作系统中“线程”的概念:整个 DBMS 可以看作是一个 Task ,当有一个用户申请数据库服务时, Task 分配多个 Thread 为之服务,多个 Thread 并行工作,共享资源。一般地讲, DBMS 中的线索是 DBMS 的一个执行流。

119 . 什么是 DBMS 的多线索机制?有什么优点?

DBMS 借鉴了操作系统中“线程”的概念和技术,在 DBMS 的实现中采用多线索机制。一般地讲, DBMS 中的线索是DBMS 的一个执行流,它服务于整个 DBMS 系统或 DBMS 中的某个用户; DBMS 服务器响应客户请求是通过为每个用户创建线

索(而不是创建进程)来完成的。 DBMS 的

各个线索能在逻辑上并行执行;它们共存

于一个服务器进程中,共享 DBMS 的所有

资源,如数据库缓冲区和 CPU 时间;线索

是 DBMS 的调度单位,服务器进程能按一

定的调度算法调度用户请求。与进程相比,

线索具有以下优点: 1 )线索比进程占用

较少的系统资源,如内存 2 )线索调度比

较灵活,可控制性强 3 )线索切换开销较

小 4 )线索间通信简便

120 .DBMS 由哪些主要的程序模块组成?

DBMS 主要的程序模块有: 1 .数

据定义模块 2 .数据操纵模块 3 .数

据库运行管理方面的程序模块 4 .数据

库组织、存储和管理方面的程序模块

5 .数据库建立、维护和其他方面的程序

模块

121 .DBMS 的语言翻译层是如何处理一个

DDL 语句的?

语言翻译处理层首先要对 DDL 语

句进行语法检查、语义检查和用户权限检

查。语义检查的内容具体做法是, DBMS 读

取数据字典,检查是否存在与该语句中的

表,或视图,或索引等要创建的对象名相

同的对象名,检查该用户是否具有创建数

据库对象的权限。然后把 DDL 语句翻译成

内部表示,把它存储在系统的数据字典中。

例如新建立一个表,就要把关系名、建立

者、属性个数、记录长度等等信息记入数

据字典中。

122 . 试述 DBMS 的语言翻译层处理一个

DML 语句的大致过程。

首先,对 DML 语句进行词法分析

和语法分析,并把外部关系名、属性名转

换为内部名。词法和语法分析通过后生成

语法分析树。接着,根据数据字典中的内

容进行查询检查,包括审核用户的存取权

限、视图转换和完整性检查。然后,对查

询进行优化。优化分为两类,一类为代数

优化,另一类为存取路径优化。并把选中

的查询执行方案描述出来。 DBMS 语言翻

译层处理一个 DML 语句的过程称为一个

逐步束缚的过程。

123 . 什么是处理 DML 语句的解释方法和

预编译方法?试述二者的区别,联系,比

较各自的优缺点。

解释执行 DML 语句的方法是:执

行语句前,该语句都以原始字符串的形式

保存。当执行到该语句时,才利用解释程

序去完成束缚的全部过程,同时予以执行。

解释方法的优点是:应变性强,能适应在

解释过程中发生的数据结构、存储结构等

的变化,因此能保持较高的数据独立性。

缺点是:每次执行一次 DML 语句时都要经

过所有解释步骤,尤其当这样的语句位于

一个循环体内时,就要多次重复解释一个

DML 语句,显然效率比较低。预编译方法

是:在用户提交 DML 语句之后对它进行翻

译处理,保存产生的可执行代码。当需要

运行时,取出保存的可执行代码加以执行。

优点是:效率高。但是,使用这种方法会

遇到这样的问题:在束缚过程中进行优化

所依据的条件可能在运行前已不存在,导

致已作出的应用规划在执行时不再有效。

为了解决这类问题,可以采用自动重编译

技术。

124 . 试述数据存取层主要的子系统及其

功能。

数据存取层中包括记录存取子系

统,事务管理子系统,封锁子系统,恢复

子系统,存取路径维护子系统,排序 / 合

并模块等等。主要功能有: 1 .记录存

取、事务管理子系统:记录存取子系统提

供按某个属性值直接取一个元组和顺序取

一个元组的存取原语。事务管理子系统提

供定义和控制事务的操作。 125.封锁子

系统,执行并发控制。 3 .恢复子系统:

主要是日志登记子系统把事务开始、滚回、

提交;对元组的插入、删除、修改;对索

引记录的插入、删除、修改等每一个操作

作为一个日志记录存入日志文件中,对不

同的故障恢复策略执行恢复。 4 .控制

信息管理模块:该模块利用专门的数据区

(内存中)登记不同记录类型以及不同存

取路径的说明信息(取自数据字典)和控

制信息。 5 .存取路径维护子系统:对

数据执行插入、删除、修改操作的同时要

对相应的存取路径进行维护。 6 .排序 /

合并子系统:在语言翻译处理层中,描述

性语言表达的集合级操作被转换成一系列

的对数据存取层所提供的存取原语的调

用。为了得到用户所要求的有序输出,为

了加速关系运算(如自然连接)的中间步

骤,为了提高效率,常常需要对关系元组

重新排序。这一工作由排序 / 合并子系统

来完成

126 . 在操作系统中也有并发控制问题,

为什么 DBMS 还要并发控制机制?

操作系统提供的封锁机制和 DBMS

的封锁机制在封锁对象,封锁对象的状态,

封锁的粒度,及封锁的类型上存在很大的

差别,操作系统的封锁机制不能直接应用

在 DBMS 中, DBMS 必须重新设计,来满

足复杂的封锁需求。

127 .DBMS 中为什么要设置系统缓冲区?

设立系统缓冲区的原因:一是为

了把存储层以上 DBMS 各系统成分和实在

的外存设备隔离,外存设备的变更不会影

响这些系统,使 DBMS 具有设备独立性。

二是为了提高效率。 DBMS 利用系统缓冲

区滞留数据。当需要读取数据时系统首先

到缓冲区中查找。只有当缓冲区中不存在

该数据时才真正从外存读入该数据所在的

页面。当要写回一元组到数据库中时,系

统并不把它立即写回外存,仅把该元组所

在的缓冲区页面作一标志,表示可以释放。

只有当该用户事务结束或缓冲区已满需要

调入新页时才按一定的淘汰策略把缓冲区

中已有释放标志的页面写回外存。这样可

以减少 I/O 次数,提高系统效率。

128 . 数据库中要存储和管理的数据内容

包括哪些方面?

数据库中存储四个方面的数据:

1 .数据描述,即数据的外模式、模式、

内模式; 2 .数据本身; 3 .数据之间

的联系; 4 .存取路径。这四个方面的数

据内容都要采用一定的方式组织、存储起

来。

129 事务的COMMIT语句和

ROLLBACK语句各做什么事情?p152

答:COMMIT语句表示事务执行成功的结束,此时告诉系统,数据库要进入一个新的正确状态,该事务对数据库的所有更新都已交付实施;ROLLBACK语句操作表示事务不成功的结束,此时告诉系统,已发生错误,数据库可能处在不正确的状态,该事务对数据库的更新必须撤销,数据库应该恢复该事务到初始状态。130 试述事务的四个性质,并说明每一个性质由DBMS的哪个子系统实现?每一个性质对数据库系统有什么益处?

答:原子性:一个事务对数据库的所有操作,是一个不可分割的工作单元,这些操作要么全部执行,要么什么也不做(由DBMS的事务管理子系统来实现);

一致性:一个事务独立执行的结果,应(由DBMS的完整性子系统执行测试任务);

隔离性(由DBMS的并发控制子系统实现);

持久性(由DBMS的恢复管理子系统实现的)。

131 典型的数据库恢复策略是什么?

答:(1)平时做好两件事转储和建立日志。

(2)一旦发生故障,分两种情况处理:一是如果数据库遇到灾难性故障,利用数据库备份和日志执库行redo已提交的事务,把数据库恢复到事故前的状态。二是如果数据库只是破坏了数据的一致性,利用日志库undo不可靠的修改,redo已提交的缓冲区中的事务。

132 DBS中有哪些类型的故障?哪些故障破坏了数据库?哪些没有破坏DB,但其中的数据变的不正确?

答:有事务故障(不破坏数据库);系统故障(为破坏数据库,但其中某些数据变得不正确);介质故障(破坏数据库)。

133 检查点机制的主要思想是什么? 答:在DBS运行时,数据库管理系统定时设置检查点。在检查点时刻才真正做到把对数据库的修改写到磁盘,并在日志文件上写入一条检查点记录(以便恢复用)数据库需要恢复时,只有在检查点后面的那些事务需要恢复,一般DBMS产品自动实行检查点操作,无须人为干预。

134 什么是undo操作和redo操作?为什么要这样设置?

答:undo操作是反向扫描日志文件,撤销对数据库的更新操作,使数据库恢复到更新前的状态;

Redo操作正向扫描日志文件,重新做一次更新,使数据库恢复到更新后的状态。

135 COMMIT操作和检查点时的操作有什么联系?你认为应该如何恰当协调这两种操作才有利于DB的恢复?

答:在采用检查点方法的基本恢复算法中根据日志文件,建立事务重做对列和事务撤销队列,此时。从头扫描日志文件,找出在故障前已经提交的事务(这些事务执行了COMMIT操作),将其事务标识记入重做队列。同时还要找出故障发生时尚未完成的事务(这些事务还未执行COMMIT),将其事务标识记入撤销队列。

136 数据库的并发操作会带来哪些问题?如何解决?

答:丢失更新问题;度脏数据问题;不可重复读问题。

解决的方法是用封锁机制。

137 用X锁和S锁时各有哪些操作?x锁和s锁时如何协调的?

答:x锁:

1、申请X锁操作“X FIND R”

2、接触X锁操作“X RELEASE

R”

S锁:

1、申请s锁操作“S FIND R”

2、升级和写操作“UPDX R”

3、解除s锁操作“SRELEASE

R”获准s锁的事务只能读数据,不

能更新数据,若要更新则先把s锁升

级为x锁。

138 为什么x锁要保留到事务终

点,而s锁可随时解除?

答:在一个事务上对数据加上x锁

后,并且对数据进行了修改,如果过

早的解除x锁,有可能使其他事物读

了未提交的数据,引起丢失其他事务

的更新;由于s锁只允许读数据,因

此解除s锁的操作不必等到事务的结

束,可随时根据需要接触s锁。

139 什么是封锁粒度?封锁粒度

的大小对并发系统有什么影响?

答:封锁对象的大小称为封锁粒度。

封锁粒度与系统的并发度和并发控

制的开锁密切相关,封锁的粒度越大

并发度也就越小,同时系统的开销也

就越小;相反,封锁粒度越小,并发

度就越大,系统的开销也就越大。

140 在封锁技术中,封锁协议可成

哪三个级别?各解决了并发调度中

的什么问题?

答:封锁协议分为一级封锁协议,解

决了“丢失修改”;

二级封锁协议,解决了“丢失修改、

读脏数据”;

三级封锁协议,解决了“丢失修改、

度脏数据、不可重复读”。

141 试述串行调度与可串行化

调度的区别?

答:如果有n个事务串行调度,可有

n!种不同的有效调度。事务串行调

度的结果都是正确的,至于依照何种

次序执行,视外界环境而定,系统无

法预料;而可串行化调度每个事务中

语句的先后顺序在各种调度中始终保持一致,在这个前提下如果一个并发调度的执行结果与某一串行调度的执行结果等价。

142 什么是数据库的完整性?DBMS的完整性子系统的主要功能是什么?

答:数据库中完整性一词指数据的正确性、有效性和相容性,防止错误的数据进入数据库。

子系统的主要功能有:监督事务的执行,并测试是否违反完整性规则;若有违反现象,则采取恰当的操作,例如拒绝操作,报告违反情况,改正错误等方法来处理。

143 SQL中的完整性约束有哪些?

答:域约束、基本表约束、断言。144 参照完整性规则在SQL中可以用哪几种方法实现?

答:no action(默认),cascade,restrict,set null或set default。

145 删除参照关系的元组时,对依赖关系有哪些影响?修改参照关系的主键时,对依赖关系有哪些影响?

答:1、删除参照表中元组时的考虑:No action:对依赖表没有影响。Cascade:将依赖表中所有外键值与参照表中要删除的主键值相对应的元组一起删除。

Restrict:只有当依赖表中没有一个外键值与要删除的参照表中主键值相对应删除。

Set null:删除参照表中元组时,将依赖表中所有与参照表中被删除的主键值相对应的外键值均置为空。

Set default:删除参照表中元组时,将依赖表中所有与参照表中被删除的主键值相对应的外键值均置为预先定义好的默认

值。

2、修改参照表中主键时的考

虑:

No action:对依赖表没有影响。

Cascade:将依赖表与参与表中要修

改的主键值相对应的所有外键值一

起修改。

Restrict:只有当依赖表中没有外键值

与参照表中要修改的主键值相对应

时,系统才修改参照表中主键值,否

则拒绝此修改操作。

Set null:修改参照表中主键时,将依

赖表中所有与这个主键值相对应的

外键值均置为空值。

Set default:修改参照表中主键时,

将依赖表中所有与这个主键值相对

应的外键值均置为预先定义好的默

认值。

146 什么是触发器?触发器有那

两个级别?个同于什么场合?

触发器是一个能由系统自动执行对

数据库修改的语句。触发器有时也称

主动规则或事件-条件-动作规则。

两个级别:元组集触发器和语句集触

发器

147 什么是数据库的安全性?有哪些级别的安全措施?

数据库的安全性是指保护数据库,纺织部合法的使用,以免数据的泄密,更改或破坏。

1 环境级

2 职员级

3 OS级4网络级5 DBS级

148 什么是权限?用户访问数据库有哪些权限?对数据库模式有哪些修改权限?

答:用户(应用程序)使用数据库的方式成为权限。

访问数据库有四个权限:读(read)权限、插入(insert)、修改(update)、删除(delete);

修改数据库模式也有四个权限:索引(index)权限:允许用户创建和删除索引。

资源(resource)权限:允许用户创建新的关系。

修改(alteration)权限:允许用户在关系结构中加入或删除属性。

撤销(drop):允许用户撤销关系。149 SQL的视图机制有哪些优点?

答:有三个优点:数据安全性、逻辑数据独立性、操作简便性。

150 SQL2中的用户权限有哪几类?

答:select、insert、delete、update、references、usage。

151 试述SQL中用户跟角色这两个概念?

答:在SQL中用户是实际的人或是访问数据库的应用程序;而角色是一组有相同权限的用户,实际上角色是属于目录一级的概念。

152 安全性措施中强制存取控制是如何实现的?

答:对每个数据对象赋予一定的密级,级别从高低有:绝密级、机密级、秘密级、公用级,每个用户也具有相应的级别,称为许可证级别,密级和许可证级别都是有序的,如绝密>机密>秘密>公用,采用规则是:一是用户只能查看比它级别低或是同级的数据,二是用户只能修改和它同级的数据。

第七章

153 SQL Server 2000的版本有哪四种?各自的适用范围是什么?

答:①企业版:作为生产数据库服务器使用。

②标准版:作为小工作组或部门的数据库服务器使用。

③个人版:供移动的用户使用,这些用户又是从网络上断开,但所运行的应用程序需要SQL Server 数据存储。

④开发版:供程序员来开发将SQL Server 2000用作数据存储的应用程序。只能将开发版作为开发和测试系统使用,不能作为生产服务器使用。

154 在安装SQL Server 2000时,

安装程序会自动创建哪些系统数据

库和范例数据库?这些数据库各有

哪些用途?

答:安装数据库会自动创建

4个系统数据库(Master、Model、

Msdb、Tempdb)和两个范例数据库

(Northwind、Pubs).

①Master数据库:记录了所有

SQL Server 2000的系统信息、登陆

账号、系统配置设置、系统中所有数

据库及其系统信息和存储介质信息。

②Model数据库:是SQL Server

2000为用户创建数据库提供的模板

数据库,每个新建的数据库都是在一

个Model数据库的副本上扩展而生成

的,所以对Model数据库的修改一定

要小心。

③Msdb数据库:主要用于SQL

Server 2000存储任务计划信息、事

件处理信息、备份恢复信息以及异常

报告等。

④Tempdb数据库:存放所有临时

表和临时的存储程序,并且供SQL

Server 2000存放目前使用的表中,

它是一个全局的资源,临时表和存储

程序可供所有用户使用。每次SQL

Server 2000启动时它会自动重建并

且重设为默认大小,使用中它会依需

求自动增长。

⑤Northwind数据库:是SQL

Server 2000提供的范例数据库,它

包含一个称为Northwind Traders公

司的销售数据库。

⑥Pubs数据库:也是一个SQL

Server 2000提供的范例数据库,它

包含一个书籍出版公司的数据库范

例。

155 SQL Server 2000中主要有哪

些工具?各有哪些功能?

答:①查询分析器;执行T-SQL的最

佳轻量级工具,是最重要的工具之

一。

②导入和导出数据:提供了导入、到

处以及在SQL Server 2000和OLE DB、

ODBC及文件间转换数据的功能。

③服务管理器:可以用来启动和停止

SQL Server的主要服务和指示其当

前状态。

④服务器网络实用工具:是SQL

Server 2000服务器端的网络配置界

面,能够配置SQL Server与用户的通

信方式。

⑤客户端网络实用工具:可以用来配

置客户端-服务器端的链接。

⑥链接丛书:提供了联机文档,包

括有关操作的说明。

⑦企业管理器:用来管理数据库的应

用程序,是最重要的工具之一。

⑧事件探查器:可以监察SQL

Server的运行情况和时间,并将选定

的信息显示在屏幕上,或记录在表、

文件之中。

⑨在IIS中配置SQL XML支持:可以用

来配置SQL Server 2000中的XML支持

功能。

156 什么是服务管理器?有哪些

优点?

答:服务管理器可以用来启动、

暂停和停止SQL Server的服务,在没

有启动SQL Server服务时不能进行

数据库操作。

优点:①是一种DBA工具,使用

它可以启动指定的SQL Server实例

与进程。

②提供了在任意服务器上启动

和停止任意SQL Server进程的简便

方法。

③提供了对于SQL Server进程

运行状态的可视化指示。

157 什么是查询分析器?有哪些

优点?

答:查询分析器提供了图形

界面来执行一个或多个T-SQL语句。

用户以文件的方式编辑

T-SQL语句,然后发送给服务器,并

接受执行的结果。使用这个工具,用

户可以交互的设计和测试T-SQL语

句、批处理和脚本。

158 什么是企业管理器?有哪些

优点?

答:企业管理器是用户管理SQL

Server 2000的主要工具和图形界

面。

在企业管理器中可以完成几乎

所有的管理工作;也能够连接或者注

册多个SQL Server的实例,从而减少

管理不同服务器的工作。

159 什么是存储过程?有哪些优

点?

答:存储过程是存放在服务器上

预编译好的SQL语句。

其优点主要有提供了安全机制、

改进了执行性能、减少了网络流量和

执行代码的重要性。

160 什么是触发器?有哪些优点?

答:触发器是SQL Server是程序员和

数据分析员来保证数据完整性的一

种方法,它是与表事件相关的特殊的

存储过程。

触发器的开销非常低,运行触发器所

占用的时间主要花费在引用其他存

于内存或磁盘上的表上,使用触发器

还可以使用自定义的错误信息,实现

多表的级联修改等功能。

161 什么是用户自定义函数?有

哪些优点和缺点?

答:SQL Server 2000允许用户创建

自己的自定义函数。其同时具有试图

和存储过程的优点,它可以像试图一

样用在select语句的from子句中,而

且它还可以接受参数。缺点是牺牲了

可移植性。

162 在数据库的导入和导出工作

的功能是什么?

答:它可以完成多个数据库之间

的数据转移和转换。

163 用户在访问SQL Server数据

库的数据,必须经过哪三个认证过

程?

答①身份验证;

②验证用户是否是该数据库的合法用户;

③当用户操作数据库中的数据或对象时,他必须具有所要进行操作的操作权;

164 SQL Server 2000中,有哪两种身份认证模式?

答:windows身份验证模式和混合验证模式。

165 什么是角色?其作用是什么?

答:具有相同权限的用户就称为角色。其作用是:有了角色就不用直接管理每个具体的数据库权限,而只将数据库用户放到合适的角色即可,当工作发生变化时,只要更改角色的权限无需改变角色中的成员。

166 什么是T-SQL?

答:由于标准的SQL的DML只能用于修改或返回数据,没有提供用于开发过程和算法的编程结构,也没有包含用于控制和调整数据库专用的命令。所以每种功能完备的数据库产品必须使用一些各自专有的SQL语言扩展来弥补SQL标准的一些不足之处,在SQL Server中这种扩展称为Transact-SQL,简称T-SQL;

167 试解释下列名词:临时表、局部临时表、全局临时表、表变量。

答:临时表:是临时的适合用来在不同的对象之间传递数据或者为临时的任务短时间保存数据;

局部临时表:创建时必须使用由字符“#”开头的表名;

全局临时表:创建时必须使用由两个字符“#”开头的表名;

表变量:类似于临时表,优点在于它存于内存中表变量和变量有相同的作用域和生命周期;

第八章

168 PowerBuilder有哪些特点?

答:①采用面向对象的编程方法和事件驱动的工作原理;

②支持跨平台开发,具有开放的数据库连接系统;

③无须记住各种语句格式即可轻松编写语句;

④人性化设计,大大提高了程序员的编程效率;

⑤独特的库文件画板和层次清晰的系统资源树;

⑥系统提供11种不同“显示风格”的数据窗口,以满足不同用户的需求;

⑦提供了规范化的工作空间对象,让程序员更方便的管理创建的应用对象;

169 PowerBuilder 9.0的开发空间有那三个层次?

答:工作空间、目标和库文件;170 什么是“数据窗口”?他有什么特点?

答:数据窗口是一个对象,它包含了对数据库中数据进行特定操作

的信息。只要定义好一个数据窗口对

象,以后就可以在多个应用程序中使

用该数据窗口对象;数据窗口式封装

了对数据库中数据操作的对象,他极

大的方便了应用程序对数据库的使

用;数据窗口是一个智能化的窗口,

在数据窗口中,用户不必使用SQL语

句就可以对数据库进行查询、插入、

删除和修改操作。

第九章

171 在面向对象技术中有哪些基

本数据类型?有哪些复合数据类

型?

基本数据类型:浮点型,字符,字

符串,布尔型,枚举型。

复合数据类型:行类型,数组类型,

列表类型,包类型,集合类型。

172 什么是对象联系图?图中椭

圆,小圆圈,单箭头,双箭头,双

线箭头,双向箭头这些结构各代表

什么含义?

对象联系图是对ER图的扩充,

在数据结构之间允许嵌套和递

归,能够真实地反映现实世界数

据之间的各种联系。

1) 椭圆代表对象类型(相当于试

题类型)

2)小圆圈表示属性是基本数据类

型(整型,实型,字符串型)

3)单箭头表示属性值是单值(属

性可以是基本数据类型,也可以

是另一个对象类型)

4)双箭头表示属性值是多值(属

性可以是基本数据类型,也可以

是另一个对象类型)

5)双线箭头表示对象类型之间超

类与子类联系。(从子类指向超

类)

6)双向箭头表示两个属性之间值

的联系为逆联系。

173 什么是UML?

UML适用于各类系统的建模,为

了实现这种大范围应用能力,

UML被定义成比较粗放和具有

普遍性,以满足不同系统的建模。

通过提供不同类型生动的图,

UML能表达系统多方面的透视,

这些图有类图,用例图,状态图,

组件图等9种。

174 类图:描述了系统的静态结

构,包括类和类图间联系。

类被表示为三个部分组成的方

框。

对象是类的实例。

关联是对类的实例之间联系的命

名,相当于ER模型中的联系类

型。

联系元数:与关联有关的类的个

数,称为关联元数或度数。

关联角色:关联的端部,也就是

与关联相连的类,称为关联角色。

重复度:重复度是指在一个给定

的联系中有多少对象参与,即关

联角色的重复度。

关联类:类图中关联本身也可以

有属性或自己的操作,称为“关

联类”,在类图中关联类用虚线与

关联线相连。

抽象类是一种没有直接对象,但

他的子孙可以有直接对象的类。

具体类是指有直接对象的类。

概化:从子类到超类的抽象化过

程。

特化:从超类到子类的具体化过

程。

聚合表达了成分对象和聚合对象

之间的“is part of”(一部分)的

联系,聚合实际上是一种较强的

形式的关联联系,在类图中,用

空的菱形表示。

复合:一种较强形式的聚合,用

实心菱形表示。

175 .类图中的重复度与ER图中实

体的基数有什么异同?

重复度类似于ER模型中实体基

数的概念。但这是两个相反的概

念。实体基数是指与一个实体有

联系的另一端实体数目的最小、

最大值,基数应写在这一端实体

的边上。而重复度是指参与关联

的这一端对象数目的最小、最大

值,重复度应写在这一端类的边

上。

176 ODBC技术与传统的数据库

编程方式有什么区别/

传统的数据编程方式是“主语言

+DML”。虽然ANSI和ISO定义

了关系数据库查询语言标准

SQL,但是在ODBC技术出现之

前,一个特定的前端应用却不能

访问不同数据库服务器上的数

据。

各厂商的SQL版本不同,每个

RDBMS厂商都对标准SQL进行

了独特的扩充或解释,使得不同

的RDBMS提供的SQL互不兼

容。

不同厂商的RDBMS在客户机与

数据库服务器之间使用了不同的

通信协议。

而与此同时,RDBMS产品却迅

速增加,因此有必要建立一个公

共的、与数据无关的应用程序设

计接口。所谓公共接口API就是

为开发者提供单一的编程接口,

这样同一个应用程序就可以访问

不同的数据库服务器。

177 ODBC技术有什么作用?其卓

越贡献是什么?

ODBC为应用程序提供了一套

CLI函数库和基于DLL的运行支

持环境。

CLI:Call-Level Interface,调用层接

DLL:Dynamic Link Library,动态

链接库

ODBC的卓越贡献是使用应用程

序具有良好的互用性和可移植

性,并且具备同时访问多种DBS

的功能,从而克服了传统数据库

应用程序的缺陷。对用户来说,

ODBS驱动程序屏蔽掉了不同

DBS的差异。

178 ODBC的体系结构有哪几层?

试述各层之间的联系。

ODBC是一个分层体系结构,由

纵向四部分构成,

·ODBC数据库应用程序:用宿

主语言和ODBC函数编写的应用

程序用于访问数据库。

·驱动程序管理器:为应用程序

加载、调用和卸载DB驱动程序。

·DB驱动程序:处理ODBC函

数,想数据源提交用户请求执行

的SQL语句。

·数据源:是DB驱动程序与

DBS之间连接的命名。

179 .ODBC数据应用程序的主要功能是什么?主要完成哪些任务?

应用程序的主要功能是:调用

ODBC函数,递交SQL语句给

DBMS,检索出结果,并进行处

理。应用程序要完成ODBC外部

接口的所有工作。

应用程序主要完成以下8个任

务:

·连接数据库

·向数据源发送SQL语句

·为SQL语句执行结果分配存储

空间,定义所读取的数据格式

·读取结果

·处理错误

·向用户提交处理结果

·请求事务的提交和回退操作

·断开与数据源的连接

180 .什么是驱动程序管理器?驱动程序管理器的主要功能是什

么?

驱动程序管理器是一个动态链接

库,用于连接各种DBS的DBMS

驱动程序,管理应用程序和

DBMS驱动程序之间的交互作

用。

驱动管理器的主要功能是;

·为应用程序加载DBMS驱动程

·检查ODBC调用参数的合法性

和记录ODBC函数的调用

·为不同驱动程序的ODBC函数

提供单一的入口

·调用正确的DBMS驱动程序

·提供驱动程序信息

181.什么是DBMS驱动程序?主要任务是什么?

应用程序通过调用驱动程序所

支持的函数来操纵数据库。驱动

程序也是一个动态链接库

(DDL)。当应用程序调用函数

SQLconnect时,驱动程序管理器

加载驱动程序。

驱动程序完成以下任务:

·建立应用程序与数据源的连接

·向数据源提交用户请求执行的

SQL语句

·根据应用程序的要求,将发送给数据源的数据或是从数据

源返回的数据进行数据格式

和类型的转换

·把处理结果返回给应用程序

·将执行过程中的DBS返回的错误转换成ODBC定义的标

准错误代码,病返回给应用

程序

·根据需要定义和使用光标182 .什么是ODBC数据源?

数据源是驱动程序与DBS连接

的桥梁。数据源不是DBS,而是

用于表达一个ODBC驱动程序

和DBMS特殊连接的命名。在

连接中,用户数据源名来代表用

户名、服务器名、所连接的数据

库名等,可以将数据源名看成是

与一个具体数据库建立的连接。183 .什么是SQL\CLI?

公共接口API就是为开发者提供单一的编程接口,这样同

一个应用程序就可以访问不

同的数据库服务器。

在SQL标准中,被称为“调用

层接口”。SQL\CLI是ODBC

技术的延续。CLI定义了一

套可以再宿主语言调用的公

共函数,每一个函数具有一

个名称和一个要求的算法。

使用SQL\CLI时,函数调用

中SQL语句将作为字符串参

数动态地创建和传递。

184 .在SQL\CLI中,宿主程序与数据库交互的有关信息记录

在运行时数据结果中。请回

答这些信息将保存在那四种

类型的记录中?这四种记录

用于保存什么信息?

此信息保存在以下四种类型的记录中,表示为C数据类型中的复合结构:

·环境记录:用作为一个容器,

设置环境信息,以保存一个或

多个数据库连接

·连接记录:保存一个特定数据

库连接所需的信息,表示应用

系统与数据源之间的连接。

·语句记录:保存一个SQL语

句所需的信息。

·描述记录:保存元祖或参数的

有关信息。

185 .有哪些典型的数据库应用系统开发工具?这些工具有些

什么共同的特点?

软件开发工具和环境有

PowerBuilder9.0、Delphi7.0、

VisualBasic6.0和Developer/2000

等。这些工具都可以在客户机撒

谎那个通过ODBC接口与诸如

Oracle、Sybase、SQLSever等服

务器端的数据库相连。

数据库系统原理模拟试卷(五)

北方民族大学计算机学院 数据库系统系统原理模拟试卷 1.D 2.C 3.B 4.A 5.C 6.A 7.C 8.D 9.C 10.B 一、选择题(20分,每小题2分) 1关于联系的多重性,下面哪种说法不正确? A.一个多对多的联系中允许多对一的情形。 B.一个多对多的联系中允许一对一的情形。 C.一个多对一的联系中允许一对一的情形。 D.一个多对一的联系中允许多对多的情形。 2.某关系R(A, B, C, D)有函数依赖A→B, BC→D, D→A,R有几个键? A.1 B.2 C.3 D.4 3. 有关系R和S,R∩S的运算等价于 A.S-(R-S) B.R-(R-S) C.(R-S)∪S D.R∪(R-S) 4. 为了使索引键的值在基本表中唯一,在建立索引的语句中应使用保留字为: A.UNIQUE B.COUNT C.DISTINCT D.UNION 5. 由函数依赖A→B和C B,有A→C。此规则是: A.合并规则 B.平凡依赖规则 C.传递规则 D.分解规则 6.设,且W、R、S的属性个数分别为w、r和s,那么三者之间应满足( ) A.w≤r+s B.w<r+s C.w≥r+s D.w>r+s 7. 设U是所有属性的集合,X、Y、Z都是U的子集,且Z=U—X—Y。下面关于多值依赖的叙述中,不正确的是( ) A.若X→→Y,则X→→Z B.若X→Y,则X→→Y C.若X→→Y,且Y’ Y,则X→→Y’ D.若Z=Ф,则X→→Y 8. 学生社团可以接纳多名学生参加,但每个学生只能参加一个社团,从社团到学生之间的联系类型是( ) A.多对多 B.一对一 C.多对一 D.一对多 9. SQL语言集数据查询、数据操纵,数据定义和数据控制功能于一体,语句CREATE、DROP、ALTER实现的功能是( ) A.数据查询 B.数据操纵 C.数据定义 D.数据控制 10.事务是数据库进行的基本工作单位。如果一个事务执行成功,则全部更新提交;如果一个事务执行失败,则已做过的更新被恢复原状,好像整个事务从未有过这些更新,这样保持了数据库处于( )状态。 A.安全性 B.一致性 C.完整性 D.可靠性 二、填空题(10分,每小题2分) 1. 数据操作是指对DB的查询和__更新_________两大类操作。 2. 实体完整性约束规则是对______参照________约束。 3. SQL语言有两种使用方式:交互式和___嵌入式_______。 4. 函数依赖完备的推理规则集包括:自反律、__增广律______、传递律。 5. 事务的原子性是有DBMS的_事务管理程序________实现的。

数据库系统原理及应用教程第四版课后答案

第一章 1、(1)数据:数据用于载荷信息的物理符号。 (2)数据的特征;○1数据有“型”与“值”之分;○2数据受数据类型与取值范围的约束;○3数据有定性表示与定量之分;○4数据应具有载体与多种表现形式。 3、(1)数据管理的功能: ○1组织与保存数据功能,即将收集到的数据合理地分类组织,将其存储在物理载体上,使数据能够长期的被保存; ○2数据维护功能,即根据需要随时进行插入新数据,修改原数据与删除失效数据的操作; ○3数据查询与数据统计功能,即快速的得到需要的正确数据,满足各种使用要求;○4数据的安全与完整性控制功能,即能保护数据的安全与完整性。 (2)数据管理的目标:收集完整的信息,将信息用数据表示,按数据结构合理科学的组织并保存数据;为各种使用快速地提供需要的数据,并保护数据的安全与完整性。 4、(1)数据库:就是数据管理的新方法与技术,她就是一个按数据结构来存储与管理数据的计算机软件系统。 (2)数据库中的数据具有的特点:○1数据库中的数据具有整体性,即数据库中的数据要保持自身完整的数据结构;○2数据库中的数据具有数据共享性,不同的用户可以按各自的用法使用数据库中的数据,多个用户可以同时共享数据库中的数据资源。 5、(1)数据库管理系统:它就是专门用于管理数据库的计算机管理软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询与统计等操作功能,并完成对数据完整性、安全性进行操作的功能。 (2)数据库管理系统主要功能:就是数据存储、数据操作与数据控制功能。其数据存储与数据操作就是:数据库的定义功能,指未说明库中的数据情况而进行的建立数据库结构的操作;数据库建立功能,指大批数据录入到数据库的操作,它使得库中含有需要保护的数据记录;数据库维护功能,指对数据的插入、删除与修改操纵,其操作做能满足库中信息变化或更新的需求;数据库查询与统计功能,指通过对数据库的访问,为实际应用提供需要的数据。数据库管理系统的数据控制功能为:数据安全性控制功能,即为了保证数据库的数据安全可靠,防止不合法的使用造成数据库泄露与破坏,也就就是避免数据被人偷瞧、篡改或破坏;数据库完整性控制功能,指为了保证数据库中的数据的正确、有效与相容,防止不合语意的错误数据被输入或输出。 14、(1)数据库系统的软件由几部分组成?数据库系统的软件中包括操作系统(OS)、数据库管理系统(DBMS)、主语言系统、应用程序软件与用户数据库。 (2)作用:①操作系统或汉字操作系统:操作系统就是所有计算机软件的基础,在数据库系统中它起着支持DBMS及主语言系统工作的作用。如果管理的信息中有汉字,则需要中文操作系统的支持,以提供汉字的输入、输出方法与汉字信息的处理方法。②数据库管理系统与主语言系统:数据库管理系统就是为定义、建立、维护、使用及控制数据库而提供的有关数据管理的系统软件。主语言系统就是为应用程序提供的诸如程序控制、数据输入输出、功能函数、图形处理、计算方法等数据处理功能的系统软件。③应用开发工具软件:应用开发工具就是DBMS系统为应用开发人员与最终用户提供的高效率、多功能的应用生成器、第四代计算机语言等各种软件工具.如报表生成器、表单生成器、查询与视图设计器等,它们为数据库系统的开发与使用提供了良好的环境与帮助。④应用系统及数据库:数据库应用系统包括为特定的应用环境建立的数据库、开发的各类应用程序及编写的文档资料,它们就是一个有机整体。通过运行数据库应用系统,可以实现对数据库中数据的维护、查询、管理与处理操作。(3)关系:

山东大学网络教育数据库系统原理期末考试试题及参考答案

数据库系统原理—线上 一、选择题 1、数据是以()的方式存储于操作系统(OS)之中的。 A、数据文件 B、日志文件 C、存储类型 D、并行 正确答案:A 2、()是指对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。 A、数据管理 B、数据处理 C、数据加工 D、数据收集 正确答案:A 3、数据库管理系统简称() A、DDA B、DB C、DBA D、DBMS 正确答案:D 4、Oracle数据库特点说法正确的是:() 1支持单用户、大事务量的事务处理 2数据安全性和完整性控制 3提供对于数据库操作的接口 4支持集中式数据处理 5可移植性、可兼容性和可连接性 A、12 B、235 C、35 D、25 正确答案:B 5、()是位于用户与操作系统之间的一层数据管理软件。 A、数据库管理系统 B、数据库 C、数据库系统 D、数据库管理员 正确答案:A 6、一般来说,数据库用户账号总是与某一登录账号相关联,但有一个例外那就是()用户 A、sa B、system C、guest D、admin 正确答案:C 7、()以自由软件为主。 A、MySQL B、SQL Server C、Dreanwaver D、Oracle 正确答案:A 8、数据库的简称()A、DAB、DBC、BDD、DD 正确答案:B 9、()是自由软件,因此不属于厂商产品,所以归属于应用中间件软件。 A、MSSQL B、MySQL C、oracle D、linux正确答案:B10、MS SQL Server 能在那两种安全模式下运行A、数据库认证模式 B、WINDOWS认证模式 C、混合模式 D、安全认证模式 正确答案:BC

数据库系统原理与设计(第2版)-万常选版-第2章-关系模型与关系代数--课后答案

3.简述如下概念,并说明它们之间的联系与区别:。 (1)域,笛卡尔积,关系,元组,属性 答:域:域是一组具有相同数据类型的值的集合。 笛卡尔积:给定一组域D1,D2,…,Dn,这些域中可以有相同的。这组域的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|di?Di,i=1,2,…,n }其中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组(Tuple)。元素中的每一个值di叫作一个分量(Component)。 关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为 R(D1,D2,…,Dn) 元组:关系中的每个元素是关系中的元组。 属性:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。 (2)超码,主码,候选码,外码 答:超码:对于关系r的一个或多个属性的集合A,如果属性集A可以唯一地标识关系r中的一个元组,则称属性集A为关系r的一个超码 (superkey) 。 候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidate key)。 主码:若一个关系有多个候选码,则选定其中一个为主码(Primary key)。 外码:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S 的主码Ks相对应,则称F是基本关系R的外码(Foreign key),简称外码。 基本关系R称为参照关系(Referencing relation),基本关系S称为被参照关系(Referenced relation)或目标关系(Target relation)。关系R和S可以是相同的关系。 (3)关系模式,关系,关系数据库 答:关系模式:关系的描述称为关系模式(Relation Schema)。它可以形式化地表示为:R(U,D,dom,F) 其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,dom 为属性向域的映象集合,F为属性间数据的依赖关系集合。 关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为 R(D1,D2,…,Dn) 关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。 关系数据库:关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。 2.3.为什么需要空值null? 答:引入空值,可以方便于数据库的维护和建立,数字或者字符有时并不能解决想要解决的问题,毕竟它们是真实的存在,有了空值,那么有些操作,比如查询,插入,删除都可以更加方便,比如公司的部门,新增的部门,信息是不存在的,是之后数据库人员进行添加之后才有的,所以让它为空,比给它0更加贴近实际。空值是所有可能的域的一个取值,表明值未知或不存在。 2.3.关系模型的完整性规则有哪些? 答:关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。 其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的

专科《数据库原理与应用》_试卷_答案

专科《数据库原理与应用》 一、(共66题,共150分) 1. 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中在( ),程序员可能需要设计数据在内存中的物理地址。(2分) A.数据库系统 B.文件系统 C.人工管理 D.数据项管理 .标准答案:C 2. 在关系模式中,如果属性A和B存在1对1的联系,则存在( ) 依赖关系。(2分) A. B. C. D.以上都不是 .标准答案:C 3. 关系模型支持( ) 的数据结构。(2分) A.线性结构 B.树结构 C.图结构 D.集合结构 .标准答案:D 4. 在数据库三级模式结构中,内模式是( ) 的视图。(2分) A.计算机世界 B.信息世界 C.现实世界终端用户 D.数据库管理员 .标准答案:A 5. 关系模型的参照完整性要求( ) 。(2分) A.一个关系必须有外码 B.外码必须是父关系的主属性 C.外码所在的关系即子关系必须和父关系是不同关系 D.外码或为空或为父关系对应主码的值 .标准答案:B 6. SQL语言中的DELETE命令属于( ) 。(2分) A.数据定义语言 B.数据操作语言 C.数据控制语言 D.数据查询语言 .标准答案:B 7. ( ) 是数据库系统概论的直接先导课程之一。(2分) A.大学物理 B.汇编语言 C.数据结构 D.模拟电路 .标准答案:C 8. 数据库管理系统简称DBMS,下列系统软件中,( ) 是具有DBMS功能的软件。(2分) A.Microsoft Office Word B.Microsoft Office PowerPoint C.Microsoft Office Outlook D.Microsoft Office Access .标准答案:D 9. SQL语言的数据查询语言SELECT命令语法接近自然语言,下列子句中( ) 是SELECT命令语法规定必须有的部分。(2分) A.FROM子句 B.GROUP BY子句 C.ORDER BY子句 D.INTO子句 .标准答案:A 10. 下面术语中( ) 是数据库系统原理与应用课程的关键词。(2分) A.数据模型 B.编程语言 C.软件体系结构 D.数据转换 .标准答案:A 11. 因为关系数据库的查询优化技术,用户程序员不用了解数据库中数据的物理存储结构,也能编写高效率的程序。(2分) ( ) .标准答案:正确 12. 关系操作中的投影运算必须有两个关系同时参与运算才能得到正确的结果。(2分) ( ) .标准答案:错误 13. DBTG中的系是一棵二级树,表示的是系主记录型(Owner)和成员记录型(member)之间一对多的关系,但两个记录之间可以定义多个系。(2分) ( ) .标准答案:正确 14. DBMS作为一种大型的系统软件,可以通过相关技术绕过操作系统,直接管理存储在硬盘上的数据。(2分) ( ) .标准答案:错误 15. 数据模型的是三要素指,数据结构、数据操作和完整性约束条件。其中数据结构是描述系统的静态特性的,数据操作是描述系统动态特性的。(2分) ( ) .标准答案:正确 16. 在数据库中,数据独立性是指数据之间相互独立,互不依赖。(2分) ( ) .标准答案:错误 17. SQL语言的视图对应三级模式的外模式,表对应模式,所以用户程序只能使用视图而不能直接使用表来查询和操作数据库中的数据。(2分) ( )

数据库系统原理试题答案3

全国2008年10月自学考试 一、单项选择题(本大题共15小题,每小题2分,共30分) 1.数据库是长期存储在计算机内、有组织的、统一管理的相关( B ) A.文件的集合 B.数据的集合 C.命令的集合 D.程序的集合 2.在数据库的三级模式中,描述数据库中全部数据的整体逻辑结构的是( C ) A.外模式 B.内模式 C.逻辑模式 D.存储模式 3.数据库系统中存放三级结构定义的DB称为( B )A.DBS B.DD C.DDL D.DBMS 4.教师实体中有教师号、姓名、部门、任教时间、教龄等属性,其中教龄是一个( A ) A.派生属性 B.多值属性 C.复合属性 D.NULL属性 5.对关系的描述不正确的是( C ) A.关系是一个集合 B.关系是一张二维表 C.关系可以嵌套定义 D.关系中的元组次序可交换 6.若属性X函数依赖于属性Y时,则属性X与属性Y之间具有( B ) A.一对一联系 B.一对多联系 C.多对一联系 D.多对多联系 7.设F是关系模式R的FD集,如果对F中每个非平凡的FD X—Y,都有X是R的超键,则( C ) A.R属于2NF,但不一定属于3NF B.R属于3NF,但不一定属于BCNF C.R属于BCNF,但不一定属于4NF D.R属于4NF 8.关系Rl和R2如下表所示: A.1 B.3 C.6 D.9 9.设四元关系R(A,B,C,D),则下面不正确的是( ) A. )R(B D, ∏ 为取属性D,B的两列组成新关系B. )R( 4,2 ∏ 为取属性的值是4,2的两列组成新关系 C. )R(B D, ∏ 与 )R( 4,2 ∏ 是等价的D. )R(B D, ∏ 与 )R( 2,4 ∏ 是相同关系 10.下列叙述正确的是( ) A.在ORDER BY子句后只能有一个属性 B.ORDER BY子句所产生的输出只是逻辑排序效果,并没有影响表的实际内容 C.进行有序输出时,如果列中有空值则在升序输出时首先列出空值项,而在降序时最后列出空值项 D.ORDER BY子句中必须指明是升序或降序,不能缺省 12.现要查找缺少成绩(G)的学生学号(S#)和课程号(C#),下面SQL语句中WHERE子句的条件表达式应是:SELECT S#,C# FROM SC WHERE( )A.G=0 B.G<=0 C.G=NULL D.G IS NULL 12.数据库恢复的主要依据是( D )A.DBA B.DD C.文档 D.事务日志 13.不能激活触发器执行的事件是( )A.SELECT B.UPDA TE C.INSFRT D.DELETE 14.SQL Server 2000的主要工具中,执行T-SQL的最佳轻量级工具是( A ) A.查询分析器 B.服务管理器 C.企业管理器 D.事件探查器 15.在ODBC体系结构中,为应用程序加载、调用和卸载DB驱动程序的是( B ) A.ODBC数据库应用程序 B.驱动程序管理器 C.DB驱动程序 D.数据源 二、填空题(本大题共10小题,每小题1分,共10分) 请在每小题的空格上填上正确答案。错填、不填均无分。 16.能惟一标识实体的属性或属性集称为___ 实体标识符_____。 17.数据独立性使得修改数据结构时,尽可能不修改外部应用程序________。 18.数据库的物理结构主要指数据库的存储记录格式、存储记录安排和__存取方法______。 19.由于数据的冗余,在对数据操作时常会引起__修改异常______、插入异常、删除异常。 20.关系代数运算中,专门的关系操作有:选择、投影、除和_连接_______。 21.SQL语言的条件表达式中字符串匹配操作符是__like______。 22.DBS运行的最小逻辑工作单位是____数据项____。 23.SQL的基本表约束主要有三种形式:候选键定义、外键定义、__域______定义。 24.在复合数据类型中,相同类型元素的有序集合,并且允许有重复的元素,称为__列表类型______。 25.SQL Server 2000引擎对外使用Net-Library抽象层来支持不同的__网络协议______。 1

专升本《数据库系统原理》_试卷_答案

专升本《数据库系统原理》 一、 (共53题,共150分) 1、数据库管理系统DBMS中用来定义模式、内模式与外模式的语言就是( )。 (2分) A、DML B、C C、DDL D、Basic 、标准答案:C 2、保证数据库系统正常工作的的核心软件就是( )。 (2分) A、编译系统 B、数据库 C、操作系统 D、数据库管理系统 、标准答案:D 3、数据库(DB、、数据库系统(DBS)与数据库管理系统(DBMS)三者之间的关系就是( ) (2分) A、DBS包括DB与DBMS B、DBMS包括DB与DBS C、DB包括DBS与DBMS D、DBS就就是DB,也就就是DBMS 、标准答案:A 4、事务的原子性就是指( ) (2分) A、事务中包括的所有操作要么都做,要么都不做 B、事务一旦提交,对数据库的改变就是永久的 C、一个事务内部的操作及使用的数据对并发的其她事务就是隔离的 D、事务必须就是使数据库从一个一致性状态变到另一个一致性状态 、标准答案:A 5、系统能把数据库从被破坏、不正确的状态,恢复到最近一个正确的状态,DBMS 的这种能力称为( ) (2分) A、完整性控制 B、安全性控制 C、可恢复性 D、并发控制 、标准答案:C 6、有两个实体集,并且它们之间存在着一个M:N联系,那么按照E—R模型转换成关系数据库的规则,这个E—R结构转换成表的个数为( )。 (2分) A、1 B、2 C、3 D、4 、标准答案:C 7、把E-R图转换为关系模型的过程,属于数据库设计的( ) (2分) A、概念设计 B、逻辑设计 C、需求分析 D、物理设计 、标准答案:B 8、若用如下的SQL语句创建一个student表: 可以插入到student表中的记录就是( )。 (2分) A、(‘1031’,‘曾华’,男,23) B、(‘1031’,‘曾华’,NULL,NULL) C、(NULL,‘曾华’,‘男’,‘23’) C、(‘1031’,NULL,‘男’,23) 、标准答案:B 9、 SQL语言中,删除一个视图的命令就是( )。 (2分) A、DELETE B、DROP C、CLEAR D、REMOVE 、标准答案:B 10、在SQL语言中的视图VIEW就是数据库的( )。 (2分) A、外模式 B、模式 C、内模式 D、存储模式 、标准答案:A 11、 ( )构成了关系模型的三要素。 (3分) A、三级模式 B、关系数据结构 C、专门的关系操作与传统的集合操作 D、关系的三类完整性约束条件 、标准答案:B,C,D 12、如果不进行控制,事务的ACID特性可能在( )情况下遭到破坏。 (3分) A、多个事务并发执行 B、多个事务顺序执行 C、事务在运行过程中强行终止 D、事务运行一半被撤销。 、标准答案:A,C 13、下列SQL命令中属于数据控制的有( )。 (3分) A、SELECT B、UPDATE C、GRANT D、REVOKE 、标准答案:C,D 14、数据库领域中常用的数据模型有( )。 (3分) A、层次模型 B、网状模型 C、关系模型 D、面向对象模型 、标准答案:A,B,C,D 15、现有关系模式: EMP(empno,ename,mgr,sal,workday), DEPT(deptno,dname,loC、在以下视图中,不可能更新的视图为( )。 (3分) A、视图V1,由1970年以后参加工作的雇员组成 B、视图V2,由部门号与各部门的平均工资组成 C、视图V3,由雇员姓名与其领导者姓名组成 D、视图V4,由薪金超出所有雇员平均薪金以上的雇员组成 、标准答案:B,D 16、简述数据库系统的三级模式两级映象结构?这种结构的优势何在? (5分) 标准答案:数据库系统的三级模式结构就是指外模式,模式与内模式。两级映象就是指外模式/模式映象,模式/内模式映象。三级模式两级映像结构就是数据库实现数据独立性的关键,包括逻辑独立性与物理独立性。 数据逻辑独立性就是指局部逻辑数据结构(外模式即用户视图)与全局逻辑数据结构(模式)之间的独立性。当数据库的全局逻辑数据结构(模式)发生变化(数据定义的修改、数据之间联系的变更或增加新的数据类型等)时,它不影响某些局部的逻辑结构的性质,应用程序不必修改。 物理数据独立性就是指数据的存储结构与存取方法(内模式)改变时,对数据库的全局逻辑结构(模式)与应用程序不必作修改的一种特性,也就就是说,数据库数据的存储结构与存取方法独立与之上的应用程序与模式。

数据库系统原理与设计(第二版)实验一至实验三

实验一 1-1.查询员工的姓名、职务和薪水 select employeeName,headShip,salary from employee 图1-1 2.查询名字中含有“有限”的客户姓名和所在地 select CustomerName,address from Customer where CustomerName like '%有限%'

3. 查询出姓“张”并且姓名的最后一个字为“梅”的员工。 select * from employee where employeeName like '张%梅' 图1-3 4. 查询住址中含有上海或南昌的女员工,并显示其姓名、所属部门、职称、住址,其中性别用“男”和“女”显示 SELECT employeeName,department,address, isnull (convert(char(10),birthday,120),'不详')出生日期, case sex when 'M'then '男' when 'F'then'女' end as 性别 from employee where (address like '%上海%'or address like '%南昌%')and sex='F'

5. 查询出职务为“职员”或职务为“科长”的女员工的信息 select * from employee where (headship='职员' or headship='科长') and sex='F' 图1-5 6. 选取编号不在“C20050001”和“C20050004”的客户编号、客户名称、客户地址。 Select * from Customer where CustomerNo not in ( 'C20050001' ,'C20050004')

(完整word版)数据库系统原理及应用教程第四版课后答案

第一章 1、(1)数据:数据用于载荷信息的物理符号。 (2)数据的特征;○1数据有“型”和“值”之分;○2数据受数据类型和取值范围的约束;○3数据有定性表示和定量之分;○4数据应具有载体和多种表现形式。 3、(1)数据管理的功能:○1组织和保存数据功能,即将收集到的数据合理地分类组织,将其存储在物理载体上,使数据能够长期的被保存;○2数据维护功能,即根据需要随时进行插入新数据,修改原数据和删除失效数据的操作;○3数据查询和数据统计功能,即快速的得到需要的正确数据,满足各种使用要求;○4数据的安全和完整性控制功能,即能保护数据的安全和完整性。 (2)数据管理的目标:收集完整的信息,将信息用数据表示,按数据结构合理科学的组织并保存数据;为各种使用快速地提供需要的数据,并保护数据的安全和完整性。 4、(1)数据库:是数据管理的新方法和技术,他是一个按数据结构来存储和管理数据的计算机软件系统。 (2)数据库中的数据具有的特点:○1数据库中的数据具有整体性,即数据库中的数据要保持自身完整的数据结构;○2数据库中的数据具有数据共享性,不同的用户可以按各自的用法使用数据库中的数据,多个用户可以同时共享数据库中的数据资源。 5、(1)数据库管理系统:它是专门用于管理数据库的计算机管理软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行操作的功能。 (2)数据库管理系统主要功能:是数据存储、数据操作和数据控制功能。其数据存储和数据操作是:数据库的定义功能,指未说明库中的数据情况而进行的建立数据库结构的操作;数据库建立功能,指大批数据录入到数据库的操作,它使得库中含有需要保护的数据记录;数据库维护功能,指对数据的插入、删除和修改操纵,其操作做能满足库中信息变化或更新的需求;数据库查询和统计功能,指通过对数据库的访问,为实际应用提供需要的数据。数据库管理系统的数据控制功能为:数据安全性控制功能,即为了保证数据库的数据安全可靠,防止不合法的使用造成数据库泄露和破坏,也就是避免数据被人偷看、篡改或破坏;数据库完整性控制功能,指为了保证数据库中的数据的正确、有效和相容,防止不合语意的错误数据被输入或输出。 14、(1)数据库系统的软件由几部分组成?数据库系统的软件中包括操作系统(OS)、数据库管理系统(DBMS)、主语言系统、应用程序软件和用户数据库。 (2)作用:①操作系统或汉字操作系统:操作系统是所有计算机软件的基础,在数据库系统中它起着支持DBMS及主语言系统工作的作用。如果管理的信息中有汉字,则需要中文操作系统的支持,以提供汉字的输入、输出方法和汉字信息的处理方法。②数据库管理系统和主语言系统:数据库管理系统是为定义、建立、维护、使用及控制数据库而提供的有关数据管理的系统软件。主语言系统是为应用程序提供的诸如程序控制、数据输入输出、功能函数、图形处理、计算方法等数据处理功能的系统软件。③应用开发工具软件:应用开发工具是DBMS系统为应用开发人员和最终用户提供的高效率、多功能的应用生成器、第四代计算机语言等各种软件工具.如报表生成器、表单生成器、查询和视图设计器等,它们为数据库系统的开发和使用提供了良好的环境和帮助。④应用系统及数据库:数据库应用系统包括为特定的应用环境建立的数据库、开发的各类应用程序及编写的文档资料,它们是一个有机整体。通过运行数据库应用系统,可以实现对数据库中数据的维护、查询、管理和处理操作。(3)关系:

数据库系统原理试卷和答案

第一学期期末考试试卷和答案 试卷代码:03115A 授课课时:96 课程名称:数据库系统原理适用对象:本科选课班 一、选择题(从下列各题四个答案中选出一个正确答案,每小题1分,共10分) 1、在数据库技术发展的几个阶段中,数据独立性最高的是_____阶段。 A、数据库系统 B、文件系统 C、人工管理 D、数据项管理 2、在SQL的SELECT语句中,与选择运算对应的命令动词是_____。 A、SELECT B、FROM C、WHERE D、ORDER BY 3、在数据库中,下列说法___是不正确的 A、数据库避免了一切数据的重复 B、若系统是完全可以控制的,则系统可确保更新的一致性 C、数据可以共享 D、数据库减少了冗余 4、在数据库系统中,模式/外模式映像用于解决数据的___ A、结构独立性 B、物理独立性 C、逻辑独立性 D、分布独立性 5、关系代数的5种基本运算是___。 A、并、差、选择、投影、自然连接 B、并、差、交、选择、投影 C、并、差、交、选择、笛卡尔积 D、并、差、选择、投影、笛卡尔积 6、在SQL语句中,谓词“EXISTS”的含义是____。 A、全称量词 B、存在量词 C、自然连接 D、等值连接 7、规范化过程主要为克服数据库逻辑结构中的插入异常、删除异常、更新异常以及___的缺陷 A、数据不一致性 B、结构不合理 C、冗余度大 D、数据丢失 8、数据库数据的正确性和相容性是数据库的______。

A、安全性 B、可维护性 C、完整性 D、并发控制 9、数据库三级模式体系结构主要的目标是确保数据库的___。 A、数据安全性 B、数据独立性 C、最小冗余 D、数据结构规范化 10、后援副本的用途是_____。 A、安全性保障 B、一致性控制 C、故障后的恢复 D、数据的转储 二、简答题(回答要点,并简明扼要作解释。每题5分,共20分) 1、简述数据库系统从哪些方面来保证数据的完整性。 2、简述事务的ACID特性。 3、简述并发控制不当带来的数据不一致性问题。 4、简述数据库系统从哪些方面来保证数据的安全性。 三、编程与关系运算(每题5分,共20分) 设有四个关系 学生表(学号char(5),姓名varchar(10),姓别char(2),所属系varchar(20))Student(sno,sname,sex,dept) 课程表(课程号char(3),课程名varchar(20),先修课程char(3),学分tinyint,任课教师char(5)) Course(cno,cname,precno,ceredit,tno) 教师表(教师号char(5),教师名称varchar(10),姓别char(2)) Teacher(tno,tname,sex) 选课表(学号char(5)、课程号char(3),成绩tinyint) SC(sno,cno,grade) 1、编写一个触发器,当对学生表进行修改时其性别只能是男和女。 2、编写一个存储过程,依据输入的学号参数,统计该学生的平均分和总分,要 求使用游标,不可以使用sum和avg命令。 3、使用关系代数语言查询选修了’刘红’老师所授的所有课程的同学学号。 4、使用元组演算语言查询同时选修了‘001’和‘002’两门课程号的同学姓名。

《数据库系统原理及应用》习题集及参考答案要点

《数据库系统原理及应用》习题集及参考答案 一、简答题 1、什么是数据库管理系统? 一种负责数据库的建立、操作、管理和维护的软件系统。 2、数据库系统有哪几种模式?分别用来描述什么? (1)外模式 是用户的数据视图,用来描述数据的局部逻辑结构,是模式的子集。 (2)模式 是所有用户的公共数据视图,用来描述数据库中全体数据的全局逻辑结构和特征。(3)内模式 又称存储模式,描述数据的物理结构及存储方式 3、什么是事务?事务有哪些特征? 答:所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。 事务的特征:原子性、一致性、隔离性、持续性。 4、POWER BUILDER中事务对象有何作用? 答:PowerBuider的事务对象是应用程序与数据库之间进行通信的桥梁,在应用程序初启时,系统自动创一个为SQLCA(SQL Communication Area, SQL通讯区)的全局事务对象,该对象在应用程序的任何地方都可以访问 应用程序与数据库的所有通信都需要通过事务对象来完成,除了直接使用系统的缺省事务对SQLCA外,开发人员也可以创建自己的事务对象。 5、SQL SERVER中INSERTED表和DELETED表有何用? 答:触发器中用到两种特殊的表:删除表和插入表触发器中使用名为“deleted"和“inserted"来参照这些表;删除表存储受DELTE和UPDATE语句影响的行的副本当执行DELETE或UPDA TE语句时,行从触发器表中删除并传递到删除表中。删除表和触发器表通常没有共有的行。 插入表存储受INSERT和UPDA TE语句影响的行的副本当执行一NSERT或UPDA T语句时,新行同时增加到插入表和触发器表中。插入表中的行是触发器表中新行的副本可使用删除表和插入表中的行来参照相关表中的行, 或测试被删除或插入行中的值。 6、数据库系统由哪几部分构成? 答:数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。 7、什么是候选码?什么是主码?主码只能有一个属性吗? 答:能唯一标识实体的属性或属性组称为超码,其任意真子集都不能成为超码的最小超码称为候选码;

数据库系统原理模拟题

数据库系统原理模拟题 一:选择题(请将正确答案填在题号前的[ ] 内,每空1分,共20分) [A ]1:数据库的概念模型独立于——。 A.具体的机器和DBMS B.E-R图 C.信息世界 D.现实世界 [B ]2:——是存储在计算机内有结构的数据的集合。 A.数据库系统 B.数据库 C.数据库管理系统 D.数据结构 [ A ]3:数据库系统的核心是——。 A.数据库 B.数据库管理系统 C.数据模型 D.软件工具 [ D ]4:在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是——。 A.外模式 B.内模式 C.存储模式 D.模式 [ B ]5:关系数据库管理系统应能实现的专门关系运算包括——。 A.排序、索引、统计 B.选择、投影、连接 C.关联、更新、排序 D.显示、打印、制表 [D ]6:自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的——。 A.元组 B.行 C.记录 D.属性 [C ]7:在关系代数运算中,五种基本运算为——。 A.并、差、选择、投影、自然连接 B.并、差、选择、交、投影 C.并、差、选择、投影、乘积 D.并、差、交、选择、乘积 [A]8:SQL语言具有_____的功能 A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵 [A]9:当B属性函数依赖于A属性时,属性A与B的联系是________ A.1对多 B.多对1 C.多对多 D.以上都不是 [ C ]10:在关系模式中,如果属性A和B存在1对1的联系,则说________ A.A→B B.B→A C.A←→B D.以上都不是 [ A ]11:在关系DB中,任何二元关系模式的最高范式必定是________ A.1NF B.2NF C.3NF D.BCNF [ D ]12:一个实体型转换为一个关系模式。关系的码为____D____。 A.实体的码 B.二个实体码的组合 C.n端实体的码 D.每个实体的码 [ C ]13:一个m:n联系转换为一个关系模式。关系的码为___C_____。 A.实体的码 B.各实体码的组合 C.n端实体的码 D.每个实体的码 [ B ]14:在数据系统中,对存取权限的定义称为________。

数据库系统原理模拟题

一、用适当的连线将左右两组术语中紧密相关的词连接起来,左右两组建立一对一的联系日志安全性 级联删除可串行性 锁协议持久性 自主存取控制数据独立性 逻辑蕴涵闭包完整性约束 模式函数依赖保持性 二、问答题 1.简述关系模型和基于基本层次联系的数据模型相比的优缺点。 答: 层次模型结构简单,容易实现,对于某些特定的应用系统效率很高,但如果需要动态访问数据(如增加或修改记录类型)时,效率并不高。另外,对于一些非层次性结构(如多对多联系),层次模型表达起来比较繁琐和不直观。 网状模型可以看作是层次模型的一种扩展。它采用网状结构表示实体及其之间的联系。网状结构的每一个节点代表一个记录类型,记录类型可包含若干字段,联系用链接指针表示,去掉了层次模型的限制。由于网状模型比较复杂,一般实际的网状数据库管理系统对网状都有一些具体的限制。在使用网状数据库时有时候需要一些转换。 网状模型与层次模型相比,提供了更大的灵活性,能更直接地描述现实世界,性能和效率也比较好。网状模型的缺点是结构复杂,用户不易掌握,记录类型联系变动后涉及链接指针的调整,扩充和维护都比较复杂。 关系模型概念清晰,结构简单,实体、实体联系和查询结果都采用关系表示,用户比较容易理解。另外,关系模型的存取路径对用户是透明的,程序员不用关心具体的存取过程,减轻了程序员的工作负担,具有较好的数据独立性和安全保密性。 关系模型也有一些缺点,在某些实际应用中,关系模型的查询效率有时不如层次和网状模型。为了提高查询的效率,有时需要对查询进行一些特别的优化。 2.简述关系数据库的参照完整性规则,外键在什么情况下可以为空,试举例说明。 答: 关系的完整性关系模型的完整性规则是对关系的某种约束条件 关系模型中三类完整性约束: ?实体完整性 ?参照完整性 ?用户定义的完整性 实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。 实体完整性实体完整性规则(Entity Integrity)若属性A是基本关系R的主属性,则属性A 不能取空值

数据库系统原理模拟题

B.在系统运行过程中,对数据库系统各时段CPU和内存使用情况进行监控 C.建立关系表以后编写系统应用程序 D.定期进行数据备份 3.R为4元关系R(A,B,C,D),S为3元关系S(B,C,D),则R∞ S构成的结果集为______元关系。( A )A.4 B.2 C.7 D.6 4.学生社团可以接纳多名学生参加,但每个学生只能参加一个社团,从社团到学生之间的联系类型是( B )A.多对多B.一对多 C.多对一D.一对一 5.一个关系中的候选关键字( B )A.至多一个B.可多个 C.必须多个D.至少3 个 6.下列哪些属性不适合建立索引(D )A.经常出现在GROUP BY字句中的属性 B.经常参与连接操作的属性 C.经常出现在WHERE字句中的属性 D.经常需要进行更新操作的属性 7.SQL语言具有数据操作功能,SQL语言的一次查询的结果是一个( D )A.数据项B.记录 C.元组D.表 8.在SQL语言中,用于测试列值非空的语句是(B )A.IS NOT EMPTY B.IS NOT NULL C.NOT UNIQUE D.NOT EXISTS

学院:_______________专业:________________ 班级:________________ 姓名:___________学号:________________座号:___ 密 封 线 内 不 要 答 题 ———————————密———————————————封———————————————线———————————— 9.在SQL 中,与“NOT IN ”等价的操作符是 ( A ) A .<>ALL B .<>SOME C .=SOME D .=ALL 10.下列SQL 语句中,能够实现“将查询SC 表的权限授予用户U1,并允许该用户将此权限授予其他用户”这一功能的是 ( D ) A .GRANT SELECT TO SC ON U1 WITH PUBLIC B .GRANT SELECT ON S C TO U1 WITH PUBLIC C .GRANT SELECT TO SC ON U1 WITH GRANT OPTION D .GRANT SELECT ON SC TO U1 WITH GRANT OPTION 11.被命名的一组与数据库操作有关的权限称为 ( C ) A .用户组 B .用户 C .角色 D .模式 12.下面给出的关系表r(A ,B ,C ,D)满足下述哪个函数依赖 ( B ) A .A → B B .B →D C . D →C D .A →D 13.某供应商关系模式为 Provider(PID ,Pname ,Tel ,GoodsID ,GoodsClassID ,GoodsName ,GoodsPrice) 该关系模式应满足如下函数依赖: PID →Pname ,PID →TEL ,GoodsID →GoodsClassID , GoodsID →GoodsName ,GoodsName →GoodsPrice 则这个关系模式的主码为 ( C ) A .(PID ,GoodsName) B .(PID ,GoodsClassID) C .(PI D ,GoodsID) D .(PID ,GoodsPrice) 14.在关系数据库中,从关系规范化的意义看,如果关系R 中的非主属性对码有传递函数依赖,那么R 至多是 ( ) A .1NF B .2NF C .3NF D .BCNF 15.最小函数依赖集Fm 要求所有函数依赖的右部 ( B ) A .最多有一个属性 B .最少有一个属性 C .可以有多个属性 D .属性个数无要求 16.并发事务的交叉执行破坏了事务的 ( ) A .原子性 B .隔离性 C .一致性 D .永久性 17.要求事务在读取数据前先加共享锁,且读完数据后即可释放S 锁,这种封锁协议是 ( ) A .一级封锁协议 B .二级封锁协议 C .三级封锁协议 D .四级封锁协议 18.以下哪一个将用来记录对数据库中数据进行的每一次更新操作 ( ) A .数据字典 B .后援副本 C .日志文件 D .数据库 19.设有事务T1和T2,其并发操作顺序如下表所示。该并发操作带来的问题是( ) A .丢失了修改 B .不能重复读 C .读脏数据 D .写错误

相关主题
文本预览
相关文档 最新文档