导航菜单
首页 >  成人自学考试题库有哪些类型的  > 数据库简答题常考知识点/考点整理汇总

数据库简答题常考知识点/考点整理汇总

前言

按章节记录了一些知识点(考点),形式以考试的简答题为主。其中对章节名称的划分是根据机械工业出版社的《数据库系统概念》第六版而来,部分答案也参考自此书。 tips:有些不考或不常考章节没有列出

数据库常考知识点汇总前言第一章、引言1、DBMS2、什么是数据独立性?数据库系统如何实现数据独立性?3、简述数据库管理员的职责;第三章、SQL4、空值第四章、中级SQL5、完整性约束6、视图7、举例说明参照完整性对数据有什么要求。第五章、高级SQL8、动态SQL与嵌入式SQL:9、在嵌入式SQL中,什么情况下的DML语句不必涉及到游标操作?第七章、数据库设计与ER模型10、实体11、弱实体集12、试述 ER 模型、层次模型、网状模型、关系模型的主要特点。13、与传统的关系模型相比,对象关系模型有哪些扩充?第八章、关系数据库设计14、数据库范式15、多值依赖与函数依赖区别16、什么是函数依赖?17、什么是多值依赖?18、什么是无关属性?19、可以接受的分解必须是无损分解吗?20、模式规范化的基本思路是什么?21、大模式的缺点有哪些?第十章、存储与文件结构22、RAID技术23、为什么稳定性存储器是不可能实现的?在DBS 中采用什么方法追求这个目标?第十一章、索引与散列24、索引第十四章、事务25、事务的定义及其特性26、画出事务状态图27、试叙述“串行调度”与“可串行化调度”的区别。第十五章、并发控制28、两阶段封锁协议29、 死锁的发生是坏事还是好事?试说明理由。如何解除死锁状态?30、什么是“饿死”问题?如何解决?第十六章、恢复系统30、DBS 中有哪些类型的故障?哪些故障破坏了数据库?哪些故障未破坏数?总结

第一章、引言 1、DBMS

数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。大部分DBMS提供数据定义语言DDL(Data Definition Language)和数据操作语言DML(Data Manipulation Language),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。

2、什么是数据独立性?数据库系统如何实现数据独立性?

数据独立性是指应用程序和数据之间相互独立、互不影响,及数据结构的修改不会引起应用程序的修改。数据独立性包括物理独立性和逻辑独立性。

物理独立性是指数据库物理结构的变化时不必修改应用程序。逻辑独立性是指数据库逻辑结构变化时不必修改应用程序。数据独立性是由DBMS的三级模式和二级映像来实现的。数据库系统通常采用外模式、模式和内模式三级结构,数据库管理系统在这三级模式之间提供了外模式/模式和模式/内模式两层映像。当整个系统要求改变模式时,由DBMS对各个外模式/模式映像作相应的修改,使外模式保持不变,从而使基于外模式的应用程序保持不变,从而保证了数据的逻辑独立性。当数据的存储结构改变时,由DBMS对模式/内模式映像进行修改,可以使模式保持不变,从而使应用程序也不必改变,保证了数据的物理独立性。 3、简述数据库管理员的职责; 模式定义:DBA通过用DDL书写的一系列定义来创造最初的数据库模式。存储结构及存取方式定义。模式及物理组织的修改:由DBA对模式及物理组织进行修改,以反映组织的需求变化,或者为提高性能选择不同的物理组织;数据访问授权:通过授予不同的权限,DBA可以规定不同的用户各自可以访问的数据库的部分;日常维护:定期备份数据库、确保正常运转时所需的空余磁盘空间、监视数据库的运行。 第三章、SQL 4、空值

空值就是表示“无意义”,当实体在某个属性上没有值时设为null;或者表示“值未知”,即值存在,但目前没有获得该信息。

第四章、中级SQL 5、完整性约束

数据库完整性(Database Integrity)是指数据库中数据的正确性、有效性和相容性。数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。

