刷数据库面试题—12月刷题历史

下面是我这个月以来刷题(数据库)的错题和难题汇总记录,一部分是转载一部分是自己总结

12月面试题

12.5

1.两段锁协议(Two-Phase Locking――2PL)

即事务的执行分为两个阶段:
第一阶段是获得封锁的阶段,称为扩展阶段。在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁。

第二阶段是释放封锁的阶段,称为收缩阶段。在释放一个封锁之后,事务不再申请和获得其它任何封锁。

**定理:**若所有事务均遵守两段锁协议,则这些事务的所有交叉调度都是可串行化的。
对于遵守两段协议的事务,其交叉并发操作的执行结果一定是正确的。值得注意的是,上述定理是充分条件,不是必要条件。一个可串行化的并发调度的所有事务并不一定都符合两段锁协议,存在不全是2PL的事务的可串行化的并发调度。
同时我们必须指出,遵循两段锁协议的事务有可能发生死锁。

此时事务T1 、T2同时处于扩展阶段,两个事务都坚持请求加锁对方已经占有的数据,导致死锁。
为此,又有了一次封锁法。一次封锁法要求事务必须一次性将所有要使用的数据全部加锁,否则就不能继续执行。因此,一次封锁法遵守两段锁协议,但两段锁并不要求事务必须一次性将所有要使用的数据全部加锁,这一点与一次性封锁不同,这就是遵守两段锁协议仍可能发生死锁的原因所在。

2.DDBS 分布式数据库系统

在DDBS中,数据传输量是衡量查询时间的一个主要指标,导致数据传输量大的主要原因是(不同场地间的联接操作 )。

3.关系模式中各模式之间的关系为

对于各种范式之间的关系如下:

5NF⊂ 4NF⊂ BCNF ⊂3NF ⊂ 2NF⊂ 1NF

4.数据库应用系统

数据库应用系统是由数据库系统应用程序系统、用户组成的,具体包括:数据库、数据库管理系统数据库管理员、硬件平台、软件平台、应用软件、应用界面。

5.三级模式,两级映象
引入和概念

在数模型中有型(Type)和值(Value)的概念。型就是某一类数据结构和属性的说明,值就是具体的赋值。

  • 模式
    模式(Schema)是数据库中全体数据的逻辑结构和特征描述,是数据库的型。
  • 实例
    模式的一个具体值称为模式的一个实例(Instance),同一个模式可以有多个实例。
  • 模式与实例的关系
    模式是相对稳定的,而实例是不断变化的;模式反映的是数据的结构及其联系,而实例反映的是数据库某一刻的状态。
三级模式结构
  • 数据库系统由外模式、模式、内模式三级构成。
  • 数据库系统的三级模式是对数据的三个抽象级别,三级模式把数据的具体组织交给DBMS管理,使用户不必关心数据在计算机当中如何表示,如何存储,用户可专注于数据的逻辑抽象。
1. 外模式

外模式(亦称子模式或者用户模式),是数据库用户能够看到和使用的局部数据的逻辑结构和特征的描述。外模式保证了数据库的安全性,每个用户只能看到和访问对应外模式中的数据,数据库的其他数据对该用户均不可见。

一般地,

  • 外模式是模式的的子集,一个数据库可以有多个外模式。
  • 对模式中的同一数据,在外模式中也可以不同。
  • 一个外模式可以被多个应用程序所使用,一个应用程序只能使用一个外模式。

DBMS提供子模式描述语言(子模式DDL)来严格定义子模式。

2. 模式

模式(亦称逻辑模式)是数据库全体数据的逻辑结构和特征描述,是所用用户的公共数据视图。是数据库系统结构的中间层,既不涉及数据的物理存储细节,也不涉及具体的应用程序、开发工具和语言。

模式是数据库在逻辑级的视图,一个数据库只有一个模式,定义模式时要考虑数据的逻辑结构和数据间的联系,定义数据的安全性和完整性。

DBMS提供模式描述语言(模式DDL)来严格定义模式。

3. 内模式

一个数据库只有一个内模式(亦称存储模式),内模式是数据物理结构和存储方式的描述,是数据库中数据的内部表示方式。

DBMS提供内模式描述语言(内模式DDL)来严格定义内模式。

两级映象

为了能够在系统内部实现数据在3个抽象层次的联系和转换DBMS在三级模式之间提供两级映像功能:

  • 外模式/模式映像
  • 模式/内模式映像

其中外模式/模式映像保证了数据和程序之间的逻辑独立性;模式/内模式映像保证了数据和程序之间的物理独立性

1. 外模式/模式映像

模式描述数据的全局逻辑结构,外模式描述数据的局部逻辑结构。同一个模式可以有多个外模式,每一个外模式在数据库系统中都有一个对应外模式/模式映像,它定义了外外模式与模式之间的对应关系。映像的定义通常包含在各自外模式的描述中。

当模式改变时,DBA可以对各个外模式/模式映像做相应的改变,从而使外模式保持不变,应用程序是依赖于外模式编写的,所以应用程序可以不修改。所以说外模式/模式映像保证了数据和程序之间的逻辑独立性。

2. 模式/内模式映像

数据库模式和内模式都只有一个,因此模式/内模式映像也是唯一的,模式/内模式映像定义了数据全局逻辑结构与存储结构的对应关系。当数据库的存储方式发生变化时,由DBA对模式/内模式映像做相应的改变,可使模式保持不变,进而使外模式也保持不变,最后可达到应用程序不变的目的。所以说模式/内模式映像保证了数据和程序之间的物理独立性。

三级模式在RDBMS中的体现
  • 外模式对应于视图(View)和一部分基本表(Base Table);
  • 模式对应于基本表(Base Table);
  • 内模式对应于存储文件(Stored File);
总结

在数据库的三级模式中,模式是全局的逻辑结构,它作为中间层独立于其它两层,在设计数据库模式结构时要首先确定数据库的逻辑结构。

数据库的内模式依赖于它的模式(全局逻辑结构),独立于外模式,也独立于具体的存储设备。它将模式定义的数据结构和联系按照一定的存储策略进行组织,从而达到较好的时间和空间效率。

数据库的外模式面向具体的应用程序,它定义在模式之上,因此可以独立于存储模式和存储设备。

数据库的二级映像保证了数据库外模式的稳定性,进而保证了依赖于特定外模式的应用程序的稳定性。一般情况下,只要应用程序的需求不变,应用程序就可以不用修改。

12.13

理解2NF

第一范式:关系模式中,每个属性不可再分。属性原子性
第二范式:非主属性完全依赖于主属性,即消除非主属性对主属性的部分函数依赖关系。
第三范式:非主属性对主属性不存在传递函数依赖关系。

你既然不理解2NF 我就给你解释下 第二范式
我举个例子:
表R 有字段 A B C D
AB可以推出 C
C可以推出D
但是B也可以推出D
这个时候就不符合2NF了
很明显 主键就是(A,B) 但是我们的非主键属性D可以被(A,B)中的B推出,
意思就是非主属性对主属性的部分函数依赖关系

链接:https://www.nowcoder.com/questionTerminal/68aaf659d34947e796f183d24e11dca7来源:牛客网

2NF 满足1NF,非主属性完全函数依赖于候选键(左部不可约)

3NF 满足2NF,消除非主属性对候选键的传递依赖

BCNF 满足3NF,消除每一属性对候选键的传递依赖

4NF 满足BCNF,消除非平凡且非FD的多值依赖(MVD)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值