前言:
本人为20考研党,所考专业为计算机科学与技术,考虑到线上复试笔试会更加侧重概念的考察,在复试准备期间找了大量笔试题,面试题,整理了很多资料。
本文作为本人的考研复试收尾笔记,主要概括了数据库在复试中笔试或者面试可能会考察的概念题,仅供大家参考,如果对大家有帮助,希望大家点赞哦~(^▽ ^)
本文仅针对考研复试,祝大家复试顺利,若本文有任何不对欢迎大家留言指正!ヽ( ̄▽ ̄)و
- 参考书籍
- 王珊《数据库系统概论》第五版
目录
- 数据库管理系统的主要功能是什么?
- 数据库系统的特点是什么?
- DBA的职责是什么?
- 和文件系统相比,数据库文件有什么优点?
- 三级模式结构是什么?二级映射有什么优点?
- 关系模型中的完整性约束是哪几类?定义?
- SQL的特点?
- 什么是数据库操纵语言、什么是数据库控制语言,试举例说明
- *等值连接和自然连接的区别是什么?
- *外连接是什么?
- 索引的作用?和它的优点缺点是什么?
- 索引和键有什么区别?
- 数据库中常用的索引有哪些?
- 视图是什么?有何作用?
- 数据库的安全性是指什么?有哪些安全性技术?
- 存取控制是指什么?主要包括哪两部分?有哪两类方法?
- 视图机制是如何对数据库实现安全性控制的?
- 审计功能是如何对数据库实现安全性控制的?
- 数据库的完整性是指什么?
- 什么是断言?
- 什么是触发器?触发器的作用?
- 规范化过程中,逐级依次消除了何种函数依赖?
- 数据库设计的基本步骤是什么?
- 概念模型有什么作用?
- 合并E-R图时主要包括哪几种冲突?
- 一个实体型转换为一个关系模式有哪几种情况?
- 描述数据库对嵌入式SQL的处理过程
- 什么是存储过程?用什么来调用?
- 游标是什么?
- 关系数据库中查询处理的步骤是什么?每一步进行简要概括
- 三条启发式优化规则包括哪几点?
- 事物是什么?ACID特性包括?
- 为什么事务非正常结束时会影响数据库数据的正确性?
- 数据库恢复的关键是什么?
- 数据库恢复的基本技术有哪些?
- 登记日志文件时为什么必须先写日志文件,后写数据库?
- 用于数据库恢复的文件是什么?
- *数据库故障的种类有哪几种?相应的恢复策略是什么?
- 在数据库中为什么要并发控制?
- *并发造成的数据不一致性包括什么?
- *什么是锁?有哪两种锁?
- *简要概括一、二、三级封锁协议
- 数据库保护(访问)的内容有哪些?
数据库管理系统的主要功能是什么?
答:
数据定义、数据操纵、数据库的运行管理、数据库建立和维护
数据库系统的特点是什么?
答:
数据结构化;
数据共享性高、冗余度低且扩充;
数据独立性高;
数据由DBMS统一管理。
DBA的职责是什么?
答:
DBA负责全面管理和控制数据库系统的职责,具体有:
(1)决定数据库中要存放哪些信息;
(2)决定数据库的存储结构和存取策略;
(3)定义数据的安全性要求和完整性约束条件;
(4)监控数据库的使用和运行:转储数据、维护日志文件、故障恢复
(5)数据库的改进和重组重构:对运行情况进行记录、统计分析,以此来不断改进数据库设计。
和文件系统相比,数据库文件有什么优点?
答:
文件系统 | 数据库管理系统 |
---|---|
文件系统管理 | DBMS管理 |
面向某一应用 | 面向现实世界 |
共享性差,冗余度大 | 共享性高,冗余度小 |
独立性差 | 具有较高的物理独立性和逻辑独立性 |
记录内有结构,整体无结构 | 整体结构化,用数据模型描述 |
应用程序自己控制 | 由数据库管理系统提供数据安全性,完整性,并发控制和恢复能力 |
三级模式结构是什么?二级映射有什么优点?
答:
三级模式包括外模式、模式、内模式;
模式描述了数据库中全体数据的逻辑结构和特征;
外模式描述了用户可见的局部数据的逻辑结构和特征;
内模式描述了数据库的物理结构和存储方式。
外模式/模式映像的优点:当模式改变时,由DBA对外模式/模式映像做相应的改变,外模式可以保持不变。应用程序是根据外模式而编写的,因而应用程序不必修改,保证了数据与逻辑的而独立性,即数据的逻辑独立性;
内模式/模式映像的优点:当数据库的存储结构改变时,由DBA对模式/内模式映射作相应的改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,即数据的物理独立性。
关系模型中的完整性约束是哪几类?定义?
答:
实体完整性:关系模式中的主码不能为空值;
参照完整是:关系模式中的外码只能是空值或者另一关系模式的主码;
用户定义完整性:关系模式中针对某一属性的约束。
SQL的特点?
答:
综合统一。集DCL,DML,DDL功能于一体;
高度非过程化。使用SQL进行数据操作时,是需要提出“做什么”,而不需要指明怎么做;
面向集合的操作方式。操作的对象、查找结果都可以是元组的集合;
同一种语法结构提供多种使用方式。既可以作为独立的语言进行交互,又可以作为嵌入式语言嵌入到更高级的语言程序中进行操作;
语言简洁,易学易用。
什么是数据库操纵语言、什么是数据库控制语言,试举例说明
答:
数据操纵语言是指通过对表中的数据进行插入、删除和修改等操作,实现对数据库的基本操作。如:SELECT命令的作用是检查表的内容,UPDATE命令的作用是修改表等等。
数据控制语言是用来设置或者更改数据库用户或角色权限的语句,这些语句包括GRANT、REVOKE等语句。
*等值连接和自然连接的区别是什么?
答:
自然连接是等值连接的一种特殊情况;
等值连接要求连接的是值相等的分量,两个关系中可以没有相同的属性;进行自然连接的两个关系中必须有相同的属性。
等值连接不要求去掉重复属性列;自然连接时需要除掉重复的属性列。
*外连接是什么?
答:
外连接是指两个表在进行操作时,不仅返回符合连接和查询条件的元组,还返回不符合条件的一些元组;
左外连接是指返回左表中仅符合连接条件不符合查询条件的元组;
右外连接是指返回右表中仅符合连接条件不符合查询条件的元组;
全外连接是左外连接和右外连接去掉重复项的元组集并集。
索引的作用?和它的优点缺点是什么?
答:
当表的数据量比较大时,查询操作比较耗时,建立索引可以加快查询速度。
优点:加速查询速度;缺点:索引需要占一定的存储空间,且基本表更新时需要维护索引表。
索引和键有什么区别?
答:
索引是存储在数据库中的一个物理结构,是实际存在的,相当于一本书的目录;
键是一个逻辑概念,不是数据库中的物理部分。键分为主键和外键,主键相当于一本书中每个页的页码。
(扩展:聚簇索引:与基表的物理顺序相同,数据值的顺序总是按照顺序排列。)
数据库中常用的索引有哪些?
答:
B+树索引:B+树是对B树优化处理了的多路搜索树,与B树的区别在于,B树的每个结点都可以存储数据,而B+树只有叶子结点可以存储数据,且每个叶子结点都用链表链接。
在数据库的查询中一般都是批量查询数据,采用B+树一次查询多条时,确定首尾位置,便可以方便的确定多条数据位置,提高查询效率。
Hash索引:通过一定的算法计算出哈希值,然后映射出对应的数据存储位置。检索速度快,但是哈希值可能存在碰撞。
视图是什么?有何作用?
答:
视图是从一个或几个基本表中导出的表,是一个虚表。数据库中只存放视图的定义,而不存放视图对应的数据。基本表中的数据发生变化时,从视图中查询出来的数据也就随之发生变化。
作用:
能够简化用户的操作;
使用户能以多种角度看待同一数据;
在一定程度上提供了数据的逻辑独立性;
能够对秘密数据提供安全保护;
利用可以更清晰的表达查询。
数据库的安全性是指什么?有哪些安全性技术?
答:
数据库的安全性是指保护数据库以恶意破坏和非法存取。
安全性技术:用户标识和鉴别、多层存取控制、审计、视图、数据加密。
存取控制是指什么?主要包括哪两部分?有哪两类方法?
答:
存取控制是指确保只授权给有资格的用户访问数据库的权限,且令所有未被授权的人员无法接近数据。
两个部分:定义用户权限和合法权限检查;
两种方法:
自主存取控制(DAC):用户对不同的数据库对象有不同的存取权限,不同的用户对同一对象也有不同的权限
强制存取控制(MAC):每一个数据库对象被标以一定的密级,每一个用户也被授予一定级别的许可证,只有具有合法许可证的用户才可以进行存取。
视图机制是如何对数据库实现安全性控制的?
答:
可以对不同的用户定义不同的视图,也就是说,通过视图机制把要保密的数据对无权存取的用户隐藏起来。
审计功能是如何对数据库实现安全性控制的?
答:审计功能是把用户对数据库的一系列操作自动记录到审计日志中,审计员可以利用审计日志监控数据库中的各种行为,找出导致数据库发生异常的事件。
数据库的完整性是指什么?
答:数据库的完整性是指防止数据库中存在不正确的数据。
什么是断言?
答:
断言是指更具有一般性的约束,断言创建后,任何涉及到断言中的关系的操作都会引发数据库对断言的检查,任何使断言为假的操作都会被拒绝执行。
什么是触发器?触发器的作用?
答:
触发器是用户定义在关系表上的一类由数据驱动的一类由事物驱动的特殊过程,类似于约束,但是比约束更灵活,是保证数据库完整性的一种方法。任何用户对表进行增删改操作都会有数据库服务器自动激活相应的触发器,对数据库进行相应的检查和操作。
规范化过程中,逐级依次消除了何种函数依赖?
答:
由INF到2NF,消除了非主属性对主属性的部分函数依赖;
由2NF到3NF,消除了非主属性对主属性的传递函数依赖;
由3NF到BCNF,消除了主属性对码的部分函数依赖和传递函数依赖。
数据库设计的基本步骤是什么?
答:
需求分析。了解和分析用户需求;
概念结构设计。对用户需求进行抽象和归纳,形成一个独立于DBMS的概念模型(E-R图);
逻辑结构设计。将概念结构转换为数据模型,通常为关系模型;
物理结构设计。为逻辑数据模型选取一个最适合存储结构和存取方法;
数据库实施阶段。编写数据库,编写和调试应用程序;
数据库运行和维护。正式投入运行。
概念模型有什么作用?
答:
概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。
合并E-R图时主要包括哪几种冲突?
答:
属性冲突。不同的实体对同一属性的定义不同;
命名冲突。同名异义、异名同义;
结构冲突。同一实体在不同的局部E-R图中有不同的抽象。
一个实体型转换为一个关系模式有哪几种情况?
答:
一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并;
一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并;
一个m:n联系可以转换为一个关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性。
描述数据库对嵌入式SQL的处理过程
答:DBMS的预处理程序对源程序进行扫描,识别出嵌入式SQL语句,把他们转换成主语言调用语句,使得主语言编译程序可以识别它们,然后将它们编译成目标代码。
什么是存储过程?用什么来调用?
答:存储过程是个预编译的SQL语句集合,优点是可以建立非常复杂的查询,只需创建一次,在程序中即可多次调用,且比执行单纯的SQL语句要快。可以创建一个命令对象进行调用。
游标是什么?
答:系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。
关系数据库中查询处理的步骤是什么?每一步进行简要概括
答:
查询分析:对查询语句进行词法分析、语法分析(检查其是否正确);
查询检查:对合法的查询语句进行语义检查(语义检查就是检查其是否存有效)
查询优化:选择一个高效执行的查询处理策略;
查询执行:依据优化得到的执行策略生成查询执行计划,并生成相应的查询执行计划代码。
三条启发式优化规则包括哪几点?
答:
选择运算尽可能先做;
投影操作尽可能先做;
把笛卡尔积和附近的一连串选择和投影操作合并起来做。
事物是什么?ACID特性包括?
答:事物是数据库进行操作的一个基本单位。
ACID特性包括:
隔离性:一个事务的执行不能被其他事务所干扰;
原子性:事务是一个不可分割的单位,要么全做,要么全不做;
一致性:事务执行的结果必须使数据库从一个一致性状态变到另一个一致性状态;
永久性:一旦事务被提交,它对数据库的改变就是永久的。
为什么事务非正常结束时会影响数据库数据的正确性?
答:
事物具有一致性,事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。
数据库恢复的关键是什么?
答:关键是建立冗余数据;
数据库恢复的基本技术有哪些?
答:数据转储和登录日志文件是数据库恢复的基本技术。
数据转储是指DBA定期将数据库复制到其他介质上进行保存,这些备份的数据叫做后备副本;
登记日志文件,日志文件是用来记录事物对数据库进行更新操作的文件。
当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。
登记日志文件时为什么必须先写日志文件,后写数据库?
答:
把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。
如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。
用于数据库恢复的文件是什么?
答:日志文件、后备副本。
*数据库故障的种类有哪几种?相应的恢复策略是什么?
答:三种:事物故障、系统故障、介质故障;
事物故障是指事物在运行至终点前被中止;
事物故障恢复是由系统自动完成,利用日志文件撤销此事务已对数据库进行的修改;
系统故障是指造成系统停止运转的任何事件,使得系统要重新启动;
系统故障的恢复是在重新启动后系统自动完成,为了防止系统故障造成的数据不一致性,必须撤销故障时未完成的事物,重做已完成的事物;
介质故障是指磁盘上的物理数据和日志文件被破坏;
介质故障的恢复方法就是重装数据库,重做已经完成的事物。
在数据库中为什么要并发控制?
答:
数据库是共享资源,通常有多个事物在同时执行,当多个事物并发的存取数据库时就会存在同时读或写统一数据的情况,如果对并发操作不加控制,就会存在数据读取或存取错误,破坏数据库的一致性。
*并发造成的数据不一致性包括什么?
答:
丢失修改:A、B两个事物同时对一个数据进行操作,A的修改破坏了B的修改,导致B的修改丢失;
不可重复读:A读取了数据后,B对数据进行了修改,导致A无法再现前一次的读取结果;
读脏数据:A对数据进行了修改之后,B读入该数据,然后A又因为某一原因撤销了该修改,导致数据恢复原值,此时B读取的数据就成了脏数据。
*什么是锁?有哪两种锁?
答:锁是最常用的并发控制机构,是防止其他事务访问指定资源,实现并发控制的一种手段。
排他锁(X写锁):当数据被加上写锁,其他事务不能对该数据进行读和写;
共享锁(S读锁):当数据被加上读锁,允许其他事务对该数据进行读,不允许写。
*简要概括一、二、三级封锁协议
答:
一级封锁协议:事务在修改数据之前加写锁,直到事务结束才释放。该协议可以防止丢失修改;
二级封锁协议:在一级封锁协议的基础上,加上了事务在读取数据之前对其加读锁,读完后即可释放读锁。该协议避免了读脏数据;
三级封锁协议:在一级封锁协议的基础上,加上了事务在读取数据之前必须加上读锁,直到事务结束才释放。该协议解决了不可重复读问题。
数据库保护(访问)的内容有哪些?
答:
利用权限机制;利用完整性约束防止法数据进入数据库;提供故障恢复能力,提供并发访问控制。