计算机考研复试专业课【数据库】
前言: 本人为21考研党,所考专业为计算机科学与技术,在复试准备期间搜集整合了一些适合线上复试面试的题目,主要概括了数据库在复试中笔试或者面试可能会考察的概念题,仅供大家参考,如果对大家有帮助,希望大家点赞哦~ 本文仅针对考研复试,祝大家复试顺利,若本文有任何错处欢迎大家留言指正哦!参考书籍 王珊、萨师煊《数据库系统概论》第五版 王珊、张俊《数据库系统概论习题解析与上机指导》第五版文章目录
前言:
本人为21考研党,报考专业为计算机科学与技术,在复试准备期间搜集整合了一些适合线上复试面试的题目,主要概括了数据库在复试中笔试或者面试可能会考察的概念题,仅供大家参考,如果对大家有帮助,希望大家点赞哦~
本文仅针对考研复试,祝大家复试顺利,若本文有任何错处欢迎大家留言指正哦!
参考书籍
王珊、萨师煊《数据库系统概论》第五版
王珊、张俊《数据库系统概论习题解析与上机指导》第五版
文章目录
- 文件系统和数据库系统的区别与联系?
- 试述数据库系统的特点。
- *数据库管理系统的主要功能有哪些?
- 什么是概念模型?试述概念模型的作用。
- 数据模型的三个要素。
- DBA的职责是什么?
- *三级模式结构是什么?二级映射有什么优点?
- *和文件系统相比,数据库系统有什么优点?
- *关系模型中的完整性约束是哪几类?定义?
- *等值连接和自然连接的区别是什么?
- *外连接是什么?
- 试述SQL的特点。
- *视图是什么?有什么作用?
- 什么是数据库操纵语言、什么是数据库控制语言,试举例说明
- *索引的作用?和它的优点缺点是什么?
- 数据库中常用的索引有哪些?
- *数据库的安全性是指什么?有哪些安全性技术?
- *存取控制是指什么?主要包括哪两部分?有哪两类方法?
- 视图机制是如何对数据库实现安全性控制的?
- 审计功能是如何对数据库实现安全性控制的?
- 数据库的完整性是指什么?
- 什么是断言?
- **什么是触发器?触发器的作用?
- *规范化过程中,逐级依次消除了何种函数依赖?
- 数据库设计的基本步骤是什么?
- *合并E-R图时主要包括哪几种冲突?
- 一个实体型转换为一个关系模式有哪几种情况?
- 描述数据库对嵌入式SQL的处理过程。
- **什么是存储过程?用什么来调用?
- 游标是什么?
- *关系数据库中查询处理的步骤是什么?每一步进行简要概括
- *事物是什么?ACID特性包括?
- 为什么事务非正常结束时会影响数据库数据的正确性?
- 数据库恢复的关键是什么?
- **数据库恢复的基本技术有哪些?
- *登记日志文件时为什么必须先写日志文件,后写数据库?
- 用于数据库恢复的文件是什么?
- **数据库故障的种类有哪几种?相应的恢复策略是什么?
- 在数据库中为什么要并发控制?
- **并发造成的数据不一致性包括什么?
- *什么是锁?有哪两种锁?
- **简要概括一、二、三级封锁协议
文件系统和数据库系统的区别与联系?
(我觉得这道题能更好的理解文件系统和数据库系统的关系,所以放上来了,大家仅做了解即可)
答:
文件系统与数据库系统的区别:
①文件系统的数据是面向某一应用的 ,文件的共享性差、冗余度大,独立性差,文件的纪录虽然是有结构的,但是整体无结构。所谓“数据面向某个应用"是指数据结构是针对某个应用设计的,只被这个应用程序或应用系统使用,数据是某个应用的“私有资源”。
②数据库系统中的数据不再仅仅面向某一个应用,而是面向整个组织或企业。数据的共享性高、冗余度小,具有高度的物理独立性和一定的逻辑独立性,数据库中的数据用数据模型组织和描述,由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力。
文件系统与数据库系统的联系:
①文件系统与数据库系统都是计算机系统中管理数据的软件。
②文件系统就是操作系统的重要组成部分,而DBMS是独立于操作系统的软件。我们不能独立购买一个文件系统,但一般需要独立购买DBMS软件产品。DBMS是在操作系统的基础上实现的,数据库中数据的组织和存储是通过操作系统中文件系统来实现的。因此,DBMS的实现与操作系统中的文件系统是紧密相关的。数据库实现的基础是文件,对数据库的任何操作最终要转化为对文件的操作。
试述数据库系统的特点。
答:
数据结构化;
数据共享性高、冗余度低且扩充;
数据独立性高;
数据由DBMS统一管理和控制。
*数据库管理系统的主要功能有哪些?
答:
数据定义、数据操纵、数据的组织、存储和管理、数据库的运行管理和事务管理、数据库的建立和维护。
什么是概念模型?试述概念模型的作用。
答:
概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。
数据模型的三个要素。
答:
数据结构、数据操作和数据的完整性约束条件。
DBA的职责是什么?
答:
DBA负责全面管理和控制数据库系统,具体有:
(1)决定数据库中的信息内容和结构,数据库中要存放哪些信息;
(2)决定数据库的存储结构和存取策略;
(3)定义数据的安全性要求和完整性约束条件;
(4)监控数据库的使用和运行,及时处理运行过程中出现的问题;
(5)数据库的改进和重组、重构,对运行情况进行记录、统计分析,以此来不断改进数据库设计。
*三级模式结构是什么?二级映射有什么优点?
答:
三级模式是数据库的内部系统结构,包括内模式、模式和外模式:
内模式描述了数据库中数据的物理结构和存储方式;
模式描述了数据库中全体数据的逻辑结构和特征;
外模式描述了用户可见的局部数据的逻辑结构和特征。
外模式/模式映像的优点:当模式改变时,由DBA对外模式/模式映像做相应的改变,外模式可以保持不变。应用程序是根据外模式而编写的,因而应用程序不必修改,保证了数据与应用程序的逻辑独立性,即数据的逻辑独立性;
内模式/模式映像的优点:当数据库的存储结构改变时,由DBA对模式/内模式映射作相应的改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,即数据的物理独立性。
*和文件系统相比,数据库系统有什么优点?
答:
文件系统 | 数据库系统 |
---|---|
文件系统管理 | DBMS管理 |
面向某一应用 | 面向现实世界 |
共享性差,冗余度大 | 共享性高,冗余度小 |
独立性差 | 具有高度的物理独立性和一定的逻辑独立性 |
记录内有结构,整体无结构 | 整体结构化,用数据模型描述 |
应用程序自己控制 | 由数据库管理系统提供数据安全性,完整性,并发控制和恢复能力 |
*关系模型中的完整性约束是哪几类?定义?
答:
实体完整性:关系模式中的主码不能为空值或重复值;
参照完整是:关系模式中的外码只能是空值或者另一关系模式的主码;
用户定义完整性:在具体应用环境中,用户对关系模式中某一属性的约束。
*等值连接和自然连接的区别是什么?
答:
自然连接是一种特殊的等值连接;
等值连接要求连接的是值相等的分量,两个关系中可以没有相同的属性;进行自然连接的两个关系中必须有相同的属性。
等值连接不要求去掉重复属性列;自然连接时需要去掉重复的属性列。
*外连接是什么?
答:
外连接是指两个表在进行操作时,不仅返回符合连接和查询条件的元组,还返回不符合条件的一些元组;
左外连接是指返回左表中仅符合连接条件不符合查询条件的元组;
右外连接是指返回右表中仅符合连接条件不符合查询条件的元组;
全外连接是左外连接和右外连接去掉重复项的元组集并集。
【注】2022考研的学弟学妹要是线下笔试的话,可以做一下《数据库系统概论》第二章课后习题第6题练习。
试述SQL的特点。
答:
综合统一。集DCL,DML,DDL功能于一体;
高度非过程化。使用SQL进行数据操作时,只要提出“做什么”,而不需要指明“怎么做”;
面向集合的操作方式。操作对象、查找结果都可以是元组的集合;
同一种语法结构提供多种使用方式。既可以作为独立的语言进行交互,又可以作为嵌入式语言嵌入到更高级的语言程序中进行操作;
语言简洁,易学易用。
*视图是什么?有什么作用?
答:
视图是从一个或几个基本表中导出的表,是一个虚表。数据库中只存放视图的定义,而不存放视图对应的数据。基本表中的数据发生变化时,从视图中查询出来的数据也就随之发生变化。
作用:
能够简化用户的操作;
使用户能以多种角度看待同一数据;
在一定程度上提供了数据的逻辑独立性;
能够对机密数据提供安全保护;
利用视图可以更清晰的表达查询。
什么是数据库操纵语言、什么是数据库控制语言,试举例说明
答:
数据操纵语言是指通过对表中的数据进行插入、删除和修改等操作,实现对数据库的基本操作。如:SELECT命令的作用是检查表的内容,UPDATE命令的作用是修改表等等。
数据控制语言是用来设置数据库的安全性保护、完整性检查、数据库恢复和并发性控制的语句,这些语句包括GRANT、REVOKE等语句。
*索引的作用?和它的优点缺点是什么?
答:
当表的数据量比较大时,查询操作比较耗时,建立索引可以加快查询速度。
优点:加速查询速度;缺点:索引需要占一定的存储空间,且基本表更新时需要维护索引表。
数据库中常用的索引有哪些?
答:
B+树索引:B+树是对B树优化处理了的多路搜索树,与B树的区别在于,B树的每个结点都可以存储数据,而B+树只有叶子结点可以存储数据,且每个叶子结点都用链表链接。
在数据库的查询中一般都是批量查询数据,采用B+树一次查询多条时,确定首尾位置,便可以方便的确定多条数据位置,提高查询效率。
Hash索引:通过一定的算法计算出哈希值,然后映射出对应的数据存储位置。检索速度快,但是哈希值可能存在碰撞。
【注】2022考研的学弟学妹要是线下笔试的话,可以做一下《数据库系统概论》第三章课后习题第4、5题练习。
*数据库的安全性是指什么?有哪些安全性技术?
答:
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改和破坏。
安全性技术:用户身份鉴别、存取控制、审计、视图、数据加密。
*存取控制是指什么?主要包括哪两部分?有哪两类方法?
答:
存取控制是指确保只授权给有资格的用户访问数据库的权限,且令所有未被授权的人员无法接近数据。
两个部分:定义用户权限和合法权限检查;
两种方法:
自主存取控制(DAC):用户对不同的数据库对象有不同的存取权限,不同的用户对同一对象也有不同的权限
强制存取控制(MAC):每一个数据库对象被标以一定的密级,每一个用户也被授予一定级别的许可证,只有具有合法许可证的用户才可以进行存取。
视图机制是如何对数据库实现安全性控制的?
答:
可以为不同的用户定义不同的视图,也就是说,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动对数据提供一定程度的安全保护。
审计功能是如何对数据库实现安全性控制的?
答:
审计功能是把用户对数据库的所有操作自动记录到审计日志中,审计员可以利用审计日志监控数据库中的各种行为,找出导致数据库发生异常的事件。
【注】2022考研的学弟学妹要是线下笔试的话,可以做一下《数据库系统概论》第四章课后习题第6、7题练习。
数据库的完整性是指什么?
答:数据库的完整性是指数据的正确性和相容性。
什么是断言?
答:
断言是指更具有一般性的约束,断言创建后,任何涉及到断言中的关系的操作都会引发数据库对断言的检查,任何使断言为假的操作都会被拒绝执行。
**什么是触发器?触发器的作用?
答:
触发器是用户定义在关系表上的一类由数据驱动的一类由事物驱动的特殊过程,类似于约束,但是比约束更灵活,是保证数据库完整性的一种方法。任何用户对表进行增删改操作都会有数据库服务器自动激活相应的触发器,对数据库进行相应的检查和操作。
*规范化过程中,逐级依次消除了何种函数依赖?
答:
由INF到2NF,消除了非主属性对主属性的部分函数依赖;
由2NF到3NF,消除了非主属性对主属性的传递函数依赖;
由3NF到BCNF,消除了主属性对码的部分函数依赖和传递函数依赖。
【注】2022考研的学弟学妹要是线下笔试的话,可以做一下《数据库系统概论》第六章课后习题第2题练习。
数据库设计的基本步骤是什么?
答:
需求分析:了解和分析用户需求;
概念结构设计:对用户需求进行抽象和归纳,形成一个独立于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读锁):当数据被加上读锁,允许其他事务对该数据进行读,不允许写。
**简要概括一、二、三级封锁协议
答:
一级封锁协议:事务在修改数据之前加写锁,直到事务结束才释放。该协议可以防止丢失修改;
二级封锁协议:在一级封锁协议的基础上,加上了事务在读取数据之前对其加读锁,读完后即可释放读锁。该协议避免了读脏数据;
三级封锁协议:在一级封锁协议的基础上,加上了事务在读取数据之前必须加上读锁,直到事务结束才释放。该协议解决了不可重复读问题。
【注】*为重点题型,***为博主面试时考到的专业课题。但是我建议大家将所有的题目都熟悉背诵下来,多看多背。如果线下复试的话,sql语句也要熟练掌握奥。
如果时间充裕的话,可以利用几天时间刷一下数据库的视频,很多学长学姐推荐的哈工大战德臣老师的视频(Mooc和B站上都有,自己去搜就行)、博主自己准备复试时刷的西北农林科技大学的视频(数据库原理与应用)以及河南理工大学(数据库系统概论)的视频。
《数据库系统概论》课后习题解析非完整版 点这里哟~
《数据库系统概论》思维导图 点这里哟~
版权说明
文章作者:早知晓
博文链接:点击此处
希望大家都走在开满鲜花的路上,加油~
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)