实体完整性:要求每个关系模式有且仅有一个主码,每个主码的值必须唯一且非空。域完整性:数据库表中的列必须满足某种特定的数据类型或约束。其中约束又包括取值范围、精度等规定。表中的CHECK、FOREIGN KEY 约束和DEFAULT、 NOT NULL定义都属于域完整性的范畴。参照完整性:(可以自己说明外码的要求)参照的完整性要求关系中不允许引用不存在的实体。当更新、删除、插入一个表中的数据时,通过参照引用相互关联的另一个表中的数据,来检查对表的数据操作是否正确。 6、视图

视图的定义: 计算机数据库中的视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。而是在引用视图时动态生成。

视图的作用:

简单性。看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件。安全性。通过视图用户只能查询和修改他们所能见到的数据。但不能授权到数据库特定行和特定的列上。通过视图,用户可以被限制在数据的不同子集上。

比较:视图(view) vs 表(table) ?

视图和表都是关系,都可在sql 中直接应用DB 中存储表的模式定义和数据DB 中只存储视图的定义,不存视图的数据视图数据在使用视图时临时计算物化视图是提高计算的一种手段,结果等价于临时计算 7、举例说明参照完整性对数据有什么要求。

如果关系 R2 的外部码Fk 与关系R1 的主码Pk 相对应,则R2 中的每一个元组的Fk 值或者等于R1 中某个元组的Pk 值,或者为空值。

第五章、高级SQL 8、动态SQL与嵌入式SQL: 动态sql:通用程序设计语言可以通过函数或者方法来连接数据库服务器并与之交互。利用动态sql可以在运行时以字符串形式构建sql查询,提交查询,然后把结果存入程序变量中,每次一个元组。动态sql的sql组件允许程序在运行时构建和提交sql查询。嵌入式sql:提供了另外一种使程序与数据库服务器交互的手段。嵌入式SQL必须在编译时全部确定,并交给预处理器。预处理程序提交sql语句到数据库系统进行变异和优化,然后将sql语句替换成相应代码和函数,最后调用程序语言的编译器进行编译 9、在嵌入式SQL中,什么情况下的DML语句不必涉及到游标操作?

INSERT、DELETE和UPDATE语句;对于SELECT语句,如果已知查询结果肯定是单值时。

第七章、数据库设计与ER模型 10、实体

现实世界中客观存在并可以被区别的事物。比如“一个学生”、“一本书”、“一门课”等等。值得强调的是这里所说的“事物”不仅仅是看得见摸得着的“东西”,它也可以是虚拟的,不如说“老师与学校的关系”。

属性: “实体所具有的某一特性”,由此可见,属性一开始是个逻辑概念,比如说,“性别”是“人”的一个属性。在关系数据库中,属性又是个物理概念,属性可以看作是“表的一列”。元组:表中的一行就是一个元组。分量:元组的某个属性值。在一个关系数据库中,它是一个操作原子,即关系数据库在做任何操作的时候,属性是“不可分的”。否则就不是关系数据库了。码:表中可以唯一确定一个元组的某个属性(或者属性组),如果这样的码有不止一个,那么大家都叫候选码,我们从候选码中挑一个出来做老大,它就叫主码。全码:如果一个码包含了所有的属性,这个码就是全码。主属性:一个属性只要在任何一个候选码中出现过,这个属性就是主属性。非主属性:与上面相反,没有在任何候选码中出现过,这个属性就是非主属性。外码:一个属性(或属性组),它不是码,但是它别的表的码,它就是外码。 11、弱实体集

弱实体集:如果一个实体集的所有属性都不足以形成主码,则称这样的实体集为弱实体集。每个弱实体集必须与另一个称作标识或主实体集的实体集关联才能有意义。

12、试述 ER 模型、层次模型、网状模型、关系模型的主要特点。 ER 模型直接表示实体类型及实体间联系,与计算机系统无关,充分反映用户的需求,用户容易理解。层次模型的数据结构为树结构,记录之间联系通过指针实现,查询较快,但DML 属于过程化的,操作复杂。网状模型的数据结构为有向图,记录之间联系通过指针实现,查询较快,并且容易实现关系模型的数据结构简单,是一些表格的框架,实体通过关系的属性(即表格的栏目)表示,实体之间的联系通过这些表格中的公共属性(可以不同属性名,但必须同域)表示。查询与处理方便。 数据独立性很高。 13、与传统的关系模型相比,对象关系模型有哪些扩充? 在定义语言上有三个扩充:数据类型的扩充(引入复合类型);在类型一级和表一级实现继承性;使用“引用类型”。在查询语言方面,用户需记住属性值是单值还是多值。在多值时,需定义新的元组变量。 第八章、关系数据库设计 14、数据库范式

