本文是我2021年考研时准备的复试面试题,现在拿出来给大家分享一下

觉得好的点个赞哦,毕竟当初我也是整理了好久,改了好几次版本呢

祝大家都上岸!!!!

1、三级模式结构是什么?二级映射有什么优点? 1

2、关系模型中的完整性约束是哪几类? 1

3、SQL的特点? 1

4、DML、DDL与DCL 1

5、等值连接和自然连接的区别是什么? 1

6、外连接是什么? 1

7、索引的作用?和它的优点缺点是什么? 2

8、数据库中常用的索引有哪些? 2

9、视图是什么?有何作用? 2

10、数据库的安全性是指什么?有哪些安全性技术? 3

11、存取控制是指什么?主要包括哪两部分?有哪两类方法? 3

12、视图机制是如何对数据库实现安全性控制的? 3

13、审计功能是如何对数据库实现安全性控制的? 3

14、数据库的完整性是指什么? 3

15、什么是断言? 3

16、什么是触发器?触发器的作用? 3

17、规范化过程中,逐级依次消除了何种函数依赖? 3

18、数据库设计的基本步骤是什么? 3

19、概念模型有什么作用? 4

20、合并E-R图时主要包括哪几种冲突? 4

21、一个实体型转换为一个关系模式有哪几种情况? 4

22、关系数据库中查询处理的步骤是什么? 4

23、事务是什么?ACID特性包括? 4

24、什么是锁?有哪两种锁? 4

25、简要概括一、二、三级封锁协议 4

26、丢失修改、读脏数据、不可重复读和幻影读 5

27、冗余数据、修改异常、删除异常和插入异常 5

1、三级模式结构是什么?二级映射有什么优点?

三级模式包括外模式、模式、内模式;

模式描述了数据库中全体数据的逻辑结构和特征;

外模式描述了用户可见的局部数据的逻辑结构和特征;

内模式描述了数据库的物理结构和存储方式。

外模式/模式映像的优点:当模式改变时,通过数据库管理员对外模式/模式映像做相应的改变,外模式可以保持不变。应用程序是根据外模式而编写的,因而应用程序不必修改,保证了数据的逻辑独立性;

内模式/模式映像的优点:当数据库的存储结构改变时,通过对模式/内模式映射作相应的改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据的物理独立性。

2、关系模型中的完整性约束是哪几类?

实体完整性:关系模式中的主码不能为空值;

参照完整性:关系模式中的外码只能是空值或者另一关系模式的主码;

用户定义完整性:关系模式中针对某一属性的约束。

3、SQL的特点?

(1)综合统一。集DCL,DML,DDL功能于一体;

(2)高度非过程化。只需要提出“做什么”,而不需要指明怎么做;

(3)面向集合的操作方式。

(4)提供多种使用方式。既可以作为独立的语言进行交互,又可以作为嵌入式语言嵌入到更高级的语言程序中进行操作;

4、DML、DDL与DCL

(1)DML(data manipulation language) 数据操纵语言

就是我们经常用到的SELECT、UPDATE、INSERT、DELETE。主要用来对数据库的数据进行的一些操作。

(2)DDL(data definition language)数据定义语言

就是我们在创建表时用到的一些SQL语句。例如:CREATE、ALTER、DROP等。DDL主要是用在定义表。或者改变表的结构、数据类型、表之间的链接和约束等初始化操作上。

(3)DCL(Data Control Language)数据控制语言

用来设置或者更改数据库用户角色权限等的语句,例如:grant、revoke语句。

5、等值连接和自然连接的区别是什么?

自然连接是等值连接的一种特殊情况;

等值连接要求连接的是值相等的分量,两个关系中可以没有相同的属性;进行自然连接的两个关系中必须有相同的属性。

等值连接不要求去掉重复属性列;自然连接时需要除掉重复的属性列。

6、外连接是什么?

外连接是指两个表在进行操作时,不仅返回符合连接的元组,还返回不符合条件的一些元组;

左外连接是指列出左表的全部元组,若右表无对应记录,则为NULL;

右外连接是指列出右表的全部元组,若左表无对应记录,则为NULL;

全外连接是左外连接+右外连接。

a表     id   name     b表      id      job   parent_id

1   张三                  1      23      1

2   李四                  2      34      2

3   王武                  3      34      4

a.id同parent_id   存在关系

(1)左外连接

select  a.*,b.*   from  a  left  join b on   a.id=b.parent_id

结果是

1   张三                  1     23     1

2   李四                  2     34     2

3   王武                  null   null    null

(2)右外连接

select  a.*,b.*   from  a  right  join b on   a.id=b.parent_id

结果是

1   张三                  1     23     1

2   李四                  2     34     2

null  null                  3     34     4

(3)全连接

select  a.*,b.*   from  a  full  join b on   a.id=b.parent_id

结果是

1   张三                 1     23     1

2   李四                 2     34     2

null  null               3     34     4

3   王武                 null  null   null

7、索引的作用?和它的优点缺点是什么?

当表的数据量比较大时,查询操作比较耗时,建立索引可以加快查询速度。

优点:加速查询速度;

缺点:索引需要占一定的存储空间,且基本表更新时需要维护索引表。

8、数据库中常用的索引有哪些?

B+树索引:B+树是对B树优化处理了的多路搜索树,与B树的区别在于,B树的每个结点都可以存储数据,而B+树只有叶子结点可以存储数据,且每个叶子结点都用链表链接。在数据库的查询中一般都是批量查询数据,采用B+树一次查询多条时,确定首尾位置,便可以方便的确定多条数据位置,提高查询效率。

Hash索引:通过一定的算法计算出哈希值,然后映射出对应的数据存储位置。检索速度快,但是哈希值可能存在碰撞。

9、视图是什么?有何作用?

视图是从一个或几个基本表中导出的表,是一个虚表。数据库中只存放视图的定义,而不存放视图对应的数据。基本表中的数据发生变化时,从视图中查询出来的数据也就随之发生变化。

作用:

能够简化用户的操作;

使用户能以多种角度看待同一数据;

在一定程度上提供了数据的逻辑独立性;

能够对秘密数据提供安全保护;

10、数据库的安全性是指什么?有哪些安全性技术?

数据库的安全性是指保护数据库被恶意破坏和非法存取。

安全性技术:用户标识和鉴别、多层存取控制、审计、视图、数据加密。

11、存取控制是指什么?主要包括哪两部分?有哪两类方法?

存取控制是指确保只授权给有资格的用户访问数据库的权限,且令所有未被授权的人员无法接近数据。

两个部分:定义用户权限和合法权限检查;

两种方法(两种不能都用):

自主存取控制(DAC):用户对不同的数据库对象有不同的存取权限,不同的用户对同一对象也有不同的权限

强制存取控制(MAC):每一个数据库对象被标以一定的密级,每一个用户也被授予一定级别的许可证,只有具有合法许可证的用户才可以进行存取。

12、视图机制是如何对数据库实现安全性控制的?

可以对不同的用户定义不同的视图,也就是说,通过视图机制把要保密的数据对无权存取的用户隐藏起来。

13、审计功能是如何对数据库实现安全性控制的?

审计功能是把用户对数据库的一系列操作自动记录到审计日志中,审计员可以利用审计日志监控数据库中的各种行为,找出导致数据库发生异常的事件。

14、数据库的完整性是指什么?

数据库的完整性是指防止数据库中存在不正确的数据。

15、什么是断言?

断言是指更具有一般性的约束,断言创建后,任何涉及到断言中的关系的操作都会引发数据库对断言的检查,任何使断言为假的操作都会被拒绝执行。

16、什么是触发器?触发器的作用?

触发器是用户定义在关系表上的一类由事件驱动的特殊过程,类似于约束,但是比约束更灵活,是保证数据库完整性的一种方法。任何用户对表进行增删改操作都会激活相应的触发器,之后触发器会对数据库进行相应的检查和操作。

17、规范化过程中,逐级依次消除了何种函数依赖?

由1NF到2NF,消除了非主属性对主属性的部分函数依赖;

由2NF到3NF,消除了非主属性对主属性的传递函数依赖;

由3NF到BCNF,消除了主属性对码的部分函数依赖和传递函数依赖。

18、数据库设计的基本步骤是什么?

需求分析:了解和分析用户需求;

概念结构设计:根据用户需求转换成E-R图;

逻辑结构设计:将E-R图转换为关系模型;

物理结构设计:设计存储结构和存取方法;

数据库实施阶段:编写数据库,编写和调试应用程序;

数据库运行和维护:正式投入运行。

19、概念模型有什么作用?

概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。

