您的当前位置:首页正文

数据库系统原理习题解答

2020-07-21 来源:年旅网
数据库系统原理习题解答

习题1——数据库系统基本概念

1.1名词解释

DBMS——是位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。

DBS——是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即它是采用数据库技术的计算机系统。

数据模型——在数据库技术中,我们用数据模型的概念描述数据库的结构和语义,对现实世界的数据进行抽象。根据数据抽象级别定义了四种模型:概念数据模型、逻辑数据模型、外部数据模型和内部数据模型。

概念模型——表达用户需求观点的数据全局逻辑结构的模型。

逻辑模型——表达计算机实现观点的DB全局逻辑结构的模型。主要有层次、网状、关系模型等三种。

外部模型——表达用户使用观点的DB局部逻辑结构的模型。内部模型——表达DB物理结构的模型。

外模式——用户与数据库系统的接口,是用户用到的那部分数据的描述。外模式由若干个

外部记录类型组成。

内模式——是数据库在物理存储方面的描述,定义所有内部记录类型、索引和文件的组织形式,以及数据控制方面的细节。

外模式/逻辑模式映像——存在于外模式和逻辑模式之间,用于定义外模式和逻辑模式之间的对应性,一般放在外模式中描述。

逻辑模式/内模式映像——存在于逻辑模式和内模式之间,用于定义逻辑模式和内模式之间的对应性,一般放在内模式中描述。

数据独立性——是指应用程序和数据库的数据结构之间相互独立,不受影响。在修改数据结构时,尽可能不修改应用程序。分物理数据独立性和逻辑数据独立性两个级别。

物理数据独立性——对内模式修改时,对逻辑模式/内模式像作相应修改,可以尽量不影响逻辑模式。

逻辑数据独立性——逻辑模式修改时,对外模式/逻辑模式映像作相应修改,可以使外模式和应用程序保持不变。

主语言——在数据库技术中,用于编写应用程序的高级程序设计语言。

DDL——数据定义语言。DBMS提供DDL定义数据库的三级结构、两级映像,定义数据的完整性约束、保密限制等约束。

DML——数据操纵语言。DBMS提供DML实现对数据的操作。基本的数据操作有两类:

检索(查询)、更新(插入、删除、修改)。分为过程性DML和非过程DML两种。

过程性DML——是指用户编程时,不仅需要指出“做什么”(需要什么样的数据),还需要指出“怎么做”(怎样获得这些数据)。如层次、网状的DML。

非过程性DML——用户编程时,只需要指出“做什么”,不需要提出“怎么做”。如关系型DML。

DD——数据库系统中存放三级结构定义的数据库。它还存放数据库运行时的统计信息。DD系统——管理DD的子系统。

1.2人工管理阶段的数据管理有哪些特点?

答:①、数据不保存在计算机内。

②、没有专用的软件对数据进行管理。③、只有程序概念,没有文件概念。④、数据面向程序。

1.3文件系统阶段的数据管理有哪些特点?

答:①、数据以“文件”的形式可以长期保存在外部存储器的磁盘上。②、数据的逻辑结构与物理结构有了区别,但比较简单。

③、文件组织已多样化。有索引文件、链接文件和直接存取文件等。④、数据不再属于某个特定的程序,可以重复使用,即数据面向应用。⑤、对数据的操作以记录为单位。

1.4文件管理阶段数据管理有哪些缺陷?试举例说明。

例:一个单位的不同部门在一个计算机中分别建立职工档案文件、职工工资文件、职工保健文件三个独立数据文件就会造成上述三个缺陷。描述(略)。

1.5数据管理的数据库阶段产生的标志是哪三件事情?

答:①、1968年美国IBM公司推出层次模型的IMS系统;

②、1969年美国CODASYL(ConferenceOnDataSytemLanguage)组织发布了DBTG(DataBaeTakGroup)报告;

③、1970年美国IBM公司的E.F.Codd连续发表论文,提出关系模型。

1.6数据库阶段的数据管理有哪些特色?

答:①、采用数据模型表示复杂的数据结构。②、有较高的数据独立性。

③、数据库系统为用户提供了方便的用户接口。④、数据库系统提供四个方面的数据控制功能:数据库的恢复、数据库的并发控制、数据的完整性、数据的安全性。

⑤、增加了系统的灵活性。对数据的操作不一定以记录为单位,可以以数据项为单位。

1.7高级数据库阶段有哪些技术?

答:面向对象的概念建模、开放数据库互联技术。

答:数据描述有两种形式:物理数据描述和逻辑数据描述。物理数据描述是指数据在存储设备上的存储方式的描述,物理数据是实际存储在物理设备上的数据。物理记录和物理文件都是用来描述存储数据的细节。

逻辑数据描述是指程序员或用户用以操作的数据形式的描述,是抽象的概念化数据。逻辑记录、逻辑文件都是用户观点的数据描述。

1.9数据抽象的过程,有哪几个步骤?

答:第1步:根据用户的需求,设计数据库的概念模型;

第2步:根据转换规则,把概念模型转换成数据库的逻辑模型;

第3步:根据用户的业务特点,设计不同的外部模型,供程序员使用;第4步:根据逻辑模型设计内部模型,实现数据库。

1.10概念模型、逻辑模型、外部模型、内部模型各具有哪些特点?

答:概念模型特点:

1)表达了数据的整体逻辑结构,它是系统用户对整个应用项目涉及的数据的全面

描述;

2)从用户的需求观点出发,对数据建模;3)独立于硬件和软件;

4)是数据库设计人员和用户之间的交流工具。

逻辑模型的特点:

1)表达了DB的整体逻辑结构,是设计人员对整个应用系统项目数据库的全面描

述;

2)从数据库实现的观点出发,对数据建模;3)独立于硬件,但依赖于软件(DBMS);

4)是数据库设计人员与应用程序员之间的交流工具。

外部模型的特点:

1)逻辑模型的一个逻辑子集;2)独立于硬件,但依赖于软件;3)反映了用户使用数据库的观点。

内部模型的特点:

1)是数据库最低层抽象,它描述数据在外存上存储方式、存取设备和存取方法;2)与硬件和软件紧密相连。

1.11试叙述层次、网状和关系三种逻辑模型的区别。

1.12外部模型使数据库系统有哪些优点?

答:简化了用户的观点;

有助于数据库的安全保护;

外部模型是对概念模型的支持,如果用户使用外部模型得心应手,那么说明当初根据用户需求综合成的概念模型是正确的、完善的。

答:在用户到数据库间,DB的数据结构有三个层次:外部模型、逻辑模型、内部模型。这三个层次用DB的DDL定义后的内容分别是外模式、逻辑模式、内模式。

(叙述三个模式的概念)

内模式并不涉及物理设备的约束,那一部分由操作系统完成。如从磁盘读写数据的操作。

1.15试述DBMS的工作模式和主要功能。

答:DBMS工作模式:

1)接受应用程序的数据请求和处理请求;

2)将用户的数据请求(高级指令)转换成复杂的机器代码(低级指令);3)实现对数据库的操作;

4)从对数据库的操作中接受查询结果;5)对查询结果进行处理(格式转换);6)将处理结果返回给用户。

DBMS主要功能:

1)数据库的定义功能;2)数据库的操纵功能;3)数据库的保护功能;4)数据库的维护功能;5)数据字典。

1.16什么是DB的系统缓冲区?其作用是什么?答:DBMS为应用程序在内存中开辟的一个DB的系统缓冲区。用于数据的传输和格式的转换。

1.17DBS由哪几部分组成?它有哪些系统软件?其中DD有什么作用?

答:由数据库、硬件、软件、数据库管理员组成。

包括DBMS、OS、各种主语言和应用开发支撑软件等系统软件。

DD用来存放三级数据结构定义的数据库,还用来存储数据库运行时的统计信息。

1.18什么是DBA?DBA应具有什么素质?DBA的职责是什么?

答:DBA是控制数据整体结构的一组人员,负责DBS的正常运行,承担创建、监控和维护数据库结构的责任。

DBA应具有的素质:

1)熟悉企业全部数据的性质和用途;2)对所有用户的需求有充分的了解;3)对系统的性能非常熟悉;

4)兼有系统分析员和运筹学专家的品质和知识。

DBA的职责:1)定义模式;2)定义内模式;3)与用户的联络;

4)定义安全性规则,对用户访问数据库授权;5)定义完整性规则,监督数据库的运行;6)数据库的转储和恢复工作。

1.19试对DBS的全局结构作详细解释。

答:用户、DBMS(查询处理器、存储管理器)、磁盘存储器。

1.20从模块结构观察,DBMS由哪些部分组成?答:查询处理器、存储管理器。

1.21使用DBS的用户有哪几类?

答:DBA、专业用户、应用程序员、终端用户。

1.22DBMS的查询处理器和存储管理器分别由哪几部分组成?

答:DBMS查询处理器:DDL解释器、DML编译器、嵌入式DML预编译器、查询求值引擎。

DBMS存储管理器:权限和完整性管理器、事务管理器、文件管理器、缓冲区管理器。

1.21磁盘存储器中有哪五类主要的数据结构?

答:数据文件、数据字典、索引、统计数据、日志。

1.22DBS能产生哪些效益?

答:灵活性、简易性、面向用户、有效的数据控制、加快应用系统的开发速度、维护方便、标准化。

习题2——数据库设计和ER模型

2.1名词解释

数据库工程——数据库应用系统的开发是一项软件工程,但又有自己的特点。

实体——是一个数据对象,指应用中可以区别的客观存在的事物。实体集——同一类实体构成的集合。实体类型——是对实体集中实体的定义。

简单属性——不可再分隔的属性。

复合属性——可再分解为其它属性的属性。单值属性——同一实体的属性只能取一个值。多值属性——同一实体的属性可能取多个值。存储属性——需要把属性值存入数据库的属性。

关系实例——是一个属性集相同的元组的集合。(关系)属性——关系模型中的字段。

(关系)域——关系模型中字段的取值范围。(关系)元组——关系模型中的记录。

超键——在关系中能唯一标识元组的属性集,称为关系模式的超键。候选键——不含有多

余属性的超键。主键——用户选作元组标识的候选键。

外键——如果模式R中的属性K是其它模式的主键,则K在模式R中称为外键。实体完整性规则——要求关系中元组在组成主键的属性上不能有空值,否则就起不到唯一标识元组的作用了。

参照完整性规则——如果属性集K是关系模式R1的主键,同时也是关系模式R2的外键,那么在R2中,K的取值只允许有两种可能,或者为空值,或者等于R1关系中的某个主键值。

2.2数据库设计的规划阶段应做哪些事情?

答:①、系统调查。画出应用单位组织层次图。

②、可行性分析。从技术、经济、效益、法律等各方面可行性进行分析,写出可行性分析报告,组织专家讨论。

③、确定数据库系统的总目标,对应用单位的工作流程进行优化,制订项目开发计划。获得决策部门批准后,就正式进入数据库系统的开发工作。

2.3数据库设计的需求分析阶段工作主要由哪四步组成?

答:①、分析用户活动,产生业务流程图。

②、确定系统范围,产生系统关联图(确定人机界面)。③、分析业务活动涉及的数据,产生数据流图。④、分析系统数据,产生数据字典。

2.4在数据库设计中,为什么要有概念设计这一阶段?

答:如果没此阶段,直接将需求分析后的用户信息需求的数据存储格式转换成DBMS能处理的逻辑模型,注意力往往被牵扯到更多的细节,而不能集中到最重要的信息组织结构和处理模型上,使设计依赖于具体的DBMS逻辑模型,不能很好地适应外界的变化。

在需求分析和逻辑设计间增加此阶段,使设计人员仅从用户的观点看待数据和处理需求、约束,产生反映用户观点概念模型。将概念设计从设计过程中独立开来,可以使数据库设计各阶段任务单一化,减小复杂度,便于组织管理,也能较好地适应各种变化,转换成现在普遍使用的关系模型。

2.5试述概念设计的主要步骤?

答:①、进行数据抽象(聚集、概括),设计局部概念模型;

②、将局部概念模型综合成全局概念模型(削除冲突,即不一致性);③、评审(用户评审、DBA及应用开发人员评审)。

2.6逻辑设计的目的是什么?试述逻辑设计阶段主要步骤及内容。

答:目的是把概念设计阶段设计好的概念模型转换成与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑模型。

主要步骤:

1)把概念模型转换成逻辑模型;2)设计外模式;

3)设计应用程序和数据库的接口;

4)评价模型(定量分析——处理频率和数据容量、性能测量);5)修正模型。

2.7什么是数据库结构的物理设计?试述其具体步骤。

答:物理设计就是对于给定的基本数据模型选取一个最适合应用环境的物理结构的过程。数据库的物理结构主要指数据库存储记录格式、存储记录安排、存取方法。

具体步骤:

1)存储记录结构设计:包括记录的组成、数据项的类型、长度,以及逻辑记录到存

储记录的映射。

2)确定数据存放位置:可以把经常同时访问的数据组合在一起(记录聚簇技术)。3)存取方法的设计:存取路径分主存取路径与辅存取路径,前者用于主键检索,后

者用于辅助键检索。4)完整性和安全性考虑。5)程序设计。

2.8数据库实现阶段主要有哪几件事情?

答:①、定义数据结构。

②、数据装载:人工装载(筛选数据、转换数据格式、输入数据、校验数据)、计算机辅助装载(筛选数据、输入数据、校验数据、转换数据、综合数据)。

③、编制与调试应用程序。

④、数据库试运行(联合调试——功能调试、性能调试)。

2.9数据库系统投入运行后,有哪些维护工作?

答:①、数据库的转储和恢复。

②、数据库的安全性、完整性控制。③、数据库性能和监督、分析、改进。④、数据库的重组织和重构造。

2.10在概念设计中,如何把多值属性变换成系统容易实现的形式?

答:①、将原来的多值属性用几个新的单值属性来表示。②、将原来的多值属性用一个新的实体类型来表示。

2.12采用ER模型的数据库概念设计有哪些主要的步骤?

2.13在关系模型中,关系具有哪些性质?

答:①、关系中每一个属性值都是不可分解的;②、关系中不允许出现重复元组;

③、由于关系是一个集合,因此不考虑元组间的顺序,即没有行序;④、元组的属性在理论上也是无序的,但使用时按习惯考虑列的顺序。

2.14为什么关系中的元组没有先后顺序?且不允许有重复的元组?

答:因为是集合。(略)

2.15参照完整性规则使用时,有哪些变通?试举例说明。

答:①、外键和相应的主键可以不同名,只要定义在相同的值域上即可;

2.19ER图转换成关系模式集的具体思想是什么?答:P55。

2.20采用ER模型的数据库逻辑设计有哪些步骤?

答:导出初始关系模式集、规范化处理、模式评价、模式修正、设计子模式。

习题3——关系模式设计理论

3.1名词解释

函数依赖——设有关系模式R(U),某,Y是属性集U的子集,只要r是R有当前关系,对r中的任意两个元组t和,都有t[某]=[某]蕴含t[Y]=[Y],那么就称函数依赖(FD)某→Y在关系模式R(U)中成立。

平凡的函数依赖——对于FD某→Y,如果Y∈某,那么该FD就是平凡的FD。

函数依赖集F的闭包F+——设F为函数依赖集,被F逻辑蕴涵的函数依赖全体构成的集合。

属性集某的闭包某+——设F是属性集U上的FD集,某是U的子集,那么属性集某的闭包是一个从F集使用FD推理规则推出的所有满足某→A的属性A的集合。

函数依赖的逻辑蕴涵——设F是关系模式R上成立的函数依赖集合,某→Y是一个FD,如果对于R的每一个满足F的关系r也满足某→Y,那么称F逻辑蕴涵某→Y。

函数依赖集的等价——如果关系模式R(U)上的两个函数依赖集F和G,有F+=G+,则称F和G是等价的函数依赖集。

最小依赖集——满足下面三个条件的函数依赖集G:

1)G中每个FD的右边都是单属性;

2)G中没有冗余的FD。即G中不存在这样的函数依赖某→Y,使

得G-{某→Y}与G等价;

3)G中每个FD的左边没有冗余的属性。即G中不存在这样的函数

依赖某→Y,某有一个真子集W,使得G-{某→Y}U{W→Y}与G等价。

无损分解——设R是一个关系模式,F是R上的一个FD集,R分解成数据库模式。如果对R中满足F的每一个关系r,都有r在数据库中的各关系模式Ri上投影连接后仍为r,则称该数据库模式相对于F是无损分解的。

泛关系假设——在定义无损分解时,先假设存在泛关系r的情况下,再去谈论分解。Chae过程——P79。保持函数依赖——P80。

1NF——关系模式的每一个关系的属性值都是不可分的原子值。

2NF——关系模式是1NF,且每一个非主属性都完全函数依赖于候选键。3NF——关系模式是1NF,且每一个非主属性都不传递依赖于候选键。BCNF——关系模式是1NF,且每一个属性都不传递依赖于候选键。MVD——P88。

平凡的MVD——对于属性集U上的MVD某→→Y,如果Y∈某或某Y=U。则此MVD是平凡的MVD。

4NF——设D是关系模式R上成立的FD和MVD的集合。如果D中每个非平凡的MVD某→→Y的左部都是R的超键。

3.2试解释下面两个“数据冗余”的概念:

文件系统中不可避免的“数据冗余”

关系数据库设计中的“数据冗余”:数据库某一关系中多个元组大量重复存储同样的属

性值。

3.3关系模式的非形式化设计准则有哪几条?这些准则对数据库设计有什么帮助?

②、尽可能使得关系不出现插入、删除、修改等操作异常。如出现异常,则要清楚地加以说明,保证更新数据库的应用程序正确操作。

③、尽可能使关系中避免放置经常为空值的属性。

④、尽可能使关系等值连接在主键和外键上进行,并保证连接后不会产生额外的元组。

(如两个关系的连接匹配属性不是主键或外键,就可能产生额外元组)。

3.16什么是寄生元组?什么是悬挂元组?各是怎么产生的?

答:在泛关系模式分解成数据库模式时,泛关系r在数据库模式中的每一个模式上投影再连接起来,比原关系r多出来的元组是寄生元组。

在无泛关系假设时,对两个关系进行自然连接中被丢失的元组,被称为悬挂元组。产生原因略。

3.18试解释数据库“丢失信息”与“未丢失信息”两个概念。有什么区别?

答:分解后是否表示一样的信息,如不一样就是“丢失信息”,否则就是“未丢失信息”。

习题4——关系运算

4.1名词解释

无限关系——无组数量无限多的关系。

无穷验证——验证一个公式时,必须对关系中所有元组进行验证。

4.13为什么要对关系代数表达式进行优化?

答:对于等价的关系表达式,因表达式中安排选择、投影、连接的顺序不同而执行效率大为不同。

4.14有哪三条启发式规则?对优化起什么作用?

答:①、尽可能早地执行选择操作。②、尽可能早地执行投影操作。③、避免直接做笛卡尔积。

作用:合理安排操作顺序,可以花费较少的时间和空间。

习题5——SQL语言

5.1名词解释

基本表——是实际存储在数据库中的表。

视图——是由若干基本表和视图构成的表的定义。实表——(略)。

虚表——在创建一个视图时,只是把视图的定义存储在数据字典中,而不存储视图定义的数据,在用户使用视图时才去求对应的数据。因此,视图被称为“虚表”。

相关子查询——连接查询——嵌套查询——

导出表——是执行了查询时产生的表。临时视图——

5.2试叙述SELECT语句的关系代数特点和元组演算特点。答:

5.7预处理方式对于嵌入式SQL的实现有什么重要意义?答:

5.8在主语言的程序中使用SQL语句有哪些规定?

答:①、在程序中要区分SQL语句和主语言语句。②、允许嵌入的SQL语句引用主语言的程序变量。

③、SQL的集合处理方式与主语言的单记录处理方式之间的协调。

5.9SQL的集合处理方式和主语言单记录处理方式间如何协调?答:通过游标机制,将集合操作转换成单记录处理方式。

5.10嵌入式SQL语句何时不必涉及到游标?何时必须涉及到游标?

答:在执行INSERT、DELETE、UPDATE语句时和已知SELETE语句查询结果肯定是单元组时,可以不涉及游标。

当SELETE语句查询结果为多个元组时必须涉及到游标。

5.12什么是存储过程?使用存储过程后,系统具有什么特点?

答:存储过程是使用SQL语句和流程控制语句编写的模块,存储过程经编译和优化后存储在数据库服务器端的数据库中,使用时调用即可。

使用存储过程具有以下优点:1)提高运行速度;

2)增强了SQL的功能和灵活性;

3)可以降低网络的通信量;4)减轻了程序编写工作量;5)间接实现安全控制功能

5.13什么是SQL/PSM?这个标准中有哪些流程控制语句?

答:SQL/PSM是SQL标准的一部分,它指定了如何编写持久存储模块,提供流程控制语句来表示过程处理的应用逻辑。

有三种流程控制语句:顺序执行、条件分支语句、循环语句。

习题6——数据库管理

6.1名词解释

事务——是构成单一逻辑工作单元的操作集合,要么完整地执行,要么完全不执行。不论发生何种情况,DBS必须保证事务能正确、完整地执行。

数据库的一致性——事务运行结果必须保证数据库从一个一致性状态进入另一个一致性状态。

数据库的可恢复性——DBMS系统能把数据库从被破坏、不正确的状态,恢复到最近一个正确的状态的能力。

并发操作——多个事务同时对同一数据进行操作。

封锁——是一个与数据项有关的变量,相对于该数据项上可能的操作而言,锁描述了该数据项的状态。

某锁——排它型封锁。如果事务T对某个数据R实现了某锁,那么在T对R解锁前,不允许其它事务对R加任何类型的锁。

S锁——共享型封锁。如果事务T对某个数据R实现了S锁,仍允许其它事务对R加S锁,但R的所有S锁解除前,不允许任何事务对R加某锁。

调度——事务的执行次序。

串行调度——多个事务依次执行。

并发调度——利用分时的特点,同时处理多个事务。

可串行化调度——在每个事务在各种调度中语句的先后顺序不变的情况下,如果一个并发调度的执行结果与某一串行调度的执行结果等价,则这个并发调度称为可串行化调度。否则是不可串行化调度。

6.2事务的COMMIT语句和ROLLBACK语句各做什么事情?

答:COMMIT语句提交事务对数据库的所有更新并释放某锁;

ROLLBACK语句撤销事务对数据库的所有更新,使数据库恢复到事务执行前的状态,并释放某锁。

6.3试述事务的四个性质,并说明每一个性质由DBMS的哪个子系统实现?每一个性质对DBS有什么益处?

答:事务的四个性质ACID:

原子性:一个事务对数据库的所有操作,是一个不可分隔的工作单元。不会因事务交叉执行造成数据库的错误。

一致性:一个事务独立执行的结果,就保证数据库的一致性。数据不会因事务的执行而遭受破坏。

隔离性:多个事务并发执行时,系统保证这些事务先后单独执行时的结果一样。

持久性:一个事务一旦完成全部操作后,它对数据库的所有更新应永久地反映在数据库中。

6.4典型的数据库恢复策略是什么?

答:P154(略)。

因篇幅问题不能全部显示,请点此查看更多更全内容