DBMS 访谈问题 和答案28 Apr 2025 | 24 分钟阅读 下面列出了一些最常被问到的 DBMS 访谈问题及答案。 ![]() 1) 什么是 DBMS?DBMS 是一组程序,可帮助用户创建和维护数据库。换句话说,DBMS 为我们提供了一个接口或工具,用于执行各种操作,例如创建数据库、向其中插入数据、从中删除数据、更新数据等。与基于文件系统相比,DBMS 是一种更安全的数据存储软件。使用 DBMS,我们可以克服许多问题,例如:数据冗余、数据不一致、易于访问、更有组织和易于理解等等。一些流行的数据库管理系统包括:MySQL、Oracle、SQL Server、Amazon Simple DB(基于云)等。 DBMS 的工作原理如下图所示。 ![]() 欲了解更多信息: 点击这里 2) 什么是数据库?数据库是数据的逻辑的、一致的和有组织的集合,可以轻松地访问、管理和更新。数据库,也称为电子数据库,结构化以提供高效地创建、插入、更新数据的设施,并以文件或文件集的形式存储,存储在磁性磁盘、磁带和其他类型的辅助设备上。数据库主要包含对象(表),表包含记录和字段。字段是数据存储的基本单元,其中包含有关数据库所描述的实体的特定方面或属性的信息。DBMS 用于以查询的形式从数据库中提取数据。 欲了解更多信息: 点击这里 3) 什么是数据库系统?数据库和 DBMS 软件的集合称为数据库系统。通过数据库系统,我们可以执行许多活动,例如: 数据可以轻松地存储在数据库中,并且没有数据冗余和数据不一致的问题。 需要时,将使用 DBMS 软件从数据库中提取数据。因此,数据库和 DBMS 软件的结合使人们能够以相当高的准确性和安全性存储、检索和访问数据。 4) DBMS 的优点是什么?
欲了解更多信息: 点击这里 5) 什么是 DBMS 中的检查点?检查点是一种机制,其中所有先前的日志都从系统中删除并永久存储在存储磁盘中。 有两种方法可以帮助 DBMS 恢复和维护 ACID 属性,它们是:维护每个事务的日志并维护影子页面。因此,当涉及到基于日志的恢复系统时,就会出现检查点。检查点是数据库引擎在崩溃后可以从中恢复的、指定的最小点,从中可以使用事务日志记录来恢复直到崩溃发生的所有已提交数据。 6) DBMS 中的检查点何时发生?检查点就像 DBMS 状态的快照。使用检查点,DBMS 可以减少在发生后续崩溃时重新启动时需要完成的工作量。检查点用于系统崩溃后的数据库恢复。检查点用于基于日志的恢复系统。当由于系统崩溃我们需要重新启动系统时,在这一点上我们使用检查点。这样,我们就无需从头开始执行事务。 7) 什么是透明 DBMS?透明 DBMS 是一种 DBMS,它将物理结构隐藏起来不让用户看到。物理结构或物理存储结构指的是 DBMS 的内存管理器,它描述了数据如何在磁盘上存储。 8) 关系代数中的一元操作有哪些?投影和选择是关系代数中的一元操作。一元操作是指使用单个操作数的操作。一元操作包括选择、投影和重命名。 例如,在选择关系运算符中,使用了 =,<,>= 等。 9) 什么是 RDBMS?RDBMS 代表关系数据库管理系统。它用于在表中维护数据记录和索引。RDBMS 是 DBMS 的一种形式,它使用结构来识别和访问与其他数据库数据相关的。RDBMS 是一个系统,它使您能够以最小的困难执行各种操作,例如:更新、插入、删除、操作和管理关系数据库。大多数时候,RDBMS 使用 SQL 语言,因为它易于理解且经常使用。 欲了解更多信息: 点击这里 10) 有多少种数据库语言?有四种类型的数据库语言
数据库语言是指用于更新、修改和操作数据的查询。 欲了解更多信息: 点击这里 11) 您如何理解数据模型?数据模型被指定为一组用于描述数据、数据关系、数据语义和约束的概念工具。这些模型用于描述实体及其属性之间的关系。 有许多数据模型
欲了解更多信息: 点击这里 12) 定义关系模式和关系。关系模式指定为一组属性。它也称为表模式。它定义了表的名称。关系模式称为蓝图,借助它可以解释数据如何组织成表。此蓝图不包含任何数据。 关系指定为一组元组。关系是由标识键属性的关系属性集。 请看这个例子 令 r 为包含元组集 (t1, t2, t3, ..., tn) 的关系。每个元组是 n 个值的有序列表 t=(v1,v2, ...., vn)。 13) 关系的度是多少?关系的度是关系模式的属性数量。关系的度也称为基数,它定义为一个实体在另一个实体中发生的次数。关系的度有三种:一对一 (1:1)、一对多 (1:M)、多对一 (M:M)。 14) 什么是关系?关系定义为两个或多个实体之间的关联。DBMS 中有三种关系类型: 一对一:在这里,任何对象的单个记录可以与另一个对象的单个记录相关联。 一对多(多对一):在这里,任何对象的单个记录可以与另一个对象的许多记录相关联,反之亦然。 多对多:在这里,一个对象的多个记录可以与另一个对象的 n 个记录相关联。 15) 文件处理系统的缺点是什么?
欲了解更多信息: 点击这里 16) 什么是 DBMS 中的数据抽象?DBMS 中的数据抽象是隐藏用户不相关细节的过程。由于数据库系统由复杂的数据结构组成,因此它使用户能够与数据库进行交互。 例如:我们知道大多数用户更喜欢具有简单 GUI 的系统,这意味着没有复杂的处理。因此,为了保持用户参与并简化数据访问,有必要进行数据抽象。此外,数据抽象将系统划分为不同的层,以使工作明确且定义良好。 欲了解更多信息: 点击这里 17) 数据抽象有三个级别是什么?以下是数据抽象的三个级别 物理级别:它是最低的抽象级别。它描述了数据是如何存储的。 逻辑级别:它是下一个更高级别的抽象。它描述了数据库中存储了什么数据以及这些数据之间的关系。 视图级别:它是最高级别的数据抽象。它只描述了整个数据库的一部分。 例如 - 用户通过 GUI 与系统交互并填写所需详细信息,但用户不知道数据是如何使用的。因此,视图级别的抽象级别非常高。 然后,下一个级别是为程序员设计的,因为在这个级别上,字段和记录是可见的,程序员知道这一层。因此,在视图级别,抽象级别略低。 最后,物理级别描述了存储块。 欲了解更多信息: 点击这里 18) 什么是 DDL(数据定义语言)?数据定义语言 (DDL) 是用于定义数据库中不同结构的命令的标准。最常用的 DDL 语句是 CREATE、ALTER 和 DROP。这些命令用于更新数据库中的数据。 欲了解更多信息: 点击这里 19) 什么是 DML(数据操作语言)?数据操作语言 (DML) 是一种使用户能够访问或操作由适当数据模型组织的数据的语言。例如:SELECT、UPDATE、INSERT、DELETE。 DML 有两种类型 过程式 DML 或低级 DML:它要求用户指定需要哪些数据以及如何获取这些数据。 非过程式 DML 或高级 DML:它要求用户指定需要哪些数据,而不指定如何获取这些数据。 欲了解更多信息: 点击这里 20) 解释 DML 编译器的功能。DML 编译器将 DML 语句翻译成查询评估引擎可以理解的查询语言。需要 DML 编译器是因为 DML 是一系列语法元素,它与需要编译的其他编程语言非常相似。因此,将代码编译成查询评估引擎可以理解的语言,然后正确处理这些查询至关重要。 欲了解更多信息: 点击这里 21) 什么是关系代数?关系代数是一种过程式查询语言,它包含一组操作,这些操作以一个或两个关系作为输入并产生新的关系。关系代数是关系模型的基本操作集。关系代数决定性的点在于它类似于对数字进行运算的代数。 关系代数有几个基本操作
欲了解更多信息: 点击这里 22) 什么是关系演算?关系演算是一种非过程式查询语言,它使用数学谓词演算代替代数。关系演算不基于代数、微分、积分等数学基本原理。因此,它也被称为谓词演算。 关系演算有两种类型
欲了解更多信息: 点击这里 23) 您如何理解查询优化?查询优化一词指定了一种高效的执行计划,用于评估具有最低估计成本的查询。当存在许多针对同一任务的方法和算法时,查询优化概念就出现了,这时就会出现哪个更有效的问题,而确定有效方法的过程称为查询优化。 查询优化有许多好处
欲了解更多信息: 点击这里 24) DBMS 中的持久性意味着什么?一旦 DBMS 通知用户事务已成功完成,即使系统在所有更改反映在磁盘上之前崩溃,其效果也应持续存在。此属性称为持久性。持久性确保一旦事务提交到数据库,它将存储在非易失性内存中,之后系统故障就不会再影响该数据。 25) 什么是规范化?规范化是根据函数依赖分析给定关系模式的过程。它用于最小化冗余,也用于最小化插入、删除和更新异常。规范化被认为是一个重要的过程,因为它用于避免数据冗余、插入异常、更新异常、删除异常。 最常用的范式有
欲了解更多信息: 点击这里 26) 什么是反规范化?反规范化是提高数据库性能和添加冗余数据以摆脱复杂数据的过程。反规范化是数据库优化技术的一部分。此过程用于避免使用复杂且昂贵的连接。反规范化不指不规范化的想法,而是指在规范化之后进行反规范化。在此过程中,首先使用规范化过程删除数据的冗余,然后通过反规范化过程根据需要添加冗余数据,以便我们可以轻松地避免昂贵的连接。 欲了解更多信息: 点击这里 27) 什么是函数依赖?规范化的基础是函数依赖。当两个特征之间存在关联,可以唯一确定相关属性的值时,就会出现函数依赖。函数依赖是指当关系中的一个特征唯一确定另一个属性时产生的关联。有时也称为数据库依赖。符号 A->B 表示 B 依赖于 A 才能运行。 欲了解更多信息: 点击这里 28) 什么是 E-R 模型?E-R 模型是实体-关系模型的简称。该模型基于现实世界。它包含必要对象(称为实体)以及这些对象之间的关系。这里的主要对象是实体、该实体的属性、关系集、该关系集的属性可以以 E-R 图的形式映射。 在 E-R 图中,实体由矩形表示,关系由菱形表示,属性是实体的特征并由椭圆形表示,数据流通过直线表示。 欲了解更多信息: 点击这里 29) 什么是实体?实体是数据库中的一组属性。实体可以是现实世界中实际存在的对象。所有实体都有其属性,在现实世界中,这些属性被认为是对象的特征。 例如:在公司的员工数据库中,员工、部门和职位可以被视为实体。这些实体具有一些特征,这些特征将是相应实体的属性。 30) 什么是实体类型?实体类型被指定为具有相同属性的实体集合。实体类型通常对应于数据库中的一个或多个相关表。定义或唯一标识实体的特征或特性称为实体类型。 例如,学生具有 student_id、department 和 course 作为其特征。 31) 什么是实体集?实体集指定数据库中特定实体类型的实体的集合。实体集被称为具有相同属性的所有实体的集合。 例如,一群人、一群学生、一群公司等。 32) 什么是实体类型的扩展?实体类型的扩展被指定为分组到实体集中的特定实体类型的实体的集合。 33) 什么是弱实体集?没有足够属性形成主键的实体集称为弱实体集。弱实体集的成员称为从属实体。弱实体集没有主键,但我们需要一种方法来区分依赖于某个特定强实体集的实体集中的所有条目。 34) 什么是属性?属性是指数据库组件。它用于描述实体的属性。属性可以定义为实体的特征。可以使用属性唯一地标识实体。属性表示数据库行中的实例。 例如:如果一个学生是表中的一个实体,那么年龄就是该学生的属性。 35) DBMS 中的完整性规则是什么?数据完整性是在维护数据库时的一个重要方面。因此,通过强制执行一系列规则来在数据库系统中强制执行数据完整性。这些完整性集称为完整性规则。 DBMS 中有两种完整性规则 实体完整性:它指定“主键不能为 NULL 值”。 参照完整性:它指定“外键可以为 NULL 值,或者应该是其他关系的PRIMARY KEY值”。 欲了解更多信息: 点击这里 36) 您如何理解扩展和意图?扩展:扩展是任何时刻表中存在的元组数量。随着元组的创建、更新和销毁而变化。数据库中的实际数据变化相当频繁。因此,数据库在特定时间点的数据称为扩展或数据库状态或快照。它依赖于时间。 意图:意图也称为数据模式,定义为数据库的描述,该描述在数据库设计期间指定,并且预期保持不变。意图是一个恒定的值,它给出表的名称、结构以及施加在其上的约束。 37) 什么是 System R?它有两个主要子系统是什么?System R 于 1974 年至 1979 年在 IBM San Jose Research Centre 设计和开发。System R 是 SQL(标准关系数据查询语言)的第一个实现,它也是第一个证明 RDBMS 可以提供更好的事务处理性能的系统。它是一个原型,旨在表明可以构建一个可以在现实环境中用于解决现实问题的关系系统。 以下是 System R 的两个主要子系统
38) 什么是数据独立性?数据独立性指定“应用程序独立于数据的存储结构和访问策略”。它使您能够在不改变上一级模式定义的情况下修改某一级别的模式定义。 它使您能够修改一个级别的模式定义,而不影响上一级别的模式定义。 有两种数据独立性 物理数据独立性:物理数据是存储在数据库中的数据。它是位格式。物理级别的修改不应影响逻辑级别。 例如:如果我们想操作任何表中的数据,不应该改变表的格式。 逻辑数据独立性:逻辑数据是关于数据库的数据。它基本上定义了结构。例如存储在数据库中的表。逻辑级别的修改不应影响视图级别。 例如:如果我们想修改任何表的格式,这种修改不应该影响其中的数据。 注意:逻辑数据独立性更难实现。欲了解更多信息: 点击这里 39) 什么是 JOIN?JOIN 操作是关系代数中最有用的活动之一。它是组合来自两个或多个关系的信息的最常用方法。JOIN 始终基于相同或相关的列进行。SQL 中最复杂的查询涉及 JOIN 命令。 有以下类型的 JOIN
欲了解更多信息: 点击这里 40) 什么是 1NF?1NF 是第一范式。它是您可以在数据库中实现的 सर्वात简单的规范化类型。1NF 的主要目标是
欲了解更多信息: 点击这里 41) 什么是 2NF?2NF 是第二范式。如果表满足以下条件,则称该表为 2NF
欲了解更多信息: 点击这里 42) 什么是 3NF?3NF 代表第三范式。如果数据库满足以下条件,则称其为 3NF
其中 欲了解更多信息: 点击这里 43) 什么是 BCNF?BCNF 代表Boyce-Codd 范式。它是 3NF 的高级版本,因此也称为 3.5NF。BCNF 比 3NF 更严格。 如果表满足以下条件,则符合 BCNF
欲了解更多信息: 点击这里 44) 解释 ACID 属性ACID 属性是一些基本规则,每个事务都必须满足这些规则才能保持完整性。这些属性和规则是 原子性:原子性通常被称为“全有或全无规则”。这意味着所有操作都被视为一个单元,它们要么全部完成,要么根本不执行。 一致性:此属性指数据的统一性。一致性意味着数据库在事务之前和之后都是一致的。 隔离性:此属性规定,多个事务可以并发执行,而不会导致数据库状态不一致。 持久性:此属性确保一旦事务提交,它将存储在非易失性内存中,并且系统崩溃也不会再影响它。 欲了解更多信息: 点击这里 45) 什么是存储过程?写入并存储在数据库中的 SQL 语句集合称为存储过程。存储过程促进了可重用性,因为代码或过程被保存在系统中并反复使用,这有助于工作,减少处理时间,并简化系统。换句话说,如果您有需要频繁使用的代码,请将其存储并随时使用。 欲了解更多信息: 点击这里 46) DELETE 命令和 TRUNCATE 命令有什么区别?DELETE 命令:DELETE 命令用于根据 WHERE 子句中提供的条件从表中删除行。
TRUNCATE 命令:TRUNCATE 命令用于从表中删除所有行(全部数据)。它类似于没有 WHERE 子句的 DELETE 命令。
欲了解更多信息: 点击这里 47) 什么是 2 层架构?2 层架构与基本的客户端-服务器架构相同。在两层架构中,客户端的应用程序可以直接与服务器端的数据库通信。 ![]() 48) 什么是 3 层架构?3 层架构在客户端和服务器之间增加了另一层。引入 3 层架构是为了方便用户,因为它提供了 GUI,使系统更安全、更易于访问。在此架构中,客户端的应用程序与服务器上的应用程序进行交互,然后该应用程序与数据库系统进行通信。 ![]() 49) 如何与 RDBMS 通信?您必须使用结构化查询语言 (SQL) 来与 RDBMS 通信。使用 SQL 的查询,我们可以向数据库提供输入,然后在处理完查询后,数据库将为我们提供所需的输出。 50) 共享锁和排他锁有什么区别?共享锁:读取数据项需要共享锁。在共享锁中,多个事务可以持有同一数据项的锁。当允许多个事务读取数据项时,这称为共享锁。 排他锁:当任何事务即将执行写操作时,数据项上的锁就是排他锁。因为,如果我们允许多个事务,那将导致数据库不一致。 51) 描述各种键的类型?有以下类型的键 主键:主键是表中的一个属性,可以唯一标识表中的每个记录。它对每个表都是必需的。 候选键:候选键是属性或属性集,它可以唯一标识一个元组。主键可以从这些属性中选择。 超键:超键是属性集,它可以唯一标识一个元组。超键是候选键的超集。 外键:外键是来自一个表的 PRIMARY KEY,它与另一个表有关系。它充当表之间的交叉引用。 欲了解更多信息: 点击这里 52) OLAP 数据库与 OLTP 数据库有什么区别?为了支持日常运营,OLTP(在线事务处理)数据库专为事务处理而设计,重点是快速和并发的数据更新。另一方面,OLAP(在线分析处理)数据库提供高级查询功能和聚合功能,用于数据分析和决策制定。它们是为分析处理和报告而设计的。 欲了解更多信息: 点击这里 53) 在 DBMS 中,数据库管理员 (DBA) 的职能是什么?数据库系统的运行和管理由数据库管理员 (DBA) 负责。除了维护数据安全性和完整性外,他们还负责设计和实施数据库架构、管理用户访问和权限、优化数据库性能以及执行恢复和备份过程。 欲了解更多信息: 点击这里 54) 描述参照完整性的数据库管理概念。参照完整性规则可确保跨链接表的数据的准确性和一致性。为避免出现孤立或不正确条目的情况,它要求一个表中的外键值与另一个表中的主键值匹配。 欲了解更多信息: 点击这里 55) 在什么情况下索引很有用?当数据库需要确保唯一性或在排序变得更简单、更快时,应使用索引。索引通常是用于查询中通常访问的列的合适选择。 欲了解更多信息: 点击这里 56) 如何与 RDBMS 通信?结构化查询语言 (SQL) 用于与 RDBMS 通信。数据库以 SQL 查询的形式接收输入,然后对其进行评估以提供所需的输出。 欲了解更多信息: 点击这里 57) 临时表在什么情况下有用,它们又是什么?仅使用一次或在事务期间使用的表称为临时表。它们经常用于支持特殊的汇总或与应用程序处理相关的需求。临时表在添加行时动态分配空间,并且不像永久表那样具有预分配的空间。Oracle 中的 CREATE GLOBAL TEMPORARY TABLE 命令经常用于创建临时表。 欲了解更多信息: 点击这里 58) 谈谈数据仓库。数据仓库是指从多个来源收集、移除、处理并将数据导入单个数据库的过程。它接收来自关系数据库和事务系统的数据,充当数据分析的中央存储库。数据仓库有利于存储历史数据并有助于决策。 欲了解更多信息: 点击这里 59) SQL 中的“子查询”一词是什么意思?子查询是一个嵌套在另一个查询中的查询;有时也称为内部查询。它用于获取从另一个查询结果派生的信息。 欲了解更多信息: 点击这里 60) 描述数据库的意图和扩展之间的区别。答案是,数据库中的意图与数据库的模式或设计有关,通常是不可变的。然而,随着元组的添加、更改或删除,扩展会发生变化,以反映数据库中在那一特定时刻存储的实际数据。 61) 解释活锁。活锁发生在两个或多个操作通过持续交互来响应其他进程的变化时。在这种情况下,进程正在连续运行但没有取得进展。活锁与死锁相反,死锁是指进程正在积极运行但未能达到预期结果。 62) 您如何理解数据字典?数据字典是数据库中的数据存储库。每次使用数据定义语言语句时,数据字典都会更新。以下是数据字典的列表
欲了解更多信息: 点击这里 63) 什么是泛化?泛化是特化的逆过程。它是一个自底向上的设计过程。它将共享相似特征的多个实体集合并到一个更高级别的实体集中。 欲了解更多信息: 点击这里 64) 聚合一词是什么意思?这是通过组合实体组及其关系来创建一个更高级别实体组的过程,以表示关系之间的关系。 欲了解更多信息: 点击这里 65) 列出关系模型的各种优点。
66) 主键和唯一键有什么区别?
欲了解更多信息: 点击这里 67) 使用视图的目的是什么?
欲了解更多信息: 点击这里 68) 时间戳一词是什么意思?时间戳是数据库系统分配的唯一标识符,允许系统识别事务的顺序。 69) 层次数据模型的优点是什么?
70) 在系统中发生死锁所需的条件是什么?
71) 您如何理解数据库恢复?它是 DBMS 提供的一项服务,可确保数据库有效并保持正确状态,方法是在发生故障之前,根据给定的一组输入值生成一组正确的数据值。 72) 您如何理解权限?权限是操作命名对象的权利,方式特定。权限主要有两种类型
73) 什么是参照完整性?参照完整性意味着一个表中的列必须与另一个表中的列相关。它也称为外键。 74) 什么是数据库缓存?数据库缓存是一种提高从硬盘读取或写入数据所需时间的方法。 75) 您如何理解数据库日志?通常写入持久存储的日志包含从易失性存储故障和事务或数据库系统检测到的错误中恢复所需的冗余数据。 76) 关系模型中的 NULL 一词代表什么?在关系模型中,NULL 值不等于零或空白。它表示表中没有输入。 77) 您如何理解查询语言?查询语言是一种用户从数据库请求和检索信息的语言。 78) 您如何理解 ER 模型中的关系度?在实体关系模型中,度一词指的是与关系相关的实体数量。 79) 您如何理解关系的方向?关系的方向表明二元关系的原始实体是该实体。形成关系的实体是父实体,终止关系的实体是子实体。 80) 列出 ER 模型中各种类型的属性?
欲了解更多信息: 点击这里 81) 您如何理解关系模型中的域?它包含一组出现在特定域属性下的合法值。 |
我们请求您订阅我们的新闻通讯以获取最新更新。