1NF:关系R中的属性都是不可分割的项. 2NF:在1N的基础上,每个非主属性完全函数依赖于码. 3NF:满足以下三条件之一 (1)a->b是一个平凡的函数依赖 (2)a是R的一个超码 (3)b-a中每个属性都包含于R的一个候选码 BCNF:满足以下两条件之一 (1)a->b是一个平凡的函数依赖 (2)a是R的一个超码

1N | 消除非主属性对码的部分函数依赖 2N | 消除非主属性对码的传递函数依赖 3N | 消除主属性对码的部分和传递函数依赖 BCNF | 消除非平凡且非函数依赖的多值依赖 4N

15、多值依赖与函数依赖区别

函数依赖规定某些元组不能出现在关系中,也称为相等产生依赖;X→Y 的有效性仅决定于X、Y 属性集上的值; 多值依赖要求某种形式的其它元组必须在关系中,称为元组产生依赖。X→→Y 的有效性与属性集范围有关

16、什么是函数依赖?

设R(U)是属性集U上的关系模式,X , Y ⊆ U, r是R(U) 上的任意一个关系,如果成立 对∀t , s ∈ r,若t[X] = s[X],则t[Y] = s[Y] 那么称“X函数决定Y”,或“Y函数依赖于X”,记作X→Y

17、什么是多值依赖?

关系模式R(U),X、Y、Z是关系模式上的属性集,Z=U–X– Y,对于R(U)的任一关系r,若存在元组t1,t2,使得t1[X] = t2[X],那么就必然存在元组t3,t4,使得:t3[X] = t4[X] = t1[X] = t2[X],t3[Y] = t1[Y], t4[Y] = t2[Y],t3[Z] = t2[Z], t4[Z] = t1[Z],则称Y多值依赖于X,记作X→→Y

18、什么是无关属性?

对于函数依赖集F及F中函数依赖α→β, 属性A在α中是无关的,如果A∈α,并且F 逻辑蕴涵 F - {α→β}∪{(α- A) →β}; 属性A在β中是无关的,如果A∈β,并且 F - {α→β}∪{α→(β - A)} 逻辑蕴涵 F。

19、可以接受的分解必须是无损分解吗?

无损分解定义:两个关系模式r1(R1) r2(R2) 替代r®时没有信息损失,则我们称该分解为无损分解

泛关系存在问题,因此进行模式分解;如果分解有损,即分解后的模式不能有效表示泛关系原来含有的全部信息,那么分解没有价值,有损分解是不可实际接受的(围绕有损分解无价值来阐述) 20、模式规范化的基本思路是什么? 从泛关系出发通过模式分解得到好的(规范的)模式模式分解:R → {R1,R2,…}

评价模式分解的两个重要指标是

无损连接分解/有损连接分解;是否保持依赖 21、大模式的缺点有哪些? 数据冗余大容易出现数据不一致不能表示某些信息:(没有学生的院系)插入异常删除异常

之所以出现上述问题,要思考问题的本质,是因为 (1)两件事不应使用一个表来表示 (2)应该将这个模式分解为两个模式 (3)按照一定的策略,无序分解不可接受 该大则大,该小则小,设计的结果应尽可能真实的反映现实。

第十章、存储与文件结构 22、RAID技术

RAID是一种把多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组,从而提供比单个硬盘更高的存储性能和提供数据备份技术。组成磁盘阵列的不同方式成为RAID级别。 通过引入冗余来提高可靠性,存储正常情况下不需要的额外信息,以便在数据故障时修复数据。通过并行来提高性能,将数据按位级拆分或块级拆分拆分到多张磁盘,从而达到并行读取数据,提高传输速率。

23、为什么稳定性存储器是不可能实现的?在DBS 中采用什么方法追求这个目标?

