数据库复习资料简答.docx
《数据库复习资料简答.docx》由会员分享,可在线阅读,更多相关《数据库复习资料简答.docx(11页珍藏版)》请在冰豆网上搜索。
数据库复习资料简答
简答题
1.简述数据库系统的三级模式结构和两级映像。
答:
数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。
(2分)模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
模式实际上是数据库数据在逻辑级上的视图,一个数据库只有一个模式,数据库模式以某一种数据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。
(1分)外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据购逻辑表示。
外模式通常是模式的子集。
一个数据库可以有多个外模式。
(1分)内模式也称存储模式,一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
(1分)
2.关系的完整性有哪些?
并用实例解释。
答:
1)实体完整性:
主属性不能为空。
例如学生(学号,姓名,性别,专业号,年龄)
主属性学号不能为空
2)参照完整性:
属性F是基本关系R的外码,它与基本关系S的主码相对应,则F或者取空值,或者等于S中某个元组的主码值。
学生(学号,姓名,性别,专业号,年龄)
专业(专业号,专业名)
学生关系中的专业号
3)用户自定义完整性例如某字段的取值在1~100之间
3.实体间的联系有哪些?
请举例说明。
答:
1:
1班级和正班长
1:
n班级和学生
M:
N学生和课程
4.数据库设计分为哪几个阶段?
答:
需求分析,概念结构设计,逻辑结构设计,物理设计,数据库实施阶段,数据库运行和维护。
5.试说明B+树索引和聚簇分别适合用在什么地方?
答:
B+树索引适合用于某个值有很少行记录的情况,比如学生表中的学号适合建立B+树索引;聚簇适合于某个值有很多行记录的情况,比如学生表中系别适合建立聚簇。
1.简述数据库管理系统的功能。
1)数据定义。
2)数据操纵。
3)数据库运行管理。
4)数据组织、存储和管理。
5)数据库的建立和维护。
6)数据通信接口。
2.简述SQL语言的特点。
答:
SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,充分体现了关系数据库语言的特点和优点。
其特点如下:
1)综合统一2)高度非过程化3)面向集合的操作方式4)以同一种语法结构提供两种操作方式5)语言简洁,易学易用
3、什么是数据库系统?
答:
数据库系统是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软、硬资源组成的系统。
它包含关联数据的集合,DBMS和用户应用程序等。
4、试述数据库完整保护的主要任务和措施。
答:
主要任务是保障数据的正确性,有效性,协调性,提高数据对用户的可用性。
其措施如下:
适时检查完整约束条件,保证语义完整。
控制并发操作,使其不破坏完整性。
在系统出现故障后,即时恢复系统。
5、在倒排文件中,如果只建立了部分关键字的辅索引,如何进行查找?
答:
对询问中涉及的关键字,首先在已建立的辅索引中求指针的交集P,而后对P中所指记录逐个验证其它关键字是否与询问条件匹配,所有匹配的记录即为查询结果。
6、什么叫数据与程序的物理独立性?
什么叫数据与程序的逻辑独立性?
为什么数据库系统具有数据与程序的独立性?
答:
数据与程序的逻辑独立性:
当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不变。
应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
数据与程序的物理独立性:
当数据库的存储结构改变了,由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。
数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
7、数据库的完整性概念与数据库的安全性概念有什么区
别和联系?
答:
数据的完整性和安全性是两个不同的概念,但是有一定的联系。
前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(Garba:
eInGarba:
eout)所造成的无效操作和错误结果。
后者是保护数据库防止恶意的破坏和非法的存取。
也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。
8、试给出多值依赖、和4NF的定义。
9、试给出函数依赖、BCNF的定义。
10、简述嵌入式SQL语句与主语言之间的通信。
首先用SQL通信区(SQLCommunicationArea,简称SQLCA)向主语言传递SQL语句的执行状态信息,使主语言能够据此控制程序流程;在程序运行中,主语言向SQL语句提供参数,使用主变量(hostvariable)输入数据;同时,程序把SQL语句查询数据库的结果交主语言进一步处理,其中使用主变量和游标(cursor)向主语言输出数据,从而实现了SQL语言的过程化工作。
SQL语句执行后,系统要反馈给应用程序若干信息,主要包括描述系统当前工作状态和运行环境的各种数据,这些信息将送到SQL通信区SQLCA中。
应用程序从SQLCA中取出这些状态信息,据此决定接下来执行的语句。
11、试述RDBMS查询优化的一般步骤。
(l)把查询转换成
某种内部表示,通常用的内部表示是语法树。
(2)把语法树转换成标准(优化)形式。
即利用优化算法,把原始的语法树转换成优化的形式。
(3)选择低层的存取路径。
(4)生成查询计划,选择代价最小的。
12、试述RDBMS查询优化的一般准则。
答:
下面的优化策略一般能提高查询效率:
(l)选择运算应尽可能先做;
(2)把投影运算和选择运算同时进行;
(3)把投影同其前或其后的双目运算结合起来执行;
(4)把某些选择同在它前面要执行的笛卡儿积结合起来成为一个连接运算;
(5)找出公共子表达式;
(6)选取合适的连接算法。
13、什么是数据库的逻辑结构设计?
试述其设计步骤。
答:
数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本E一R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。
设计步骤为:
(l)将概念结构转换为一般的关系、网状、层次模型;
(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;(3)对数据模型进行优化。
14、数据字典的内容和作用是什么?
答:
数据字典是系统中各类数据描述的集合。
数据字典的内容通常包括:
(l)数据项;
(2)数据结构;(3)数据流;(4)数据存储;(5)处理过程五个部分。
其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。
数据字典通过对数据项和数据结构的定义来描述数据流和数据存储的逻辑内容。
数据字典的作用:
数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完盖。
四、简答题
1、什么是视图,其主要特点是什么?
答:
视图是以现存表的全部或部分内容建立起来的一个表。
视图不是物理存在的,它不包含真正存储的数据,不占存储空间。
但视图可以像一般的表那样操作,因此视图也称作虚表,而真正物理存在的表称作实表或基本表。
2、什么是数据库系统的三级模式结构?
这种体系结构的优点是什么?
答:
数据库系统的三级模式结构由外模式、模式和内模式组成。
这种体系结构的优点:
数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留组DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。
而为了能够在内部实现这3个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:
外模式/模式映像和模式/内模式映像。
正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
3、什么是数据管理?
其发展经历了哪几个阶段,简要描述各阶段的主要特点。
答:
所谓数据管理是指对数据的组织、存储、检索和维护等工作,是数据处理的核心。
数据管理技术随着计算机软件与硬件的发展经历了三个阶段:
人工管理阶段、文件系统阶段和数据库系统阶段。
在人工管理阶段,没有统一的数据管理软件,对数据的管理完全由各个程序在其程序中进行。
在文件系统阶段,部分实现了逻辑数据与物理数据的相互独立性。
在数据库系统阶段,完成实现了逻辑数据与物理数据的相互独立,实现了数据共享,具有数据的冗余度小、有利于保证数据的完整性以及实现了对数据的集中管理等许多优点。
4、系统数据库master中记录哪些信息?
答:
记录了SQLServer系统的所有系统信息。
这些系统信息包括所有的登录信息、系统设置信息、SQLServer的初始化信息和其它系统数据库及用户数据库的相关信息。
5、什么是索引?
建立索引的作用有哪些?
答:
索引是按照一定顺序对表中一列或若干列建立的列值与记录行之间的对应关系表。
在数据库系统中建立索引主要有以下作用:
(1)快速存取数据;
(2)保证数据记录的惟一性;(3)实现表与表之间的参照完整性;(4)在使用ORDERBY、GROUPBY子句进行数据检索时,利用索引可以减少排序和分组的时间。
6、设计数据库备份策略时的基本思想是什么?
答:
数据库备份与数据库恢复是紧密联系在一起的,设计数据库备份策略时,应与数据库恢复结合起来考虑,其其本思想是以最小的代价恢复数据。
7、设有学生关系STUDENT(学号,姓名,性别,出生日期),有关系代数表达式:
π1,2,4(STUDENT)÷π4(σ1=’20060401’(STUDENT)),请用汉语句子写出该表达式所表示的查询。
答:
检索出与学号为“20060401”的学生同一天出生的所有学生的学号和姓名。
8、在SQLSERVER2000中,存储过程有几类,分别简述各自的特点。
答:
在SQLSERVER2000中,存储过程有两类:
系统存储过程和用户自定义存储过程。
系统存储过程由系统自动创建,主要存储在master数据库中,主要功能是从系统表中获取信息,可被其他数据库调用。
用户自定义存储过程由用户创建,其主要用于完成某一特定用户要求的功能。
9、什么是日志文件?
简述日志文件恢复事务的过程。
答:
日志文件是用来记录事务对数据库的更新操作的文件。
用日志文件恢复事务(即事务故障的恢复的过程如下:
(1)反向扫描文件日志(从最后向前扫描日志文件),查找该事务的更新操作。
(2)对该事务的更新操作执行逆操作。
即将日志记录中“更新前的值”写入数据库。
如果日志记录中是插入操作,则做删除操作;若日志记录中是删除操作,则做插入操作;若是修改操作,则用修改前值代替修改后值。
(3)继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。
(4)如此处理下去,直至读到此事务的开始标志,事物故障就恢复完成了。
10、简述sqlserver中变量的分类及各类变量的特点。
答:
变量分为全局变量和局部变量。
全局变量由系统提供且预先声明,通过在名称前加两个@符号区别于局部变量。
局部变量用于保存数据值。
如保存运算的中间结果,作为循环变量等。
当首字母为@时,表示该标识符为局部变量;当首字母为#时,此标识符为一临时数据库对象,若开头含一个#,表示局部临时数据库对象名,若开头两个#,表示全局临时数据库对象名。
11、在SQLServer中,数据库对象有表、约束和存储过程等,请简要说明这三个数据库对象的作用。
答:
表的作用是存储数据的逻辑结构;约束的作用是自动保持数据库的完整性;存储过程的作用是存储一段实现某个特定任务的代码,以便多次调用。
12、系统数据库master中记录哪些信息?
答:
记录了SQLServer系统的所有系统信息。
这些系统信息包括所有的登录信息、系统设置信息、SQLServer的初始化信息和其它系统数据库及用户数据库的相关信息。
二、简答题
1.简述数据库系统的特点。
答:
(1)数据结构化:
数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
(2)数据的共享性高,冗余度低,易扩充:
数据共享可以大大减少数据冗杂。
(3)数据独立性高:
分为物理独立性和逻辑独立性。
(4)数据由DBMS统一管理和控制:
DBMS提供一下控制功能:
数据的安全性保护,数据的完整性检查,并发控制等
2.数据库管理系统的主要功能有哪些?
答:
DBMS提供以下几方面的数据控制功能:
(1)数据的安全性保护:
保护数据,以防止不合法的使用造成的数据泄密和破坏。
(2)数据的完整性检查:
在有效范围内,或保证数据之间满足一定的关系。
(3)并发控制:
对多用户的并发操作加以控制和协调。
(4)数据库恢复:
将数据从错误状态恢复到某一已知正确状态的功能。
3.什么叫数据与程序的物理独立性?
什么叫数据与程序的逻辑独立性?
为什么数据库系统具有数据与程序的独立性?
4.简述数据库系统的三级模式结构。
5.试述数据库系统的组成。
6.简述文件系统与数据库系统的区别和联系。
7.DBA的职责是什么?
答:
(1)决定数据库中的信息内容和结构
(2)决定数据库的存储结构和存取策略
(3)定义数据的安全性要求和完整性约束条件
(4)监控数据库的使用和运行
(5)数据库的改进和重组重构。
8.关系代数的基本运算有哪些?
9.什么是基本表?
什么是视图?
两者的区别和联系是什么?
10.简述视图的优点。
11.所有的视图是否都可以更新?
哪类视图是可以更新的,哪类视图是不可更新的?
12.简述SQL的特点。
答:
(1)综合统一
(2)高度非过程化
(3)面向集合的操作方式
(4)以同一种语法结构提供多种使用方式
(5)语言简洁,易学易用
13.在嵌入式SQL中是如何协调SQL语言的集合处理方式和主语言的单记录处理方式的?
14.关系数据库的完整性规则有哪几类?
答:
1、实体完整性:
若属性a是基本关系r的主属性,在a不能取空值
2、参照完整性:
3、用户定义完整性:
对某一具体关系数据库的约束条件
15.试述查询优化在关系数据库系统中的重要性和可能性。
16.写出Armstrong推理规则中自反律、增广律、传递律的形式化定义。
17.简述日志文件的内容。
答:
日志文件是用来记录事物对数据库的更新操作的文件,分为以记录单位的日志文件和以数据块为单位的日志文件。
18.简述SQL中的自主存取控制机制。
19.简述数据库中事务的概念及其性质。
答:
用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单元。
其特性有四个特性:
原子性、一致性、隔离性和持续性
20.简述事物的原子性。
21.简述并发操作带来的三类数据不一致性。
22.在数据库中为什么要并发控制?
并发控制技术可以保证事务的哪些特征?
23.什么是封锁?
基本的封锁类型有几种?
24.简述两段封锁协议的内容。
25.简述数据库系统中活锁和死锁的含义。
避免活锁的简单方法是什么?
26.什么叫做数据库的恢复?
数据库恢复的基本技术有哪些?
27.简述数据库系统中可能发生的故障类型,以及数据恢复方法。
28.简述“运行记录优先原则”。
29.简述日志文件内容及其作用。
30.简述数据库设计过程。
(1)需求分析
(2)概念结构设计
(3)逻辑结构设计
(4)数据库的物理设计
(5)数据的实施和维护
31.需求分析阶段的设计目标是什么?
调查的内容是什么?
32.数据字典的内容和作用是什么?
33.在全局ER模型设计过程中,需要消除局部ER模型之间存在的哪三种冲突?
34.简述数据库完整性和安全性的概念。
35.数据库安全性控制
答:
(1)用户标识与鉴别
(2)存取控制
(3)自主存取控制方法
(4)授权与回收
(5)数据库角色
(6)强制存取控制方法
36.设有两个关系R(A,B,C)和S(C,D,E),试用SQL查询语句表达下列关系代数表达式πA,E(σB=D(R∞S))。
37.可串行化调度
答;多个事务的并发执行是正确的,当且仅当其结果与按某一次串行地执行这些事务的结果相同。
38.设有关系模式R(A,B,C,D),F是R上成立的FD集,F={D→A,D→B},试写出关系模式R的候选键,并说明理由。
三:
简答题:
1.什么是数据库?
答:
数据库是长期存储在计算机内、有组织的、可共享的数据集合。
数据库是按某种数据模型进行组织的、存放在外存储器上,且可被多个用户同时使用。
因此,数据库具有较小的冗余度,较高的数据独立性和易扩展性。
2.什么是数据库的数据独立性?
答:
数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。
逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。
当数据库的全局逻辑数据结构(概念视图)发生变化(数据定义的修改、数据之间联系的变更或增加新的数据类型等)时,它不影响某些局部的逻辑结构的性质,应用程序不必修改。
物理数据独立性是指数据的存储结构与存取方法(内视图)改变时,对数据库的全局逻辑结构(概念视图)和应用程序不必作修改的一种特性,也就是说,数据库数据的存储结构与存取方法独立。
3.什么是数据库管理系统?
答:
数据库管理系统(DBMS)是操纵和管理数据库的一组软件,它是数据库系统(DBS)的重要组成部分。
不同的数据库系统都配有各自的DBMS,而不同的DBMS各支持一种数据库模型,虽然它们的功能强弱不同,但大多数DBMS的构成相同,功能相似。
一般说来,DBMS具有定义、建立、维护和使用数据库的功能,它通常由三部分构成:
数据描述语言及其翻译程序、数据操纵语言及其处理程序和数据库管理的例行程序。
4.什么是数据字典?
数据字典包含哪些基本内容?
答:
数据字典是数据库系统中各种描述信息和控制信息的集合,它是数据库设计与管理的有力工具,是进行详细数据收集和数据分析所获得的主要成果。
数据字典的基本内容有:
数据项、数据结构、数据流、数据存储和处理过程5个部分。
一、简答题
1、什么是事务,事务有哪些特性?
答:
事务是DBMS的基本工作单位,它是用户定义的一组逻辑一致的程序序列。
它是一个不可分割的工作单位,其中包含的所有操作,要么都执行,要么都不执行。
事务具有4个特性:
原子性(Atomicity)、一致性(consistency)、隔离性(Isolation)和持续性(Durability)。
这4个特性也简称为ACID特性。
原子性:
事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性:
事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
隔离性:
一个事务的执行不能被其他事务干扰。
即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
持续性:
持续性也称永久性(Perfnanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
接下来的其他操作或故障不应该对其执行结果有任何影响。
2、事务中的提交和回滚是什么意思?
答:
事务中的提交(COMMIT)是提交事务的所有操作。
具体说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。
事务中的回滚(ROLLBACK)是数据库滚回到事务开始时的状态。
具体地说就是,在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的更新操作全部撤消,使数据库回滚到事务开始时的状态。
3、为什么要设立日志文件?
答:
设立日志文件的目的,是为了记录对数据库中数据的每一次更新操作。
从而DBMS可以根据日志文件进行事务故障的恢复和系统故障的恢复,并可结合后援副本进行介质故障的恢复。
一、简答题
1、叙述数据库中死锁产生的原因和解决死锁的方法。
答:
死锁产生的原因:
封锁可以引起死锁。
比如事务T1封锁了数据A,事务T2封锁了数据B。
T1又申请封锁数据B,但因B被T2封锁,所以T1只能等待。
T2又申请封锁数据A,但A已被T1封锁,所以也处于等待状态。
这样,T1和T2处于相互等待状态而均不能结束,这就形成了死锁。
解决死锁的常用方法有如下三种:
(1)要求每个事务一次就要将它所需要的数据全部加锁。
(2)预先规定一个封锁顺序,所有的事务都要按这个顺序实行封锁。
(3)允许死锁发生,当死锁发生时,系统就选择一个处理死锁代价小的事务,将其撤消,释放此事务持有的所有的锁,使其他事务能继续运行下去。
2、基本的封锁类型有几种?
试叙述它们的含义。
答:
基本的封锁的类型有排它锁(“X”锁)和共享锁(“S”锁)两种。
若事务T对数据A加上X锁,则只允许事务T读取和修改数据A,其他事务都不能再对A加任何类型的锁,直到T释放A上的锁。
若事务T对数据A加上S锁,则其他事务可以再对A加S锁,而不能加X锁,直到T释放A上的锁。
3、什么是活锁?
如果事务Tl封锁了数据R,事务几又请求封锁R,于是几等待。
几也请求封锁R,当Tl释放了R上的封锁之后系统首先批准了几的请求,几仍然等待。
然后几又请求封锁R,当几释放了R上的封锁之后系统又批准了几的请求……几有可能永远等待,这就是活锁的情形。
活锁的含义是该等待事务等待时间太长,似乎被锁住了,实际上可能被激活。