数据库系统原理B复习题

更新时间:2023-11-19 19:42:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

主观题 绪论

1 .数据库数据具有__________、__________和__________三个基本特点。 答案

永久存储 有组织 可共享

2 .试述数据、数据库、数据库系统、数据库管理系统的概念。 答案

数据:描述事物的符号记录称为数据。数据的种类有文字、图形、图象、声音、正文等等。数据与其语义是不可分的。数据库:数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。数据库系统:数据库系统(DBS)是指在计算机系统中引入数据库后的系统构成。数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。数据库管理系统:数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件。用于科学地组织和存储数据、高效地获取和维护数据。DBMS主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。 3 .数据库管理系统是数据库系统的一个重要组成部分,它的功能包括__________、__________、__________、__________。 答案

数据定义功能 数据操纵功能 数据库的运行管理 数据库的建立和维护功能

4 .数据库系统是指在计算机系统中引入数据库后的系统,一般由__________、__________、__________和__________构成。 答案

数据库 数据库管理系统(及其开发工具) 应用系统 数据库管理员 5 .试述文件系统与数据库系统的区别和联系。 答案

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

6 .数据库管理技术的发展是与计算机技术及其应用的发展联系在一起的,它经历了三个阶段:__________阶段,__________阶段和__________阶段。 答案

人工管理 文件系统 数据库系统

7 .举出适合用文件系统而不是数据库系统的例子;再举出适合用数据库系统的应用例子。 答案

适用于文件系统而不是数据库系统的应用例子,数据的备份,软件或应用程序使用过程中的临时数据存储一般使用文件比较合适。 早期功能比较简单、比较固定的应用系统也适合用文件系统。适用于数据库系统而非文件系统的应用例子目前,几乎所有企业或部门的信息系统都以数据库系统为基础,都使用数据库。如一个工厂的管理信息系统(其中会包括许多子系统,如库存管理系统、物资采购系统、作业调度系统、设备管理系统、人事管理系统等等),还比如学校的学生管理系统,人事管理系统,图书馆的图书管理系统等等都适合用数据库系统。 8 .数据库具有数据结构化、最小的__________、较高的__________等特点 。 答案

冗余度 数据独立性

9 .DBMS还必须提供__________保护、__________检查、__________、__________等数据控制功能。 答案

数据的安全性 数据的完整性 并发控制 数据库恢复 10 .数据库管理系统的主要功能有哪些?

答案

① 数据库定义功能; ② 数据存取功能; ③ 数据库运行管理; ④ 数据库的建立和维护功能。

11 .模式(Schema)是数据库中全体数据的__________和__________的描述,它仅仅涉及到__________的描述,不涉及到具体的值。 答案

逻辑结构 特征 型

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

数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。一般地讲,数据模型是严格定义的概念的集合。这些概念精确地描述系统的静态特性、动态特性和完整性约束条件。因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。 ① 数据结构:是所研究的对象类型的集合,是对系统的静态特性的描述。 ② 数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。 ③ 数据的约束条件:是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。 *解析:数据模型是数据库系统中最重要的概念之一。同学们必须通过《概论》的学习真正掌握数据模型的概念和作用。数据模型是数据库系统的基础。任何一个DBMS都以某一个数据模型为基础,或者说支持某一个数据模型。数据库系统中模型有不同的层次。根据模型应用的不同目的,可以将模型分成两类或说两个层次:一是概念模型,是按用户的观点来对数据和信息建模,用于信息世界的建模,强调语义表达能力,概念简单清晰;另一是数据模型,是按计算机系统的观点对数据建模,用于机器世界,人们可以用它定义、操纵数据库中的数据。一般需要有严格的形式化定义和一组严格定义了语法和语义的语言,并有一些规定和限制,便于在机器上实现。

13 .三级模式之间的两层映象保证了数据库系统中的数据能够具有较高的__________和__________。 答案

逻辑独立性 物理独立性

14 .试述概念模型的作用。 答案

概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。 15 .根据模型应用的不同目的,可以将这些模型划分为两类,它们分别属于两个不同的层次。第一类是__________,第二类是__________。 答案

概念模型 数据模型

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

实体:客观存在并可以相互区分的事物叫实体。实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体称为实体型。实体集:同型实体的集合称为实体集。属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。码:唯一标识实体的属性集称为码。实体联系图:E-R图提供了表示实体型、属性和联系的方法:实体型:用矩形表示,矩形框内写明实体名。属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。

17 .数据模型的三要素是指__________,__________,__________。实际数据库系统中所支持的主要数据模型是__________,__________,__________。 答案

数据结构 数据操作 完整性约束 关系模型 层次模型 网状模型 18 .试述网状、层次数据库的优缺点。 答案

层次模型的优点主要有: 1)模型简单,对具有一对多的层次关系的部门描述非常自然、直观,容易理解,这是层次数据库的突出优点; 2) 用层次模型的应用系统性能好,特别是对于那些实体间联系是固定的预先定义好的应用,采用层次模型来实现,其性能优于关系模型; 3) 次数据模型提供了良好的完整性支持。层次模型的缺点主要有: 1) 现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个双亲等,层次模型不能自然地表示这类联系。只能通过引入冗余数据或引入虚拟结点来解决。 2 )对插入和删除操作的限制比较多。 3)查询子女结点必须通过双亲结点。网状模型:网状数据模型的优点主要有: 1) 能够更为直接地描述现实世界,如一个结点可以有多个双亲。 2)具有良好的性能,存取效率较高。网状数据模型的缺点主要有: 1) 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。 2)其DDL,DML语言复杂,用户不容易使用。由于记录之间联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径。因此,用户必须了解系统结构的细节,加重了编写应用程序的负担。

19 .试述关系模型的概念,定义并解释以下术语: (1)关系 (2)属性 (3)域 (4)元组 (5)主码 (6)分量 (7)关系模式 答案

关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。(1) 关系:一个关系对应通常说的一张表。(2) 属性:表中的一列即为一个属性;(3) 域:属性的取值范围;(4) 元组:表中的一行即为一个元组;(5) 码:表中的某个属性组,它可以唯一确定一个元组;(6) 分量:元组中的一个属性值;(7) 关系模式:对关系的描述,一般表示为 关系名(属性1,属性2,…,属性n)。

20 .数据模型中的__________是对数据系统的静态特征描述,包括数据结构和数据间联系的描述,__________是对数据库系统的动态特征描述,是一组定义在数据上的操作,包括操作的涵义、操作符、运算规则及其语言等。 答案

数据结构 数据操作

21 .试述关系数据库的特点。 答案

关系数据模型具有下列优点: ? 关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。 ? 关系模型的概念单一。无论实体还是实体之间的联系都用关系表示。操作的对象和操作的结果都是关系。所以其数据结构简单、清晰,用户易懂易用。 ? 关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。当然,关系数据模型也有缺点,其中最主要的缺点是,由于存取路径对用户透明,查询效率往往不如非关系数据模型。因此为了提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统软件的难度。

22 .用树型结构表示实体类型及实体间联系的数据模型称为__________模型,上一层的父结点和下一层的子结点之间的联系是 的联系。 答案

层次 一对多

23 .试述数据库系统三级模式结构,这种结构的优点是什么? 答案

数据库系统的三级模式结构由外模式、模式和内模式组成。外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特性的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的局部的逻辑结构,通常是模式的子集。内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映象:外模式/模式映象和模式/内模式映象。正是这两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

24 .用有向图结构表示实体类型及实体间联系的数据模型称为__________模型,数据之间的联系通常通过__________实现。 答案

网状 指针

25 .定义并解释以下术语:DDL、DML 答案

DDL:数据定义语言。用来定义数据库模式、外模式、内模式的语言。 DML:数据操纵语言。用来对数据库中的数据进行查询、插入、删除和修改的语句。

26 .__________是目前最常用也是最重要的一种数据模型。采用该模型作为数据的组织方式的数据库系统称为__________。 答案

关系模型 关系数据库系统

27 .关系的完整性约束条件包括三大类:__________、__________和__________。 答案

实体完整性 参照完整性 用户定义的完整性

28 .什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性? 为什么数据库系统具有数据与程序的独立性? 答案

数据与程序的逻辑独立性:当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式的映象作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。 数据与程序的物理独立性:当数据库的存储结构改变了,由数据库管理员对模式/内模式映象作相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性。数据库管理系统在三级模式之间提供的两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。 29 .试述数据库系统的组成。 答案

数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。

关系数据库

1 . 试述关系模型的三个组成部分。 答案

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

2 .关系数据模型中,二维表的列称为________,二维表的行称为________。 答案

属性 记录或元组

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

关系数据语言可以分为三类: 关系代数语言,例如ISBL 关系演算语言,包括:元组关系演算语言,例如APLHA,QUEL 域关系演算语言,例如QBE 具有关系代数和关系演算双重特点的语言 例如SQL 这些关系数据语言的共同特点是,具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。 4 .用户选作元组标识的一个候选码为________,其属性不能取________。 答案

主码 空值

5 .关系代数运算中,传统的集合运算有_____,_____,_____,_____。 答案

笛卡尔积 并 交 差

6 .试述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空? 答案

关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。 1) 实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。 2) 参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必 须为: ? 或者取空值(F的每个属性值均为空值); ? 或者等于S中某个元组的主码值。 3) 用户定义的完整性是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。 在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定。但前提条件是该外部码属性不是其所在关系的主属性。例如,在下面的“学生”表中,“专业号”是一个外部码,不是学生表的主属性,可以为空。其语义是,该学生的专业尚未确定。学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)而在下面的“选修”表中的“课程号”虽然也是一个外部码属性,但它又是“选修”表的主属性,所以不能为空。因为关系模型必须满足实体完整性。课程(课程号,课程名,学分)选修(学号,课程号,成绩)

7.关系代数运算中,基本的运算是________,________,________,________,________。 答案

并 差 笛卡尔积 选择 投影

8 .关系代数运算中,专门的关系运算有________,________,________。 答案

选择 投影 连接

9 .关系数据库中基于数学上的两类运算是________和________。 答案

