数据库系统工程师数据库原理各章节简答题总结.docx
《数据库系统工程师数据库原理各章节简答题总结.docx》由会员分享,可在线阅读,更多相关《数据库系统工程师数据库原理各章节简答题总结.docx(18页珍藏版)》请在冰豆网上搜索。
![数据库系统工程师数据库原理各章节简答题总结.docx](https://file1.bdocx.com/fileroot1/2023-1/27/b640bab8-7c0d-495a-a9bd-5ca96698f5f9/b640bab8-7c0d-495a-a9bd-5ca96698f5f91.gif)
数据库系统工程师数据库原理各章节简答题总结
数据库系统工程师:
数据库原理各章节简答题总结
第一章数据库概论
1.人工管理阶段数据管理的特点:
(1)数据不保存在机器中
(2)无专用的软件对数据进行管理
(3)只有程序的概念,没有文件的概念
(4)数据面向程序
2.文件系统阶段数据管理的特点:
(1)数据可长期保存在外存的磁盘上
(2)数据的逻辑结构和物理结构有了区别
(3)文件组织已呈多样化。
有索引、链接和散列文件
(4)数据不再属于某个特定的程序,可重复使用。
3.文件系统显露出三个缺陷:
(1)数据冗余性
(2)数据不一致性
(3)数据联系弱
4.数据库阶段的管理方式具有以下特点:
(1)采用复杂的数据模型表示数据结构
(2)有较高的数据独立性
(3)数据库系统为用户提供方便的用户接口
(4)系统提供四方面的数据控制功能
(5)对数据的操作既可以以记录为单位,又可以以数据项为单位
5.数据描述三个领域之间的关系:
从事物的特性到计算机中的数据表示,经历了三个领域:
现实世界、信息世界、机器世界。
(1)现实世界:
存在于人们头脑之外的客观世界,称为现实世界。
(2)信息世界:
是现实世界在人们头脑中的反映。
(3)机器世界:
信息世界的信息在机器世界中以数据形式存储。
信息世界中数据描述的术语有:
实体、实体集、属性、实体标识符
机器世界中数据描述的术语有:
字段、记录、文件、关键码
它们的对应关系是:
在数据库中每个概念都有类型和值之区分,类型是概念的内涵,值是概念的外延
6.数据描述的两种形式:
数据描述有物理描述和逻辑描述两种形式。
物理数据描述指数据在存储设备上的存储方式,物理数据是实际存放在存储设备上的数据。
逻辑数据描述指程序员或用户用以操作的数据形式,是抽象的概念化数据。
数据管理软件的功能之一,就是要把逻辑数据转换成物理数据,以及把物理数据转换成逻辑数据。
7.物理存储介质层次:
8.数据模型的种类:
目前广泛使用的数据模型可分为两种类型:
概念数据模型、结构数据模型
概念数据模型:
是独立于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构;
它是现实世界的第一层抽象,是用户和数据库设计人员之间进行交流的工具;
这一类中著名的模型是“实体联系模型”,简称“ER”模型。
结构数据模型:
是直接面向数据库的逻辑结构;
它是现实世界的第二层抽象,涉及到计算机系统和数据库管理系统;
这一类中的例子有层次、网状、关系、面向对象等模型。
9.结构数据模型的三个组成部分:
数据结构、数据操作、数据完整性约束是结构数据模型的三个组成部分。
数据结构:
是指对实体类型和实体间联系的表达和实现
数据操作:
是指对数据库的检索和更新(插、删、改)两类操作的实现
数据完整性约束:
给出数据及其联系应具有的制约和依赖规则。
10.层次模型的特点:
用树型结构表示实体类型及实体间联系的数据模型称为层次模型。
层次模型的特点是:
记录之间的联系通过指针实现,查询效率较高。
缺点是:
(1)只能表示1:
N联系
(2)由于树型结构层次顺序的严格复杂,引起数据的查询和更新操作也很复杂,因此编写应用程序也很复杂。
11.网状模型的特点:
用有向图结构表示实体类型及实体间联系的数据模型称为网状模型。
网状模型的特点是:
记录之间联系通过指针实现,M:
N联系也容易实现,查询效率较高。
缺点是:
编写应用程序比较复杂,程序员必须熟悉数据库的逻辑结构。
12.关系模型的特点:
关系模型的主要特征是用二维表格结构表达实体集,用外键表示实体间联系。
特点是:
关系模型与层次、网状的最大差别是用关键码而不是用指针导航数据,表格简单,用户易懂,编程时不涉及存储结构、访问技术等细节。
13.数据库体系结构中的三级结构、两级映象:
数据库的体系结构分为三级:
内部级、概念级、外部级。
外部级:
最接近用户,是单个用户所能看到的数据特性。
单个用户使用的数据视图的描述称为“外模式”。
概念级:
涉及到所有用户的数据定义,是全局的数据视图。
全局数据视图的描述称为“概念模式”。
内部级:
最接于物理存储设备,涉及到实际数据存储的结构。
物理存储数据视图的描述称为“内模式”。
为实现这三个抽象级别的联系和转换,DBMS在级级结构之间提供两个层次的映象:
外模式/模式映象,模式/内模式映象。
14.二级数据独立性:
数据独立性是指:
应用程序和数据之间相互独立,不受影响。
分为物理独立性和逻辑独立性。
(1)物理数据独立性:
如果数据库的内模式要进行修改,即数据库的存储设备和存储方法有所变化,那么模式/内模式映象也要进行相应的修改,使概念模式尽可能保持不变。
也就是对内模式的修改尽量不影响概念模式。
(2)逻辑数据独立性:
如果数据库的概念模式要进行修改,如增加记录类型或增加数据项,那么外模式/模式映象也要进行相应的修改,使外模式尽可能保持不变。
也就是概念模式的修改尽量不影响外模式和应用程序。
15.DBMS的主要功能:
(1)数据库的定义功能:
DBMS提供数据定义语言(DDL)定义数据库的三级结构及其相互之间的映象、完整性、安全控制等约束。
(2)数据库的操纵功能:
DBMS提供数据操纵语言(DML)实现对数据库中数据的操作。
(3)数据库的保护功能:
DBMS对数据库的保护主要通过数据库的恢复、数据库的并发控制、数据库的完整性控制、数据库的安全性控制等四个方面实现。
(4)数据库的存储管理:
DBMS的存储管理子系统提供了数据库中数据和应用程序的一个界面,其职责是把各种DML语句转换成低层的文件系统命令,起到数据的存储、检索和更新的作用。
(5)数据库的维护功能:
DBMS中实现数据库维护功能的实用程序主要有数据装载程序、备份程序、文件重组织程序、性能监控程序。
(6)数据字典(DD):
数据库系统中存放三级结构定义的数据库称为数据字典,对数据库的操作都要通过访问DD才能实现。
16.DBMS的组成:
DBMS是由两大部分组成:
查询处理器和存储管理器。
(1)查询处理器有四个主要成分:
DDL编译器、DML编译器、嵌入型DML的预编译器、查询运行核心程序。
(2)存储管理器有四个主要成分:
授权和完整性管理器、事务管理器、文件管理器、缓冲区管理器。
17.DBS的组成:
DBS是一个实际可运行的,按照数据库方法存储、维护和向应用系统提供数据支持的系统,它是数据库、硬件、软件、数据库管理员(DBA)的集合体。
(1)数据库(DB):
是与一个特定组织各项应用有关的全部数据的集合,由应用数据的集合(物理数据库)、关于各级数据结构的描述(描述数据库)两部分组成。
(2)硬件:
包括中央处理机、内存、输入输出设备、数据通道等硬件设备。
(3)软件:
包括DBMS、OS、各种宿主语言和应用开发支持软件等程序。
(4)DBA:
DBA是控制数据整体结构的人,负责DBS的正常运行。
18.DBS的全局结构:
(1)数据库用户。
可分为四类:
DBA、专业用户、应用程序员、终端用户
(2)DBMS的查询处理器。
包括四部分:
DML编译器、嵌入型DML的预编译器、DLL编译器、查询运行核心程序。
(3)DBMS的存储管理器。
包括四部分:
授权和完整性管理器、事务管理器、文件管理器、缓冲区管理器。
(4)磁盘存储器中的数据结构。
包括四种形式:
数据文件、数据字典、索引文件、统计数据组织。
第二章关系模型
19.超键、主键、候选键的定义:
超键(superkey):
在关系中能唯一标识元组的属性集称为关系模式的超键。
候选键(candidatekey):
不含有多余属性的超键称为候选键。
(候选键可以有多个)
主键(primarykey):
用户选作元组标识的一个候选键称为主键。
(主键是候选键中一个)
20.关系模式、关系子模式和存储模式:
关系模型基本上遵循数据库的三级体系结构。
概念模式是关系模式的集合,外模式是关系子模式的集合,内模式是存储模式的集合。
(1)关系模式:
关系模式实际上是记录类型。
它的定义包括:
模式名,属性名,值域名以及模式的主键。
(2)关系子模式:
是用户所用到的那部分数据的描述。
除了指出用户的数据外,还应指出模式与子模式之间的对应性。
(3)存储模式:
关系存储时的基本组织方式是文件,元组是文件中的记录。
存储一个关系可以用散列方法或索引方法实现。
如果关系中元组数目较少,也可以用堆文件方式实现。
21.关系模型的三类完整性规则:
(1)实体完整性规则:
这条规则要求关系中元组在组成主键的属性上不能有空值。
(2)参照完整性规则:
这条规则要求“不引用不存在的实体”。
(3)用户定义的完整性规则:
它反映某一具体应用涉及的数据必须满足的语义要求。
22.参照完整性规则的形式定义:
如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么在R2的关系中,K的取值只允许两种可能,或者为空,或者等于R1关系中某个主键值。
此规则使用时还要注意三点:
(1)外键和相应的主键可以不同名,只要定义在相同值域上即可。
(2)R1和R2也可以是同一个关系模式,表示了属性之间的联系。
(3)外键值是否允许空,应视具体问题而定。
上述形式定义中,关系模式R1称为“参照关系”模式,R2称为“依赖关系”模式。
23.关系模型的形式定义:
24.关系查询语言根据其理论基础的不同分为哪两类:
关系代数语言:
查询操作是以集合操作为基础运算的DML语言。
(非过程性弱)
关系演算语言:
查询操作是以谓词演算为基础运算的DML语言。
(非过程性强)
25.关系代数中的操作有哪些?
关系代数中的操作可分为两类:
传统的集合操作:
并、差、交、笛卡尔积
扩充的集合操作:
对关系进行垂直分割(投影)、水平分割(选择),关系的结合(联接、自然联接),笛卡尔积的逆运算(除法)等。
其中五个基本操作为:
并、差、笛卡尔积、投影、选择。
四个常用组合操作为:
交、连接、自然连接、除法
两种扩充的关系代数操作为:
外连接和外部并
26.关系演算有哪两种:
关系演算可分为元组关系演算和域关系演算。
前者以元组为变量,后者以属性(域)为变量。
27.什么是约束变量、自由变量:
如果元组变量未使用存在量词或全称量词符号定义,那么称为自由元组变量,否则称为约束元组变量。
约束变量类似于程序设计语言过程内部定义的局部变量,自由变量类似于过程外部定义的外部变量或全局变量。
28.什么是安全运算:
在数据库技术中,不产生无限关系和无穷验证的运算称为安全运算,相应的表达式称为安全表达式,所采取的措施称为安全约束。
在关系演算中约定,运算只对表达式中公式在涉及到的关系的值范围内操作。
这样就不会产生无限关系和无穷验证问题,关系演算是安全的。
29.为什么要对关系代数表达式进行优化:
查询优化是由DBMS对关系代数表达式进行优化组合,以提高DBMS的系统效率。
要对关系代数进行优化的原因是:
由于关系代数表达式是由关系代数操作组合而成。
在关系代数操作中,执行笛卡尔积和联接运算最费时间,并且在执行过程中将产生大量的中间结果,以使系统执行效率较低。
在执行前,由DBMS查询处理子系统先对关系代数表达式进行优化,尽可能早地执行选择和投影操作,以得到较小的中间关系,减少运算量和读外存块的次数,节省系统的执行时间,提高执行效率。
30.简述查询优化的优化策略:
(1)在关系代数表达式中尽可能早地执行选择操作。
(2)把笛卡尔积和随后的选择操作合并成F联接运算。
(3)同时计算一连串的选择和投影操作,以免分开运算造成多次扫描文件,从而能节省操作时间。
(4)如果在一个表达式中多次出现某个子表达式,应该将该子表达式预先计算出结果保存起来。
以免重复计算。
(5)适当的对关系文件进行预处理。
(6)在计算表达式之前应先估计一下怎么计算合算。
31.笛卡尔积、等值连接、自然连接三者之间有什么区别:
等值连接中有笛卡尔积运算;
自然连接是一种等值连接,它是两个关系中所有公共属性进行等值连接的结果。
第三章关系数据库SQL语言
32.SQL数据库的体系结构及术语:
SQL数据库的体系结构也是三级,但术语与传统的关系模型不同。
关系模式称为“基本表”,存储模式称为“存储文件”,子模式称为“视图”,元组称为“行”,属性称为“列”。
33.SQL数据库的体系结构要点是什么:
(1)一个SQL数据库是表(table)的汇集,它用一个或多个SQL模式定义。
一个SQL模式是表和授权的表态定义。
(2)一个SQL表由行集构成,一行是列的序列,每列对应一个数据项。
(3)一个表或者是一个基本表,或者是一个视图。
(视图只保存定义,不保存数据)
(4)一个基本表可跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。
每个存储文件与外部存储器上一个物理文件对应。
(5)用户可用SQL语句对视图和基本表进行查询等操作。
(6)SQL用户可以是应用程序,也可以是终端用户。
34.SQL的组成分成几部分:
SQL主要分成四部分:
(1)数据定义。
(SQLDDL)用于定义SQL模式、基本表、视图和索引的创建和撤消操作。
(2)数据操纵。
(SQLDML)数据操纵分成数据查询和数据更新两类。
数据更新又分成插入、删除、和修改三种操作。
(3)数据控制。
包括对基本表和视图的授权,完整性规则的描述,事务控制等内容。
(4)嵌入式SQL的使用规定。
涉及到SQL语句嵌入在宿主语言程序中使用的规则。
35.SQL模式的撤消有哪两种方式:
CASCADE(连锁式)方式:
执行DROP语句时,把SQL模式及其下属的基本表、视图、索引等所有元素全部撤消。
RESTRICT(约束式)方式:
执行DROP语句时,只有当SQL模式中没有任何下属元素时,才能撤消SQL模式,否则拒绝执行DROP语句。
36.SQL提供的基本数据类型有哪些?
每种举两个例子:
(1)数值型:
INTEGER长整数、SMALLINT短整数
(2)字符串型:
CHAR(N)长度为N的定长字符串、VARCHAR(N)具有最大长度为N的变长字符串。
(3)位串型:
BIT(N)长度为N的二进制位串、BITVARYING(N)最大长度为N的变长二进制位串
(4)时间型:
DATE日期、TIME时间
SQL2允许用户使用“CREATEDOMAIN”语句定义新的域。
37.完整性约束主要有哪三种子句:
完整性约束主要有三种子句:
主键子句(PRIMARYKEY),检查子句(CHECK)和外键子句(FOREIGNKEY)
38.什么是视图,它与表的区别是什么:
在SQL中,外模式一级数据结构的基本单位是视图,视图是从若干基本表和(或)其他视图构造出来的表。
我们创建一个视图时,只是把其视图的定义存放在数据字典中,而不存储视图对应的数据,因此,视图被称为“虚表”,这是它与表的主要区别。
39.对于视图元组的更新操作(INSERT、DELETE、UPDATE)有哪三条规则:
(1)如果一个视图是从多个基本表使用联接操作导出的,那么不允许对这个视图执行更新操作。
(2)如果在导出视图的过程中,使用了分组和聚合操作,也不允许对这个视图执行更新操作。
(3)如果视图是从单个基本表使用选择、投影操作导出的,并且包含了基本表的主键或某个候选键,那么这样的视图称为“行列子集视图”,并且可以被执行更新操作。
SQL2中,允许更新的视图在定义时,必须加上“WITHCHECKOPTION”短语。
40.SQL语言有哪两种使用方式:
一种是在终端交互方式下使用,称为交互式SQL;
另一种是嵌入在高级语言的程序中使用,称为嵌入式SQL,而这些高级语言可以是C、PASCAL、COBOL等,称为宿主语言。
41.嵌入式SQL的实现有哪两种处理方式:
一种是扩充宿主语言的编译程序,使之能处理SQL语句;
另一种是采用预处理方式。
目前多数系统采用后一种。
42.在宿主语言的程序中使用SQL语句有哪些规定:
(1)在程序中要区分SQL语言与宿主语句。
所有SQL语句前必须加上前缀标识“EXECSQL”,并以“END_EXEC”作为语句的结束标志。
(结束标志在不同的宿主语言中不同)
(2)允许嵌入的SQL语句引用宿主语言的程序变量(共享变量),但有两条规定:
1)引用时,这些变量前必须加冒号“:
”作为前缀,以示与数据库中变量有区别。
2)这些变量由宿主语言的程序定义,并用SQL的DECLARE语句说明。
43.用游标机制协调SQL的集合处理方式所用的SQL语句有哪些:
与游标有关的SQL语句有下列四个:
(1)游标定义语句(DECLARE)
(2)游标打开语句(OPEN)
(3)游标推进语句(FETCH)
(4)游标关闭语句(CLOSE)
44.SQLDML的嵌入使用技术:
(1)若是INSERT、DELETE、UPDATE语句,则不必涉及游标,只要加上前缀标识和结束标志就能嵌入宿主语言程序中使用。
(2)若是已知查询结果肯定是单元组的SELECT语句,则不必涉及游标,也可加上前缀标识和结束标志后嵌入宿主语言程序中使用,但此时应该在SELECT语句中增加一个INTO子句,指出找到的值应送到相应的共享变量中去。
(3)若是已知查询结果为多个元组的SELECT语句,则必须涉及到游标,用游标机制把多个元组一次一个地传送给宿主程序处理。
第四章关系数据库的模式设计
45.什么是关系数据库:
关系数据库是以关系模型为基础的数据库,它利用关系来描述现实世界。
一个关系既可以用来描述一个实体及其属性,也可以用来描述实体间的联系。
关系实质上是一张二维表。
46.一个关系模型有哪两个方面内容:
一个关系模型包括外延和内涵两个方面的内容。
外延就是通常所说的关系,或实例,或当前值。
它与时间有关,随着时间的推移在不断变化。
(由于元组的插入、删除、修改引起的)
内涵是与时间独立的,包括关系、属性、及域的一些定义和说明,还有各种数据完整性约束。
47.数据完整性约束分为哪两类:
数据完整性约束分为静态约束和动态约束。
静态约束:
包括各种数据之间的联系(数据依赖),主键的设计和关系值的各种限制等等。
这一类约束是如何定义关系的有效数据问题。
动态约束:
主要定义如插入、删除、和修改等各种操作的影响。
48.关系数据库设计理论主要包括哪些内容:
关系数据库设计理论主要包括三个方面的内容:
数据依赖、范式、模式设计方法。
其中数据依赖起着核心的作用。
49.数据库使用过程中存在的问题是什么:
数据冗余、更新异常、插入异常、删除异常。
50.函数依赖(FD)的定义:
设有关系模式R(A1,A2,……,An)(即R(U)),X,Y是U的子集,r是R的任一具体关系,如果对r的任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y],则称X函数决定Y,或Y函数依赖于X,记为X→Y,X→Y为模式R的一个函数依赖。
或者说,对于X的每一个具体值,都有Y惟一的具体值与之对应,即Y值由X值决定,因而
这种数据依赖称为函数依赖。
51.函数依赖的逻辑蕴涵、FD的闭包F+:
设F是关系模式R的一个函数依赖集,X,Y是R的属性子集,如果从F中的函数依赖能够推出X—>Y,则称F逻辑蕴涵X—>Y,记为FX→Y。
被F逻辑蕴涵的函数依赖的全体构成的集合,称为F的闭包,记为F+。
F+={X→Y|FX→Y}
52.候选键、主属性、非主属性:
设有关系模式R(A1,A2,……,An),F是R的一个函数依赖集,X是{A1,A2,……,An}的一个子集。
如果
①X→A1A2……An∈F+,且
②不存在X真子集Y,使得Y→A1A2……An成立,则称X是R的候选键。
包含在任何一个候选键中的属性称为主属性,不包含在任何一个候选键中的属性称为非主属性。
53.函数依赖的推理规则:
设有关系模式R(A1,A2,……,An)和属性集U=A1,A2,……,An,X,Y,Z,W是U的一个子集,F是R的一个函数依赖集,推理规则如下:
(1) 自反律:
如果YXU,则X→Y在R上成立。
(2) 增广律:
如果X→Y为F所蕴涵,ZU,则XZ→YZ在R上成立。
(3) 传递律:
如果X→Y和Y→Z在R上成立,则X→Z在R上成立。
FD的其他三个推理规则:
(4)合并律:
如果X→Y成立,那么X→YZ成立。
(5)伪传递律:
如果X→Y和WY→Z成立,那么WX→Z成立。
(6)分解律:
如果X→Y和ZY成立,那么X→Z成立。
54.什么是平凡的FD?
平凡的FD可根据哪一条推理规则推出?
如果X→Y,并且YX,则称X→Y是平凡的FD。
根据推理规则的自反律可推出。
55.关系模式的分解有几个不同的衡量标准:
分解具有无损联接;
分解要保持函数依赖;
分解既要保持依赖,又要具有无损联接。
56.什么是无损连接:
设有关系模式R,分解成关系模式ρ={R1,R2,……Rk},F是R的一个函数依赖集。
如果对R中满足F的每一个关系r都有:
r=πR1(r)|×|πR2(r)|×|……πRK(r),则称这个分解ρ是无损联结分解。
57.试叙保持函数依赖的定义:
设F是属性集U上的一个函数依赖集,Z是U上的一个子集,F在Z上的一个投影定义为:
πZ(F)={X→Y|X→Y∈F+且XYZ}
设关系模式R的一个分解为ρ={R1,R2,……Rk},F是R的一个函数依赖集,如果
则称为分解ρ保持函数依赖。
58.第一范式(1NF):
如果关系模式R的所有属性的值域中每一个值都是不可再分解的值,则称R是属于第一范式模式。
59.第二范式(2NF):
如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的候选键,则称R是第二范式模式。
60.第三范式(3NF):
如果关系模式R是第一范式,且每个非主属性都不传递依赖于R的候选键,则称R是第三范式的模式。
61.BCNF:
如果关系模式R是第一范式,且每个属性都不传递依赖于R的候选键,那么称R是BCNF的模式。
从BCNF的定义可明显地得出如下结论:
(1)所有非主属性对键是完全函数依赖。
(2)所有主属性对不包含它的键是完全函数依赖。
(3)没有属性完全函数依赖于非键的任何属性组。
如果模式R是BCNF,则它必定是第三范式,反之,则不一定。
62.模式设计方法的原则:
关系模式R相对于函数依赖集F分解成数据库模式ρ={R1,R2,……Rk},一般应具有下面三个特性:
(1)ρ中每个关系模式Ri是3NF或BCNF
(2)保持无损联结
(3)保持函数依赖集
(4)ρ中模式个数最少和属性总数最少。
63.一个好的模式设计方法应符合哪三条原则:
表达性,分离性,最小冗余性。
表达性涉及到两个数据库模式的等价性问题,即数据等价和依赖等价,分别用无损联接和保持函数依赖性来衡量。
分离性是指属性间的“独立联系”应该用不同的关系模式表达。
最小冗余性要求在分解后的数据库能表达原来数据库的所有信息这个前提下实现。
关系模式设计方法基本上可以分为分解与合成两大类。
64.多值依赖MVD:
设R(U)是属性集U上的一个关系模式,X,Y是U的子集,若对R(U)的任一关系r,对于X的一个给定的值存在着Y的一组值与其对应,同时Y的这组值又不以任何方式与U-X-Y中的属性