20、合并E-R图时主要包括哪几种冲突?

属性冲突。不同的实体对同一属性的定义不同;

命名冲突。同名异义、异名同义;

结构冲突。同一实体在不同的局部E-R图中有不同的抽象。

21、一个实体型转换为一个关系模式有哪几种情况?

一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并;

一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并;

一个m:n联系可以转换为一个关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性。

22、关系数据库中查询处理的步骤是什么?

查询分析:对查询语句进行词法分析、语法分析;

查询检查:对合法的查询语句进行语义检查;

查询优化:选择一个高效执行的查询处理策略;

查询执行:依据优化得到的执行策略生成查询执行计划,并生成相应代码。

23、事务是什么?ACID特性包括?

事务是数据库进行操作的一个基本单位。

ACID特性包括:

原子性(Atomic):事务是一个不可分割的单位,要么全做,要么全不做;

一致性(Consistency):事务执行的结果必须使数据库从一个一致性状态变到另一个一致性状态;

隔离性(Isolation):一个事务的执行不能被其他事务所干扰;

持久性(Durability):一旦事务被提交,它对数据库的改变就是永久的。

24、什么是锁?有哪两种锁?

锁是最常用的并发控制机构,是防止其他事务访问指定资源,实现并发控制的一种手段。

排他锁(X写锁):当数据被加上写锁,其他事务不能对该数据进行读和写;

共享锁(S读锁):当数据被加上读锁,允许其他事务对该数据进行读,不允许写。

25、简要概括一、二、三级封锁协议

一级封锁协议:事务在修改数据之前加写锁,直到事务结束才释放。该协议可以防止丢失修改;

二级封锁协议:在一级封锁协议的基础上,加上了事务在读取数据之前对其加读锁,读完后即可释放读锁。该协议避免了读脏数据;

三级封锁协议:在一级封锁协议的基础上,加上了事务在读取数据之前对其加读锁,直到事务结束才释放。该协议解决了不可重复读问题。

26、丢失修改、读脏数据、不可重复读和幻影读

丢失修改:指事务1和事务2同时读入相同的数据并进行修改,事务2提交的结果破坏了事务1提交的结果,导致事务1进行的修改丢失。

如:(1)甲售票点(事务T1)读出某航班的机票余额A,设A=16.

(2)乙售票点(事务T2)读出同一航班的机票余额A,也为16.

(3)甲售票点卖出一张机票,修改余额A←A-1.所以A为15,把A写回数据库.

(4)乙售票点也卖出一张机票,修改余额A←A-1.所以A为15,把A写回数据库.

读脏数据:脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问了这个数据,因为这个数据是未被更新的旧数据,所以另外一个事务读到的数据是脏数据。

不可重复读:事务A需要多次读一个数据。事务A还没有结束时,另一个事务B也访问了这个数据并进行了修改。那么事务A再一次读取数据时,读到的数据与第一次是不一样,这样就发生了在一个事务内两次读到的数据是不一样的,因此称为不可重复读。

幻影读:读取某个范围的数据,在这个范围内插入新的数据,再次读取这个范围的数据,此时读取的结果和和第一次读取的结果不同。简记为读时插入,重复读取的结果不一样。如一开始select查询有100条,之后向其插入20条,再次查询发现有120条,两次内容不一致。

27、冗余数据、修改异常、删除异常和插入异常

冗余数据:例如 学生-2 出现了两次。

修改异常:修改了一个记录中的信息,但是另一个记录中相同的信息却没有被修改。

删除异常:删除一个信息,那么也会丢失其它信息。例如删除了课程-1需要删除第一行和第三行,那么学生-1的信息就会丢失。

插入异常:例如想要插入一个学生的信息,如果这个学生还没选课,那么就无法插入。