关系代数 关系演算

10 .关系代数中,从两个关系中找出相同元组的运算称为________运算。 答案 交

11 .设有学生关系:S(XH,XM,XB,NL,DP)。在这个关系中,XH表示学号,XM表示姓名,XB表示性别,NL表示年龄,DP表示系部。查询学生姓名和所在系的投影操作的关系运算式是________________。 答案

π2,5(S) 或 πXM,DP(S) 12 .在“学生-选课-课程”数据库中的3个关系如下:S(S#,SNAME,SEX,AGE);SC(S#,C#,GRADE); C(C#,CNAME,TEACHER),查找选修“数据库技术”这门课程学生的学生名和成绩,若用关系代数表达式来表示为________________。 答案

πSNAME,GRADE(σCNAME=’数据库技术’ (S∞SC∞C))

关系数据库标准语言SQL 1 .试述SQL语言的特点。 答案

(1)综合统一。 SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体。(2)高度非过程化。用SQL语言进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。(3)面向集合的操作方式。SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。(4)以同一种语法结构提供两种使用方式。SQL语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式,也能够嵌入到高级语言程序中,供程序员设计程序时使用。(5)语

部应用的概念结构,然后将它们集成起来,得到全局概念结构; ? 逐步扩张。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构; ? 混合策略。即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。

13 . 根据模型应用的不同目的,可以将这些模型划分为两类,它们分别属于两个不同的层次。第一类是________,第二类是________。 答案

概念模型 数据模型

14 .什么叫数据抽象?试举例说明。 答案

数据抽象是对实际的人、物、事和概念进行人为处理,抽取所关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某种模型。如分类这种抽象是:定义某一类概念作为现实世界中一组对象的类型。这些对象具有某些共同的特性和行为。它抽象了对象值和型之间的“is member of”的语义。在E-R模型中,实体型就是这种抽象。例如在学校环境中,李英是老师,表示李英是教师类型中的一员,则教师是实体型,李英是教师实体型中的一个实体值,具有教师共同的特性和行为:在某个系某个专业教学,讲授某些课程,从事某个方向的科研。

15 . 用________ 方法来设计数据库的概念模型是数据库概念设计阶段广泛采用的方法。 答案

实体—联系方法(E-R)

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

重要性:数据库概念设计是整个数据库设计的关键,将在需求分析阶段所得到的应用需求首先抽象为概念结构,以此作为各种数据模型的共同基础,从而能更好地、更准确地用某一DBMS实现这些需求。设计步骤:概念结构的设计方法有多种,其中最经常采用的策略是自底向上方法,该方法的设计步骤通常分为两步:第1步是抽象数据并设计局部视图,第2步是集成局部视图,得到全局的概念结构(如图6.9所示,P216)。 17 . 概念模型有以下特点:________、 ________ 、________ 、________。 答案

真实性 易理解性 易修改性 易转换性

18 . 客观存在并可相互区别的事物称为________ ,它可以是具体的人、事、物,也可以是抽象的概念或联系。 答案 实体

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

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

21 .为什么要视图集成?视图集成的方法是什么? 答案

在对数据库系统进行概念结构设计时一般采用自底向上的设计方法,把繁杂的大系统分解子系统。首先设计各个子系统的局部视图,然后通过视图集成的方式将各子系统有机的融合起来,综合成一个系统的总视图。这样设计清晰,由简到繁。由于数据库系统是从整体角度看待和描述数据的,因此数据不再面向某个应用而是整个系统。

因此必须进行视图集成,使得数据库能被全系统的多个用户、多个应用共享使用。一般说来,视图集成可以有两种方式: 多个分E-R图一次集成; 逐步集成,用累加的方式一次集成两个分E-R图。无论采用哪种方式,每次集成局部E-R图时都需要分两步走:(1)合并。解决各分E-R图之间的冲突,将各分E-R图合并起来生成初步E-R图。(2)修改和重构。消除不必要的冗余,生成基本E-R图。 22 . 实体之间的联系有________ 、________ 、________三种。 答案

一对一 一对多 多对多

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

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

24 . 如果两个实体之间具有M:N联系,则将它们转换为关系模型的结果是________ 个关系。 答案 3

25 . ER模型是对现实世界的一种抽象,它的主要成分是________ 、联系和 ________。 答案

实体 属性

26 . 需求调查和分析的结果最终形成________ ,提交给应用部门,通过________后作为以后各个设计阶段的依据。 答案

需求分析说明书 评审

27 . 规范化理论对数据库设计有什么指导意义? 答案

规范化理论为数据库设计人员判断关系模式优劣提供了理论标准,可用以指导关系数据模型的优化,用来预测模式可能出现的问题,为设计人员提供了自动产生各种模式的算法工具,使数据库设计工作有了严格的理论基础。 28 .________ 表达了数据和处理的关系, ________则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。 答案

数据流图 数据字典

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

数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的DBMS。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构,就是数据库的物理设计的主要内容。数据库的物理设计步骤通常分为两步:(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。

30 . 数据字典中应包括对以下几部分数据的描述:________ 、________ 、________ 。 答案

数据项 数据结构 数据流

31 . 各分E-R图之间的冲突主要有三类:________ 、________和________ 。 答案

属性冲突 命名冲突 结构冲突

32 . 什么是数据库的再组织和重构造?为什么要进行数据库的再组织和重构造? 答案

数据库的再组织是指:按原设计要求重新安排存储位置、回收垃圾、减少指针链等,以提高系统性能。数据库的重构造则是指部分修改数据库的模式和内模式,即修改原设计的逻辑和物理结构。数据库的再组织是不修改数据

库的模式和内模式的。进行数据库的再组织和重构造的原因:数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时DBA就要对数据库进行重组织。DBMS一般都提供数据重组织用的实用程序。数据库应用环境常常发生变化,如增加新的应用或新的实体,取消了某些应用,有的实体与实体间的联系也发生了变化等,使原有的数据库设计不能满足新的需求,需要调整数据库的模式和内模式。这就要进行数据库重构造。

33 . 在E-R模型向关系模型转换时,M:N的联系转换为关系模式时,其码包括________ 。 答案

M、N端实体的码

34 . 关系数据库的规范化理论是数据库________ 的一个有力工具;ER模型是数据库的________设计的一个有力工具。 答案

逻辑设计 概念结构

35 . 数据库的物理设计通常分为两步:(1)确定数据库的________ ,(2)对其进行评价,评价的重点是________和________。 答案

物理结构 时间 空间效率

36 . 任何DBMS都提供多种存取方法。常用的存取方法有________ 、________ 、________ 等。 答案

索引(index)方法 HASH方法 聚簇(Cluster)方法

37 . 确定数据库存储结构主要指确定________ 、________ 、________ 、________ 、________等数据的存储安排和存储结构,确定系统配置参数等。 答案

关系 索引 聚簇 日志 备份

38 .________ 是数据库中存放数据的基本单位。 答案 表

39 . 在数据库运行阶段,对数据库经常性的维护工作主要是由________ 完成的。 答案

数据库管理员 (DBA)

数据库恢复技术

1 .________ 是一系列的数据库操作,是数据库应用程序的基本逻辑单元。 答案 事务

2 . 试述事务的概念及事务的四个特性。 答案

事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这个四个特性也简称为ACID特性。原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。持续性:持续性也称永久性(Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。

3 . 为什么事务非正常结束时会影响数据库数据的正确性,请列举一例说明之。 答案

事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。如果数据库系统运行中发生故障,有

些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。例如某工厂的库存管理系统中,要把数量为Q的某种零件从仓库1移到仓库2存放。则可以定义一个事务T,T包括两个操作;Q1=Q1-Q,Q2=Q2+Q。如果T非正常终止时只做了第一个操作,则数据库就处于不一致性状态,库存量无缘无故少了Q。 4 . 事务处理技术主要包括________ 技术和________技术。 答案

数据库恢复 并发控制

5 . 在SQL语言中,定义事务控制的语句主要有________ 、________ 和 ________ 。 答案

BEGIN TRANSACTION COMMIT ROLLBACK

6 . 数据库中为什么要有恢复子系统?它的功能是什么? 答案

因为计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此必须要有恢复子系统。恢复子系统的功能是:把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)。

7 . 事务具有四个特性:它们是________ 、________ 、________ 和 ________ 。这个四个特性也简称为________特性。 答案

原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持续性(Durability) ACID

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

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

9 . 把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态)的功能,这就是________ 。 答案

数据库的恢复

10 . 数据库恢复的基本技术有哪些? 答案

数据转储和登录日志文件是数据库恢复的基本技术。当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。 11 . 数据库系统中可能发生各种各样的故障,大致可以分为________ 、________ 、________ 和 ________ 等。 答案

事务故障 系统故障 介质故障 计算机病毒

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

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

量转储和增量转储两种方式。海量转储是指每次转储全部数据库。增量转储则指每次只转储上一次转储后更新过的数据。从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来更简单些。但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。

13 . 建立冗余数据最常用的技术是________ 和________ 。通常在一个数据库系统中,这两种方法是一起使用的。 答案

数据转储 登录日志文件

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

15 . 转储可分为________ 和________,转储方式可以有________和 ________。 答案

静态转储 动态转储 海量转储 增量转储

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

把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO操作,并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。

17 .________ 是用来记录事务对数据库的更新操作的文件。主要有两种格式:以________为单位的日志文件和以________为单位的日志文件。 答案

日志文件 记录 数据块

18 .什么是检查点记录,检查点记录包括哪些内容? 答案

检查点记录是一类新的日志纪录。它的内容包括: ① 建立检查点时刻所有正在执行的事务清单。 ② 这些事务的最近一个日志记录的地址。

19 .具有检查点的恢复技术有什么优点?试举一个具体的例子加以说明。 答案

利用日志技术进行数据库恢复时,恢复子系统必须搜索日志,确定哪些事务需要REDO,哪些事务需要UNDO。一般来说,需要检查所有日志记录。这样做有两个问题:一是搜索整个日志将耗费大量的时间。二是很多需要REDO处理的事务实际上已经将它们的更新操作结果写到数据库中了,恢复子系统又重新执行了这些操作,浪费了大量时间。检查点技术就是为了解决这些问题。 20 .试述使用检查点方法进行恢复的步骤。 答案

① 从重新开始文件中找到最后一个检查点记录在日志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。 ② 由该检查点记录得到检查点建立时刻所有正在执行的事务清单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操作。

并发控制

1 . 并发操作带来的数据不一致性包括:________ 、________ 和 ________ 。 答案

丢失修改 不可重复读 读“脏”数据 2 .在数据库中为什么要并发控制? 答案

数据库是共享资源,通常有许多个事务同时在运行。 当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。 3 . 多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同,我们称这种调度策略为________的调度。 答案 可串行化

4 .并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况? 答案

并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏”数据。 (1)丢失修改(Lost Update) 两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)T1提交的结果,导致T1的修改被丢失。 (2)不可重复读(Non-Repeatable Read) 不可重复读是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。不可重复读包括三种情况:详见《概论》8.1 p266。 (3)读“脏”数据(Dirty Read)读“脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为“脏”数据,即不正确的数据。 避免不一致性的方法就是并发控制。最常用的并发控制技术是封锁技术。也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。 5 . 基本的封锁类型有两种:________ 和________ 。 答案

