考研数据库经典面试题

Posted spore

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了考研数据库经典面试题相关的知识,希望对你有一定的参考价值。

 

 技术图片

答案:

  1. 封锁技术通常采用两种锁:排他锁(x锁),共享锁(S锁)。

X锁:如果事务对数据R实现X锁则其他事务必须要等待该事物解除X锁之后才能对该数据进行封锁。

S锁:如果事务对数据R实现S锁,则其他事务仍可以对该数据加S锁,但在事务对该数据没有解除S锁之前,其他任何事务不能对该数据加X锁。

 

  1. SQL的数据更新包括数据插入,数据删除,数据更改,分别用insertdeleteupdate语句实现

 

  1. 采用ER方法的数据库概念设计包括以下步骤: 设计局部ER模式;设计全局ER模式;全局ER模式的优化

 

  1. 数据库中的关键码包括超键、候选键、主键、外键。超键和候选键是唯一地标示关系中元组的属性或属性集,但候选键中不含有多余的属性;主键是从候选键中人为指定的; 外键是指一个关系中包含的另一个关系的主键所对应的属性

 

 

  1. 试述视图的作用?

       视图能够简化用户的操作

    视图能够使用户从多个角度看待同一数据

    视图对重构数据库提供了一定程度的逻辑独立性

    视图对机密数据提供安全保护

 

  1. 登记日志文件时必须遵循什么原则?

     (1) 登记的次序严格按照并发事务执行的时间次序

   (2) 先登记日志文件再写入数据库

 

  1. 两段锁协议是:

    (1) 在对任何数据进行读写操作之前,首先要申请并获得对该数据的封锁

    (2) 在释放一个封锁之后,事务不再申请和获得任何其他封锁

    作用: 若并发执行的所有事务均遵循两段锁协议,则对这些事务的任何并发调度策略都是可串行化的

 

  1. 死锁的诊断与解除

    超时法:如果一个事务等待时间超过了规定的时限,就认为该事务发生了死锁。解除死锁的办法: 将其撤销

    等待图法:用事务等待图动态反映所有事务的等待情况。 解除死锁:选择一个处理代价最小的事务,将其撤销,并释放该事务所持有的所有锁,使其它事务能继续运行下去

 

  1. 什么是死锁?请给出预防死锁的若干方法

    (1) 如果事务T1封锁了数据R1,事务T2封锁了数据R2T1又申请封锁数据R2,因为数据R2已被事务T2封锁,所以事务T1需要等待。T2又申请封锁数据数据R1,因为数据R1已被    数据T1封锁,所以事务T2需要等待。事务T1T2相互等待而永不能结束,形成死锁

    (2) 预防死锁发生通常可以有两种方法

    ① 一次封锁法:要求每个事务必须一次将所用到的所有数据全部加锁,否则就不能执行

    ② 顺序封锁法: 预先对数据对象规定一个封锁顺序,所有事务都按照这个顺序实行封锁。

 

  1. 考虑如下的调度,说明这些调度集合之间的包含关系

    (1) 正确的调度

    (2) 可串行化的调度

    (3) 遵循两段锁的调度

    (4) 串行调度

    答案:(3Ç2)Ç(4)Ç(1)

 

  1. 什么是数据库中的自主存取控制方法和强制存取控制方法?

    (1) 自主存取控制定义:用户对不同的数据对象具有不同的存取权限,不同的用户对同一数据对象也有不同的权限,而且用户还可以将其所有的权限转授给其他用户。

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

  1. 什么是数据库镜像?它有什么用途?

    (1) 数据库镜像即根据DBA的要求,自动把整个数据库或者其中的部分关键数据复制到另一个磁盘上。每当主数据库更新时,DBMS自动把更新后的数据复制过去,即DBMS自动保证了镜像数据与主数据的一致性。

    (2) 数据镜像的用途有两点:

    ① 用于数据库的恢复。

    ② 提高数据的可用性

 

  1. 试述数据库系统的三级模式和两级映像/数据的逻辑独立性和物理独立性

    数据系统的三级模式结构由外模式、模式、内模式组成

    两级映像:外模式/模式,模式/内模式

    当模式改变时,由数据库管理员对各个外模式/模式的映像做相应改变可以使外模式保持不变,从而不必修改应用程序,保证了数据与程序的逻辑独立性。简称数据的逻辑独立性。

    当内模式改变时,由数据库管理员对各个模式/内模式的映像做相应改变可以使模式保持不变,从而不必修改应用程序,保证了数据与程序的物理独立性。简称数据的物理独立性

 

  1. 事务的特点

    事务的ACID特性

    原子性:事务中包括的诸操作要么全做,要么全部做

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

    隔离性:一个事务内部的操作及使用的数据对其他并发事务是隔离的

    持续性: 一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的

 

  1. 完全函数依赖

 技术图片

 

  1. 什么是数据库的完整性?

    数据库的完整性是指数据的正确性和相容性。数据库的完整性是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据

  1. 说明视图与基本表的区别和联系
  2. 技术图片

 

 

以上是关于考研数据库经典面试题的主要内容,如果未能解决你的问题,请参考以下文章

经典C语言面试算法题

[Linux]经典面试题

谈一下经典的面试题 如何解决IOC的循环依赖

数据库子查询经典面试题

[Linux]经典面试题

java经典面试题总结