计算机考研复试数据库常见面试题相关推荐

  1. 计算机考研复试计算机网络常见面试题

    本文是我2021年考研时准备的复试面试题,现在拿出来给大家分享一下 觉得好的点个赞哦,毕竟当初我也是整理了好久,改了好几次版本呢 祝大家都上岸!!!! 计算机网络 目录 1.TCP三次握手建立连接 1 ...

  2. 计算机考研复试面试常问问题 数据库篇

    计算机考研复试面试常问问题 数据库篇 在复习过程中,我用心查阅并整理了在考研复试面试中可能问到的大部分问题,并分点整理了答案,可以直接理解背诵并加上自己的语言润色!极力推荐打印下来看,效率更高!绝对良 ...

  3. 计算机考研复试面试常问问题 编程语言篇

    计算机考研复试面试常问问题 编程语言篇 个人整理,免费分享,不可用于商业用途,转载请注明出处! 但是有同学反应闲鱼上有人盗卖此免费分享资料,还有好多同学买了,所以希望大家多多点赞评论收藏,提高这份资料 ...

  4. 计算机考研复试面试常问问题 计算机网络篇(上)

    计算机考研复试面试常问问题 计算机网络篇(上) 在复习过程中,我用心查阅并整理了在考研复试面试中可能问到的大部分问题,并分点整理了答案,可以直接理解背诵并加上自己的语言润色!极力推荐打印下来看,效率更 ...

  5. 计算机考研复试--英语常问问题及答案

    计算机考研复试–英语常问问题及答案 Category 1: Personal Questions Question 1.1: Tell us something about yourself. Ans ...

  6. 计算机考研复试面试常问问题 计算机网络篇(下)

    计算机考研复试面试常问问题 计算机网络篇(下) 在复习过程中,我用心查阅并整理了在考研复试面试中可能问到的大部分问题,并分点整理了答案,可以直接理解背诵并加上自己的语言润色!极力推荐打印下来看,效率更 ...

  7. 路由器下一跳地址怎么判断_计算机考研复试面试常问问题 计算机网络篇(下)...

    计算机考研复试面试常问问题 计算机网络篇(下) 在复习过程中,我用心查阅并整理了在考研复试面试中可能问到的大部分问题,并分点整理了答案,可以直接理解背诵并加上自己的语言润色!极力推荐打印下来看,效率更 ...

  8. 计算机考研复试面试常问问题 操作系统篇

    计算机考研复试面试常问问题 操作系统篇 在复习过程中,我用心查阅并整理了在考研复试面试中可能问到的大部分问题,并分点整理了答案,可以直接理解背诵并加上自己的语言润色!极力推荐打印下来看,效率更高! 此 ...

  9. 数据库常见面试题总结

    参考如下: 数据库常见面试题(开发者篇) 数据库优化 SQL数据库面试题及答案 常见面试题整理--数据库篇 转载于:https://www.cnblogs.com/threetop/p/9425172 ...

最新文章

  1. 使用JMX监控Kafka
  2. 解决Caused by: java.lang.NoSuchMethodException: com.mchange.v2.c3p0.cfg.C3P0Config.init()的总结...
  3. 46亿一辆的戴森电动车,「卖」给英国首富了
  4. python网络爬虫教程-如何入门 Python 爬虫?
  5. Wait--查看等待
  6. 拼音输入法功能大比拼
  7. 操作系统学习笔记-06-系统调用
  8. FATE框架安装后测试报错:ModuleNotFoundError: No module named ‘arch‘
  9. Wireshark 实用过滤表达式
  10. c++驱动键鼠源码_DD驱动级虚拟键鼠套装
  11. 运维工程师必须掌握的技巧
  12. ADO.NET 3.5 同SQL 2008的新的存储过程保存方式
  13. Git版本控制:Git分支处理
  14. 《小团团团队》【Alpha】Scrum Meeting 3
  15. 容器技术Docker K8s 10 入门实践集群创建
  16. 脑机接口五大应用场景
  17. java 文档注释生成_Java的文档注释之生成帮助文档的实例
  18. python实现不重复排列组合_python 实现排列组合
  19. 轻量级工具emoji-java处理emoji表情字符
  20. 实景三维系列1 | 倾斜摄影发展历程

热门文章

  1. 2013春季巡讲讲稿—基于传统数据库的大型系统构建—赵振平—中国人民公安大学CSDN高校俱乐部
  2. VB顺序文件案例:简易文本编辑器
  3. 新手必备的十大运营辅助工具
  4. 查看主机是不是虚拟机
  5. 算法系列—低位优先的字符串排序(基于键索引计数法)
  6. 5.3. nightly version
  7. 最新论文笔记(+19):TrustFed: A Framework for Fair and Trustworthy Cross-Device Federated Learning in IIoT
  8. VisSim.Comm.v4.5.08 (卫星、终端等的通信分析软件)
  9. 如何将APE及FLAC格式文件刻录成CD
  10. Python图像处理库PIL中图像格式转换