排它锁(Exclusive Locks,简称X锁) 共享锁(Share Locks,简称S锁) 6 .什么是封锁? 答案

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

7 . 在数据库并发控制中,两个或多个事务同时处在相互等待状态,称为________ 。 答案 死锁

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

基本的封锁类型有两种: 排它锁(Exclusive Locks,简称X锁) 和共享锁(Share Locks,简称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做任何修改。

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

在运用封锁技术对数据加锁时,要约定一些规则。例如,在运用X锁和S锁对数据对象加锁时,要约定何时申请X锁或S锁、何时释放封锁等。这些约定或者规则称为封锁协议(Locking Protocol)。对封锁方式约定不同的规则,就形成了各种不同的封锁协议。不同级别的封锁协议,例如《概论》中介绍的三级封锁协议,三级协议的

主要区别在于什么操作需要申请封锁,何时申请封锁以及何时释放锁(即持锁时间的长短)。 一级封锁协议:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。 二级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,读完后即可释放S锁。 三级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。 10 .________ 被称为封锁的粒度。 答案

封锁对象的大小

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

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

如果事务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两个事务永远不能结束,形成死锁。

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

活锁产生的原因:当一系列封锁不能按照其先后顺序执行时,就可能导致一些事务无限期等待某个封锁,从而导致活锁。 避免活锁的简单方法是采用先来先服务的策略。当多个事务请求封锁同一数据对象时,封锁子系统按请求封锁的先后次序对事务排队,数据对象上的锁一旦释放就批准申请队列中第一个事务获得锁。 14 .请给出预防死锁的若干方法。 答案

在数据库中,产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后又都请求已被其他事务封锁的数据加锁,从而出现死等待。防止死锁的发生其实就是要破坏产生死锁的条件。预防死锁通常有两种方法:(1)一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。(2)顺序封锁法预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。

15 .请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁? 答案

数据库系统一般采用允许死锁发生,DBMS检测到死锁后加以解除的方法。 DBMS中诊断死锁的方法与操作系统类似,一般使用超时法或事务等待图法。 超时法是:如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。超时法实现简单,但有可能误判死锁,事务因其他原因长时间等待超过时限时,系统会误认为发生了死锁。若时限设置得太长,又不能及时发现死锁发生。 DBMS并发控制子系统检测到死锁后,就要设法解除。通常采用的方法是选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有锁,使其他事务得以继续运行下去。当然,对撤销的事务所执行的数据修改操作必须加以恢复。 16 .什么样的并发调度是正确的调度? 答案

可串行化(Serializable)的调度是正确的调度。可串行化的调度的定义:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同,我们称这种调度策略为可串行化的调度。

17 .试述两段锁协议的概念。 答案

两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。 ? 在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁; ? 在释放一个封锁之后,事务不再申请和获得任何其他封锁。 “两段”的含义是,事务分为两个阶段:第一阶段是获得封锁,也称为扩展阶段。在这阶段,事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁。第二阶段是释放封锁,也称为收缩阶段。在这阶段,事务释放已经获得的锁,但是不能再申请任何锁。

18 .为什么要引进意向锁? 意向锁的含义是什么? 答案

引进意向锁是为了提高封锁子系统的效率。该封锁子系统支持多种封锁粒度。原因是:在多粒度封锁方法中一个数据对象可能以两种方式加锁—显式封锁和隐式封锁。因此系统在对某一数据对象加锁时不仅要检查该数据对象上有无(显式和隐式)封锁与之冲突;还要检查其所有上级结点和所有下级结点,看申请的封锁是否与这些结点上的(显式和隐式)封锁冲突;显然,这样的检查方法效率很低。为此引进了意向锁。 意向锁的含义是:对任一结点加锁时,必须先对它的上层结点加意向锁。 例如事务T要对某个元组加X锁,则首先要对关系和数据库加IX锁。换言之,对关系和数据库加IX锁,表示它的后裔结点—某个元组拟(意向)加X锁。引进意向锁后,系统对某一数据对象加锁时不必逐个检查与下一级结点的封锁冲突了。例如,事务T要对关系R加X锁时,系统只要检查根结点数据库和R本身是否已加了不相容的锁(如发现已经加了IX,则与X冲突),而不再需要搜索和检查R中的每一个元组是否加了X锁或S锁。

19 .试述常用的意向锁:IS锁,IX锁,SIX锁,给出这些锁的相容矩阵。 答案

IS锁如果对一个数据对象加IS锁,表示它的后裔结点拟(意向)加S锁。例如,要对某个元组加S锁,则要首先对关系和数据库加IS锁 IX锁如果对一个数据对象加IX锁,表示它的后裔结点拟(意向)加X锁。例如,要对某个元组加X锁,则要首先对关系和数据库加IX锁。 SIX锁如果对一个数据对象加SIX锁,表示对它加S锁,再加IX锁,即SIX = S + IX。

数据库安全性

1 . 数据库的安全性是指保护数据库以防止不合法的使用所造成的_______、_______或______。 答案

数据泄漏 更改 破坏

2 . 什么是数据库的安全性? 答案

数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 3 . 数据库安全性和计算机系统的安全性有什么关系? 答案

安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的, 4 . 计算机系统有三类安全性问题,即________ 、_________和 ________。 答案

技术安全类 管理安全类 政策法律类

5 . 用户标识和鉴别的方法有很多种,而且在一个系统中往往是多种方法并举,以获得更强的安全性。常用的方法有通过输入________和 ________来鉴别用户。 答案

用户名 口令

6 .________ 和 ________ 一起组成了DBMS的安全子系统。 答案

用户权限定义 合法权检查机制

7 . 当前大型的DBMS一般都支持________ ,有些DBMS同时还支持________ 。 答案

自主存取控制(DAC) 强制存取控制(MAC)

8 . 试述实现数据库安全性控制的常用方法和技术。 答案

实现数据库安全性控制的常用方法和技术有: 1) 用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。 2) 存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如C2级中的自主存取控制(DAC),B1级中的强制存取控制(MAC); 3) 视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。 4) 审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中, DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。 5) 数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。 9 . 用户权限是由两个要素组成的:________ 和 ________ 。 答案