由于存储器受制于本身的故障,会导致信息的丢失,因此稳定性存储器是不可能实现的。但可以通过对非易失性存储器进行技术处理来达到稳定性存储器的目标。主要是通过数据备份和数据银行形式实现。

第十一章、索引与散列 24、索引

索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 索引提供指向存储在表的指定列中的数据值的指针,然后根据指定的排序顺序对这些指针排序。

索引优点: 第一, 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二, 可以大大加快数据的检索速度,这也是创建索引的最主要的原因。 第三, 可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 第四, 在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。 第五, 通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。

索引类型: 一、顺序与散列: 顺序索引:基于值的顺序排序 散列索引:基于将值平均分布到若干散列桶中。一个值所属的散列桶是由一个散列函数决定的。 二、聚集索引与非聚集索引: 聚集索引:数据表的物理顺序与索引的制定顺序相同的索引。 非聚集索引:数据表的物理顺序与索引指定的顺序不同的索引。 三、稠密索引与稀疏索引:(顾名思义) 稠密索引:每个搜索码的值都有一个索引项 稀疏索引:只为搜索码的某些值建立索引项,只有当关系按搜索码排列顺序存储时才能使用稀疏索引,也就是只有当索引是聚集索引时才能使用稀疏索引

第十四章、事务 25、事务的定义及其特性

事务是由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,是一个不可分割的工作单位。 事务的ACID特性:

原子性(Atomicity) 事务中包含的所有操作要么全做,要么全不做一致性(Consistency) 事务的隔离执行必须保证数据库的一致性隔离性(Isolation) 系统必须保证事务不受其它并发执行事务的影响持久性(Durability) 一个事务一旦提交之后,它对数据库的影响必须是永久的。 26、画出事务状态图

在这里插入图片描述

27、试叙述“串行调度”与“可串行化调度”的区别。 如果多个事务依次执行,则称事务串行调度。如果利用分时的方法,同时处理多个事务,则称为事务的并发调度。如果一个并发调度的结果与某一串行调度执行结果等价,则称这个并发调度是可串行化调度。 第十五章、并发控制 28、两阶段封锁协议

三要点都要答到

可以保证可串行性。在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁。两段锁协议要求每个事物分成两个阶段提出加锁和解锁申请:增长阶段:事物可以获得封锁,不能释放锁;缩减阶段:事物可以释放锁,但不能获得新锁。 29、 死锁的发生是坏事还是好事?试说明理由。如何解除死锁状态?

在DBS 运行时,死锁状态是我们不希望发生的,因此死锁的发生本身是一件坏事。但是坏事可以转换为好事。如果我们不让死锁发生,让事务任意并发做下去,那么有可能破坏DB 中数据,或用户读了错误的数据。从这个意义上讲,死锁的发生是一件好事,能防止错误的发生。 在发生死锁后,系统的死锁处理机制和恢复程序就能起作用,抽取某个事务作为牺牲品,把它撤消,做ROLLBACK 操作,使系统有可能摆脱死锁状态,继续运行下去。

30、什么是“饿死”问题?如何解决?

有可能存在一个事务序列,其中每个事务都申请对某数据项加S 锁,且每个事务在授权加锁后一小段时内释放封锁,此时若另有一个事务T1 欲在该数据项上加X 锁, 则将永远轮不上封锁的机会。这种现象称为“ 饿死”(starvation)。 可以用下列方式授权加锁来避免事务饿死。 当事务T2 中请对数据项Q 加S 锁时,授权加锁的条件是: (1)不存在在数据项Q 上持有X 锁的其他事务; (2)不存在等待对数据项Q加锁且先于T2 申请加锁的事务。

第十六章、恢复系统 30、DBS 中有哪些类型的故障?哪些故障破坏了数据库?哪些故障未破坏数?

据库,但使其中某些数据变得不正确? DBS 中DB 的故障主要有三类:事务故障、系统故障和介质故障。前两类故障未破坏DB,但使其中某些数据变得不正确,此时只要利用日志撤消或重做事务。介质故障将破坏DB,此时只能把DB 备份拷贝到新的磁盘,再利用日志重做事务对DB 的修改。

总结

多理解,对可练习的知识点进行做题巩固,对纯概念可以先死记硬背下来

相关推荐: