数据库程序员面试笔试通关宝典
上QQ阅读APP看书,第一时间看更新

2.6 名企真题解析

接下来,收集了一些各大企业往年的面试及笔试真题,读者可以根据以下题目来做参考,看自己是否已经掌握了基本的知识点。

2.6.1 什么是三级模式和二级映像?有哪些优点

【选自CSDN笔试题】

试题题面:什么是三级模式和二级映像?有哪些优点?

题面解析:本题主要考查三级模式和二级映像,应聘者需要知道什么是三级模式和二级映像,三级模式和二级映像优缺点有哪些等。全方面地了解该问题所涉及的知识,这样会使回答问题变得更加容易。

解析过程:数据库系统的三级模式是数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能够逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了二级映像:外模式/模式映像和模式/内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

1.外模式/模式

对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系(这些映像定义通常包含在各自外模式的描述中)。当模式发生改变时(例如増加新的关系、新的属性,更改数据的逻辑独立性,改变属性的数据类型等),DBA对各个外模式/模式的映像作相应改变,可以使外模式保持不变。这体现了数据的逻辑独立性。

2.模式/内模式

一个数据库系统存在一个唯一的模式/内模式映像,它定义了数据库全局逻辑结构与存储结构之间的对应关系(该映像定义通常包含在模式描述中)。

当数据库的存储结构改变了(例如选用了另一种存储结构),由DBA对模式/内模式映像作相应改变,可以使模式保持不变。这体现了数据的物理独立性。

三级模式和二级映像的优点:

数据库的二级映像保证了数据库外模式的稳定性,从而在底层保证了应用程序的稳定性;数据和程序之间的独立性使得数据的定义和描述可以从应用程序中分离出去。另外,由于数据存取由DBMS管理,用户不必考虑存取路径等细节,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。

2.6.2 什么是视图,是否可以更改

【选自GG笔试题】

试题题面:什么是视图,是否可以更改?

题面解析:本题也是在大型企业的面试中最常问的问题之一,主要考查关于视图的知识点。

解析过程:视图看上去非常像数据库的物理表,对它的操作同任何其他的表一样。当通过视图修改数据时,实际上是在改变基本表(即视图定义中涉及的表)中的数据;相反地,基本表数据的改变也会自动反映在由基本表产生的视图中。由于逻辑上的原因,有些Oracle视图可以修改对应的基本表,有些则不能(仅仅能查询)。

2.6.3 关系数据库和文件系统有什么区别

【选自BD笔试题】

试题题面:关系数据库和文件系统有什么区别?

题面解析:本题主要考查关系数据库和文件系统,应聘者需要知道什么是关系数据库和文件系统,另外就是关系数据库和文件系统有什么区别。全方面地了解该问题所涉及的知识,这样会使回答问题变得更加容易。

解析过程:

1.文件系统

文件系统是操作系统的子系统,用于操作系统明确存储设备或分区上的文件的方法和数据结构。文件系统由三部分组成:文件系统的接口、对象操纵和管理的软件集合(文件的删除、复制、粘贴等)、对象及属性。

2.数据库系统

数据库系统主要包括数据库以及DBMS。

3.文件系统和数据库系统的区别

(1)管理对象不同。

两者之间最显而易见的区别就是:文件系统是以文件为载体记录数据的,管理系统也记载着这些数据的文件,但并不是数据本身,文件的各种形式对应着不同的数据结构。

数据库系统管理的是数据本身,在数据库内的任何操作都会立刻影响到数据。

(2)存储数据方式不同。

文件系统用文件将数据长期保存在外存上(文件可以有很多不同的形式,不同后缀的文件就相当于不同的数据结构)。

数据库系统用数据库统一存储数据。

(3)程序与数据关系不同。

文件系统中,程序访问数据是直接访问的,对数据的查询修改必须在程序内完成,而这依赖于开发者对文件的逻辑及物理结构非常清楚。

数据库系统中,数据不再仅仅服务于某个程序或用户,而是以单位的形式共享出来,统一由DBMS软件管理。由于程序对数据的操作都是通过DBMS实现的,因此程序和数据是相互独立的,可以在更高的抽象级别中观察和访问数据。

4.文件系统的优缺点

(1)优点。

由于数据的冗余,因此在高可用方面的表现文件系统远远优于数据库系统。在海量存储方面,大量的冗余带来了更大的容错能力;分布式方案的出现让文件系统能够在海量数据面前大显身手,极强的可扩展性带来极好的数据存储能力。

(2)缺点。

文件系统编写应用程序不方便,往往程序需要随着文件的变化而修改;文件系统中的文件不能满足各种程序的需要,因此同一数据往往会以不同的文件形式储存,造成数据的冗余和不一致性;文件系统不支持对文件的并发访问;文件系统中的数据缺少统一的管理,表现在数据结构、编码、表示格式、命名以及输出格式等不容易做到规范化、标准化,因此数据的安全性和保密性面临更大的挑战。

5.数据库系统的优缺点

(1)优点。

由于DBMS的存在,用户不再需要了解数据存储和其他实现的细节,直接通过DBMS就能获取数据,为数据的使用带来极大的便利;具有以数据为单位的共享性、数据的并发访问能力。DBMS保证了并发访问时数据的一致性;低延时访问,典型例子就是线下支付系统的应用,支付规模巨大时,数据库系统的表现远远优于文件系统;能够较为频繁地对数据进行修改,在需要频繁修改数据的场景下,数据库系统可以依赖DBMS来对数据进行操作且性能的消耗相比文件系统小;对事务的支持,DBMS支持事务,即一系列对数据的操作集合要么都完成,要么都不完成。在DBMS上对数据的各种操作都是原子级的。

(2)缺点。

由于DBMS的存在,在简单的不需要数据共享的场景下,性能不如文件系统;由于数据没有冗余,在高可用方面有一定的隐患,只能通过备份解决;面对海量数据的应用场景很被动,表现不佳。