数据对象 操作类型

10 . 什么是数据库中的自主存取控制方法和强制存取控制方法? 答案

自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。 *解析:自主存取控制中自主的含义是:用户可以将自己拥有的存取权限“自主”地授予别人。即用户具有一定的“自主”权。

11 . 在数据库系统中,定义存取权限称为________ 。SQL语言用________语句向用户授予对数据的操作权限,用________语句收回授予的权限。 答案

授权 GRANT REVOKE

12 . 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 权限又转授给了其他用户,那么这些权限也将从其他用户处收回。

13 . 对数据库模式的授权由DBA在________ 时实现。 答案 创建用户

14 . 为什么强制存取控制提供了更高级别的数据库安全性? 答案

强制存取控制(MAC)是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据,从而提供了更高级别的安全性。 15 . 理解并解释MAC机制中主体、客体、敏感度标记的含义。 答案

主体是系统中的活动实体,既包括DBMS所管理的实际用户,也包括代表用户的各进程。客体是系统中的被动

实体,是受主体操纵的,包括文件、基表、索引、视图等。对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)。敏感度标记被分成若干级别,例如绝密(Top Secret)、机密(Secret)、可信(Confidential)、公开(Public)等。主体的敏感度标记称为许可证级别(Clearance Level),客体的敏感度标记称为密级(Classification Level)。

16 . 一个DBA用户可以拥有________ 、________ 和________ 权限,一个RESOURCE用户可以拥有________权限。 答案

CREATE USER CREATE SCHEMA CREATE TABLE CREATE TABLE

17 . 数据库角色是被命名的一组与________ 相关的权限,角色是________的集合。 答案

数据库操作 权限

18 . 什么是数据库的审计功能,为什么要提供审计功能? 答案

审计功能是指DBMS的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中。因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在。利用数据库的审计功能,DBA可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。

19 . 统计数据库中存在何种特殊的安全性问题? 答案

统计数据库允许用户查询聚集类型的信息,如合计、平均值、最大值、最小值等,不允许查询单个记录信息。但是,人们可以从合法的查询中推导出不合法的信息,即可能存在隐蔽的信息通道,这是统计数据库要研究和解决的特殊的安全性问题。

20 . 通过________ 可以把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。 答案 视图机制

21 . 审计一般可以分为________ 审计和 ________审计。 答案

用户级 系统级

数据库完整性

1 . 数据库的完整性是指数据的________ 和 ________。 答案

正确性 相容性

2 . 什么是数据库的完整性? 答案

数据库的完整性是指数据的正确性和相容性。

3 . SQL标准使用了一系列概念来描述完整性,包括关系模型的________ 、________和 ________完整性。 答案

实体完整性 参照完整性 用户定义

4 . 数据库的完整性概念与数据库的安全性概念有什么区别和联系? 答案

数据的完整性和安全性是两个不同的概念,但是有一定的联系。前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(Garbage In Garbage Out)所造成的无效操作和错误结果。后者是保护数据库防止恶意的破坏和非法的存取。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。

应红色零件的供应商名字; 2.求北京供应商的号码、名字和状况(STATUS); 3.求零件P2的总供应量; 4.把零件P2的重量增加5,颜色该为黄色。

(1)select sname from s where sno in (select sno from p, sp where p.color = '红色' and p.pno = sp.pno) (2)select sno, sname, status from s where s.city = '北京' (3)select sum(qty) from sp where pno = 'P2'

(4)update p set weight = weight + 5, color = '黄色' where pno = 'P2'

13 .已知关系模式R,U={A,B,C,D,E,G}F:{AC→B,CB→D,A→BE,E→CG}. 求:A,AB,BC,AC是否为关系R的候选码?

BC不是超码,AB、AC是超码,A是候选码。

14 .试证由关系模式中全部属性组成的集合为候选码的关系是3NF,也是BCNF。

因为关系模式的候选码由全部属性组成,所以该关系中没有非主属性。因此满足关系属于3NF的条件:每个非主属性既不部分依赖于码,也不传递依赖于码。另一方面,该关系模式显然也是属于BCNF,否则,如果存在一非平凡函数依赖的决定因素不是候选码,则与该关系模式具有全码矛盾。 15 .现有如下关系模式:其中,Teacher(Tno,Tname,Tel,Dpartment,Bno,Bname,BorrowDate,Rdate,Backup)。 Tno一教师编号, Tname一教师姓名, Tel一电话, Department一所在部门, Bno一借阅图书编号, Bname一书名, BorrowDate一借书日期, Rdate一还书日期, Backup一备注该关系模式的属性之间具有通常的语义,例如,教师编号函数决定教师姓名,即教师编号是惟一的,图书编号是惟一的,等等。 1.教师编号是候选码吗? 2.说明上一题判断的理由是什么。 3.写出该关系模式的主码。 4.该关系模式中是否存在部分函数依赖?如果存在,请写出其中两个。 5.说明要将一个1NF的关系模式转化为若干个2NF关系,需要如何做? 6.该关系模式最高满足第几范式?并说明理由。 7.将该关系模式分解为3NF。 (1)教师编号Tno不是候选码。 (2)Tno→Bno不成立。

(3)(Tno, Bno, BorrowDate, Rdate)是主码。 (4)Tno→Tname, Bno→Bname

(5)用投影分解法去除关系模式中非主属性对候选码的部分函数依赖,如满足2NF的Teacher分解如下:

R1(Tno, Tname, Tel, Dpartment, Backup), 描述教师实体集,这里假设一名教师至多有一个电话,主码是Tno; R2(Bno, Bname), 描述图书实体集,主码是Bno; R3(Tno, Bno, BorrowDate), 描述借书,全码; R4(Tno, Bno, Rdate), 描述还书,全码。 (6)(7)前面的分解满足BCNF。

16 .假设某商业集团数据库中有一关系模式R如下: R(商店编号,商品编号,商品库存数量,部门编号,负责人)如果规定: (1)每个商店的每种商品只在该商店的一个部门销售; (2)每个商店的每个部门只有一个负责人; (3)每个商店的每种商品只有一个库存数量。试回答下列问题 (1)根据上述规定,写出关系模式R的基本函数依赖; (2)找出关系模式R的候选码; (3)试问关系模式R最高已经达到第几范式?为什么? (4)如果R不属于3NF,请将R分解成3NF模式集。

(1)有三个函数依赖:(商店编号,商品编号)→部门编号;(商店编号,部门编号)→负责人;(商店编号,商品编号)→商品库存数量。

(2)候选码是(商店编号,商品编号,部门编号)。

(3)关系模式R达到1NF,因为非主属性负责人和商品库存量对候选码的部分函数依赖。

(4)R1(商店编号,商品编号,部门编号,商品库存数量) F1{(商店编号,商品编号)→部门编号, (商店编号,商品编号)→商品库存数量};

R2(商店编号,部门编号,负责人) F2{(商店编号,部门编号)→负责人} 自测题2

1 .数据库与文件系统的根本区别在于[C ] (单选题) A.提高了系统效率 B.方便了用户使用

C.数据的结构化 D.节省了存储空间

2 .对由SELECT--FROM—WHERE—GROUP--ORDER组成的SQL语句,其在被DBMS处理时,各子句的执行次序为[C ]。 (单选题)

A.SELECT—FROM—GROUP—WHERE—ORDER

B.FROM——SELECT--WHERE——GROUP——ORDER C.FROM——WHERE——GROUP——SELECT——ORDER D.SELECT——FROM——WHERE——GROUP——ORDER

3 .现有关系模式: EMP(empno,ename,mgr,sal,workday) DEPT(deptno,dname,loc) 在以下视图中,不可能更新的视图为[B D]。 (多选题)

A.视图V1,由1970年以后参加工作的雇员组成 B.视图V2,由部门号和各部门的平均工资组成 C.视图V3,由雇员姓名和其领导者姓名组成

D.视图V4,由薪金超出所有雇员平均薪金以上的雇员组成 E.

4 .试给出BCNF的定义,并说明满足BCNF的关系有哪些特性。 (设计题)

关系模式R∈1NF。若X→Y且YX时X必含有码,则R∈BCNF。满足BCNF关系的特性有:所有非主属性对每一个码都是完全函数依赖;所有的主属性对每一个不包含它的码,也是完全函数依赖;没有任何属性完全函数依赖于非码的任何一组属性。

5 .在建立一个数据库应用系统时,为什么要首先调试运行DBMS的恢复功能?简述一下你所了解的数据库系统的恢复方法。 (设计题)

因为计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,为了防止出现此类事件带来的灾难性后果,必须首先调试运行DBMS的恢复功能。即把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)的功能。 DBMS一般都使用数据转储和登录日志文件实现数据库系统恢复功能。针对不同的故障,使用不同的恢复策略和方法。例如,对于事务故障的恢复是由DBMS自动完成的,对用户是透明的。对于系统故障,也是由DBMS完成恢复操作,包括撤销(UNDO)故障发生时未完成的事务,重做(REDO)已完成的事务。DBA的任务是重新启动系统,系统启动后恢复操作就由DBMS来完成了。对于介质故障,则恢复方法是由DBA重装最新的数据库后备副本和转储结束时刻的日志文件副本,然后DBA启动系统恢复命令,由DBMS完成恢复功能,即重做已完成的事务。

6 .试述关系数据库系统中视图(VIEW)的定义,引进VIEW的概念有什么优点。 (设计题)

视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。引进VIEW的优点有: (1)视图能够简化用户的操作。 (2)视图使用户能以多种角度看待同一数据。 (3)视图对重构数据库提供了一定程度的逻辑独立性。 (4)视图能够对机密数据提供安全保护。

7 .试述数据模型中完整性约束条件的概念,并给出关系模型中的完整性约束。 (设计题) 数据模型应该反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。数据模型还应该提供定义完整性约束条件的机制,以反映具体应月所涉及的数据必须遵守的特定的语义约束条件。在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。这是关系数据模型必须遵守基本的通用的完整性约束条件。

8 .设有学生表S(SNO,SN)(SNO为学生号,SN为姓名)和学生选修课程表SC(SNO,CNO,CN,C)(CNO为课程号,CN为课程名,C为成绩),试用SQL语言完成以下各题 (1)建立一个视图V_SSC(SNO,SN,CNO,CN,C),并按CNO升序排序; (2)从视图V_SSC上查询平均成绩在90分以上的SN、CN和C。 (1) CREATE VIEW V_SSC(SNO,SN,CNO,CN,G) AS SELECT S.SNO,S.SN,CNO,SC.CN,SC.G FROM S,SC WHERE S.SNO:SC.SNO ORDER BY CNO; (2) SELECT SN,CN,C FROM V_SSC GROUP BY SNO HAVING AVG(C)>90;

9 .今有如下关系数据库: S(SNO,SN,STATUS,CITY) P(PNO,PN,COLOR,WEIGHT) (JNO,JN,CITY) SPJ(SNO,PNO,JNO,QTY) 其中,S为供应单位,P为零件,J为工程项目,SPJ为工程订购零件的订单,其语义为:某供应单位供应某种零件给某个工程,请用SQL完成下列操作。 (1)求为工程J1提供红色零件的供应商代号。 (2)求使用S1供应的零件的工程名称。 (3)求供应商与工程所在城市相同的供应商提供的零件代号。 (4)求至少有一个和工程不在同一城市的供应商提供零件的工程代号。 (1) SELECT DISnNCT SPJ.SNO FROM SPJ,P WHERE P.PNO=SPJ.PNO AND SPJ.JNO=‘J1’AND P.COLOR=‘红’;

(2) SELECTJ.JN FROM J,SPJ WHERE J.JNO=SPJ.JNOAND SPJ.SNO=‘S1’;

(3) SELECT DISTINCT SPJ.PNO FROM S,J,SPJ WHERE S.SNO=SPJ.SNO AND).JNO=SPJ.JNO AND S.CITY=J.CITY;

(4) SELECT DISTINCT SPJ.JNO FROM S,J,SPJ WHERE S.SNO=SPJ.SNO AND J.JNO=SPJ.JNO AND S.CITY<>J.CITY;

10 . 假设存款余额x:1000元,甲事务取走存款300元,乙事务取走存款200元,其执行如下:

甲: Read(x) X = x - 300 Write(x) 乙: Read(x) X = x – 200 Write(x) 分析该调度执行结果?如何实现这两个事务的并发控制? 答案

上面调度得到x为800,而不是正确的500。可采用封锁的方法修改如下:

甲:

Xlock(x) Read(x) X = x - 300 Write(x) Unlock(x)

乙: Xlock(x) Read(x) X = x – 200 Write(x) Unlock(x)

本文来源:https://www.bwwdw.com/article/0dov.html

Top