目录[隐藏][展示]
- 1. 数据库是什么意思?
- 2. DBMS 是什么意思?
- 3. 解释各种 DBMS 语言。
- 4.列出DBMS的几个优点?
- 5. 提及 DBMS 对传统基于文件的系统的缺点。
- 6. DBMS 中的 ACID 属性是什么意思?
- 7. SQL 在 DBMS 中起什么作用?
- 8. 空格或零在数据库中算作 NULL 值吗?
- 9. 数据仓库到底是什么?
- 10. DBMS 检查点是什么意思?
- 11. 描述各种 DBMS 数据抽象层。
- 12.“查询优化”对您意味着什么?
- 13. 实体关系建模:它是什么?
- 14. 数据库管理系统中的“实体”、“实体类型”和“实体集”是什么意思?
- 15.什么是连接,DBMS中有哪些关系?
- 16. RDBMS 到底是什么?
- 17. 数据库中的术语“内涵”和“外延”是什么意思?
- 18. 归一化的方法有哪些,“归一化”一词是什么意思?
- 19. 描述一把锁。 应该解释数据库事务期间共享锁和排他锁之间的主要区别。
- 20. 术语“规范化”和“非规范化”是什么意思?
- 21. 描述数据库分区及其意义。
- 22. 术语“主动”、“追溯”和“同步更新”对您意味着什么?
- 23. “光标”这个词对你意味着什么? 描述多种游标。
- 24. 描述网络和分层数据库模型之间的差异。
- 25. 描述 MongoDB。
- 26. 描述 2 层和 3 层 DBMS 系统之间的差异。
- 27. 在数据库中,术语“散列”是什么意思?
- 28. 数据库管理员在 DBMS 中扮演什么角色?
- 结论
数据可以在世界任何地方找到! 在今天的市场上,每天产生超过 2.5 万亿字节的数据。
我们都必须使用数据库管理系统 (DBMS) 分析这些数据并提供所需的结果。 另一方面,拥有 DBMS 知识可以作为数据库管理员工作。
鉴于您正在阅读这篇关于 DBMS 面试问题的文章,我假设您已经了解这些细节。 任何从事数据分析的职业都必须从对数据库管理系统 (DBMS) 的深入了解开始。
构建有效的数据库系统需要能够组织、评估、检查和理解大量数据。
以下是一些 DBMS 面试问题,可帮助您在下一次工作面试中取得成功,并获得您梦寐以求的职位,无论您是已经开始从事数据分析工作还是刚刚开始工作。
为了您的利益,最重要的 DBMS 面试问题已汇总到一个列表中,以帮助您在面试中取得好成绩并加强您对该主题的理解。
1. 数据库是什么意思?
数据库是逻辑结构化的数据集合,可以轻松更新、访问和维护。 使用 create 命令生成的任何内容都是数据库对象,并且数据库通常包含具有条目和字段的表或对象的集合。
表中的单个条目由元组或行表示。 提供有关表的特定方面的详细信息的数据存储的基本部分是属性或列。
DBMS 使用用户提供的查询从数据库中检索数据。
2. DBMS 是什么意思?
DBMS 是帮助您创建和管理逻辑连接数据的软件程序。
换句话说,数据库管理系统 (DBMS) 为我们提供了一个接口或工具,用于执行各种操作,包括构建数据库、向其中添加数据、删除数据、更改数据等。
称为数据库管理系统 (DBMS) 的软件使数据能够以比基于文件的系统更安全的方式存储。
3. 解释各种 DBMS 语言。
以下是 DBMS 使用的一些语言:
- DDL(Data Definition Language):定义数据库所需的指令都包含在其中。 CREATE、ALTER、DROP、TRUNCATE、RENAME 等是一些示例。
- DML(数据操作语言):它包括处理数据库中数据所需的命令。 示例包括 SELECT、UPDATE、INSERT、DELETE 等。
- DCL(数据控制语言):它包括处理用户权限和数据库系统控制所必需的命令。 例如,GRANT 和 REVOKE。
- TCL(事务控制语言):它包括必须用于管理数据库事务的命令。 例如,COMMIT、ROLLBACK 和 SAVEPOINT。
4.列出DBMS的几个优点?
- 多个用户可以同时从同一个数据库交换数据。 此外,这种共享使用户可以快速响应数据库环境的变化。
- 多个用户可以同时查看同一个数据库的数据。
- 通过引入将所有数据统一到单个数据库中的系统来减少数据库中的重复。
- 必要时,可以恢复数据库中的数据,并且可以编程自动创建数据的备份。
- 允许修改数据格式,同时保持所有正在运行的应用程序进程的构成。
5. 提及 DBMS 对传统基于文件的系统的缺点。
由于没有索引,我们被迫扫描典型基于文件的系统中的每一页,这使得内容访问既耗时又缓慢。
冗余和不一致是其他问题,因为文件经常包含冗余和重复数据,并且更改其中一个会使它们都不一致。
由于数据是杂乱无章的,因此传统的基于文件的系统的数据访问更具挑战性。 另一个缺点是缺乏并发控制,这会阻止许多操作同时处理同一个文件,而是强制一个操作锁定整个页面。
数据库管理系统还解决了传统的基于文件的系统的问题,包括完整性检查、数据分离、原子性、安全性等。
6. DBMS 中的 ACID 属性是什么意思?
为了保持数据完整性必须遵循的基本准则是数据库管理系统的 ACID 特性。 它们是:
- 原子性——也称为“全有或全无”原则,原子性认为对单个单元的每次评估要么完全执行,要么根本不执行。
- 一致性:该属性表明数据库中的数据在每个事务之前和之后都是不变的。
- 隔离——这个属性定义了许多事务可以同时发生。
- 持久性——此属性确保每笔交易在完成后都会记录在非易失性内存中。
7. SQL 在 DBMS 中起什么作用?
SQL代表结构化查询语言,其主要功能是通过输入和更新/修改数据与关系数据库进行交互。
8. 空格或零在数据库中算作 NULL 值吗?
不,NULL 值与零和空格完全不同,因为它表示分配的值、不可知、不可用或不相关,而不是空格和零,每个都代表一个字符。
9. 数据仓库到底是什么?
数据仓库是从多个来源收集、提取、处理和导入数据以便将其存储在单个数据库中的过程。
数据仓库可以被认为是一个中央存储库,其中数据用于数据分析和来自事务系统和其他关系数据库的流动。
A 数据仓库 包含来自组织的一系列历史数据,用于加强公司内部的决策。
10. DBMS 检查点是什么意思?
Checkpoint 方法会从系统中删除所有以前的日志,并将它们永久保存在存储设备上。
可以帮助 DBMS 恢复和保留 ACID 质量的两种技术包括保留影子页面和保留每个事务的日志。 检查点对于基于日志的恢复机制很重要。
事务日志记录可用于从检查点恢复到崩溃时所有已提交的数据,检查点是数据库引擎在崩溃后可以从中恢复的最小点。
11. 描述各种 DBMS 数据抽象层。
数据抽象正在向用户隐藏不重要的信息,以促进更无缝的交互。 存在三层抽象:
- 物理层:最小的抽象层描述了数据在内存中的物理存储。 顺序和随机访问方法都可用于访问数据。 B+ 树和散列技术用于排列文件。
- 逻辑级别:数据以表格形式保存的级别。 此外,基本结构用于存储不同元素之间的连接。
- 视图级别:它是抽象的最高级别。 只有由行和列表示的真实数据库的一部分可供用户使用。 同一数据库的多个视图是可以想象的。 用户不了解存储和实现细节。
12.“查询优化”对您意味着什么?
查询优化步骤找到具有最低预计成本的评估策略。 当有多种算法和技术可用于解决同一问题时,此阶段变得相关。
以下是查询优化的一些好处:
- 输出交付更快
- 减少 时间复杂度 和空间
- 可以在更短的时间内处理更多的查询。
13. 实体关系建模:它是什么?
这种数据库设计方法使用图表将现实世界中的实际项目描述为实体并显示它们的关系。 这种方法使 DBA 团队更容易理解模式。
14. 数据库管理系统中的“实体”、“实体类型”和“实体集”是什么意思?
实体:如果现实世界中的项目具有与其特定属性相对应的属性,则将其视为实体。 例如,学生、雇员或教师代表一个实体。
实体类型:实体类型被描述为一组具有相似特征的实体。 实体类型由数据库中的一个或多个链接表表示。 可以将实体类型或属性视为专门标识实体的特征。 例如,一个学生代表一个具有学生 ID、学生姓名等特征的对象。
实体集:将数据库中属于某种实体类型的所有实体聚集在一起作为一个实体集。 例如,实体集是所有学生、教职员工、教师等的集合。
15.什么是连接,DBMS中有哪些关系?
在 DBMS 中,关系是两个实体相互连接的情况。 在这种情况下,外键表引用了另一个表的主键。
以下列表包括 DBMS 中的许多关系类型:
- 一对一关系:该术语用于描述表 A 中的一行与表 B 中的一行之间的关系。
- 一对多关系:当表 A 中的一行与表 B 中的多行之间存在关系时使用。
- 多对多关系 - 当表 A 中的大量行可以连接到表 B 中的大量行时使用。
- 自引用关系 – 当表 A 中的一条记录连接到同一表中的另一条记录时使用。
16. RDBMS 到底是什么?
RDBMS 或关系数据库管理系统是这些系统的缩写。 它用于跟踪表索引和数据记录。
RDBMS 是数据库管理系统的一个子集,它使用结构来定位和检索有关其他数据库对象的信息。 关系数据库管理系统 (RDBMS) 使更新、插入、删除、编辑和管理关系数据库变得容易。
大多数时候,RDBMS 使用 SQL 语言,因为它用户友好且经常使用。
17. 数据库中的术语“内涵”和“外延”是什么意思?
数据库中意图和扩展之间的主要区别如下:
意图:意图,有时称为数据库模式,用于描述数据库的描述。 它是在数据库构建过程中建立的,几乎不会改变。
扩展:另一方面,扩展是对任何时候数据库中元组总数的度量。 当在数据库中创建、修改或删除元组时,扩展(也称为数据库快照)的值会不断变化。
18. 归一化的方法有哪些,“归一化”一词是什么意思?
规范化是结构化数据以防止数据重复和冗余的过程。 几个归一化阶段一个接一个,被称为范式。 以下典型形式相互依赖。
前三个范式如下。
NF-1 或第一范式,没有重复分组的行
2NF 代表第二范式。 支持(非键)列的每个值都取决于整个主键。
三范式 (3NF) 仅依赖于主键,不依赖于任何其他支持(非键)列值。
除了这些之外,您还有更高的范式,例如 BCNF。
BNCF – 3NF 的更复杂和严格的变体被称为 3.5NF。 一个表应该在 3NF 中并遵守 BCNF 规则,即 A 应该是表的超级键,用于任何功能依赖 A->B。
19. 描述一把锁。 应该解释数据库事务期间共享锁和排他锁之间的主要区别。
数据库锁是一种安全措施,可防止两个或多个数据库用户一次更新共享数据。
当单个数据库用户或会话获得锁定时,在特定数据库上释放锁定之前,其他数据库用户或会话不能编辑数据。
共享锁:读取一个数据项需要共享锁,许多事务可以在共享锁下对同一个数据项持有一个锁。 共享锁中的数据元素可以被许多事务读取。
排他锁:任何即将进行写操作的事务都有一个锁,称为排他锁。 这种形式的锁禁止多个事务,防止数据库中的任何差异。
20. 术语“规范化”和“非规范化”是什么意思?
规范化过程涉及将数据分解为许多表以减少冗余。 规范化导致更大的磁盘空间利用率,并且更容易保持数据库的完整性。
非规范化与规范化相反,因为它将规范化的表合并为单个表以加快数据检索。 通过翻转规范化,JOIN 操作使我们能够生成数据的非规范化表示。
21. 描述数据库分区及其意义。
逻辑数据库通过数据分区过程被拆分为独立的、自包含的实体,从而提高了可用性、性能和可管理性。
以下是数据库分区很重要的一些原因:
- 提高查询效率
- 使您能够访问某个分区的重要部分
- 数据可以存储在缓慢、廉价的存储设备上。
22. 术语“主动”、“追溯”和“同步更新”对您意味着什么?
主动更新:在数据库在现实世界中生效之前,对其进行了这些调整。
追溯更新:数据库在现实世界中运行后,会对它进行这些追溯修改。
同时更新:这些修改是在它们在现实世界中生效的同一时刻对数据库进行的。
23. “光标”这个词对你意味着什么? 描述多种游标。
游标是便于逐行数据操作并表示结果集的数据库对象。
这些是几种游标:
- 隐式游标:这种游标在 SQL 执行后立即声明。 在这种情况下,不会通知用户光标的声明。
- 显式游标:由于它在多行中处理查询,因此这种游标是由 PL/SQL 描述的游标。
24. 描述网络和分层数据库模型之间的差异。
数据被排列成类似于分层数据库范例中的树的节点。 一个节点只能连接一个父节点。
因此,该模型的数据具有一对多的连接。 Web 浏览器中经常使用的文档对象方法 (DOM) 是该模型的主要示例。
分层模型的改进变体是网络数据库模型。 在这种情况下,数据的排列类似于树。 但是,一个子节点可能链接到多个父节点。
结果,在数据节点之间形成了多对多链接。 网络数据库包括集成数据存储 (IDS) 和 IDMS(集成数据库管理系统)。
25. 描述 MongoDB。
MongoDB 是一个开源、非关系、非结构化的数据库。 您的数据存储在我们面向文档的数据库中由单个文档组成的集合中。
MongoDB 中的文档是一个相当大的 JSON 对象,没有特定的结构或语法。 JSON 文档由 MongoDB 以称为 BSON 的二进制编码格式表示。
26. 描述 2 层和 3 层 DBMS 系统之间的差异。
术语“两层架构”是指客户端-服务器架构,其中运行在客户端上的应用程序直接与运行在服务器上的数据库交互,无需使用任何中间件。
三层设计包括客户端和服务器之间的附加层,为用户提供图形用户界面,使系统更加安全和可访问。 在这种设计形式中,客户端应用程序与服务器端应用程序交互,然后服务器端应用程序与数据库系统对话。
27. 在数据库中,术语“散列”是什么意思?
一串字符被散列成一个键或值,表示原始字符串,但通常固定在较小的长度。 由于使用比原始值更短的散列键查找项目更快,因此散列用于索引和检索数据库中的对象。
28. 数据库管理员在 DBMS 中扮演什么角色?
数据库管理员 (DBA) 在 DBMS 中具有以下关键角色:
- 设置和安装数据库
- 数据迁移
- 绩效评估
- 规划和实施安全措施
- 数据恢复和存储
- 故障排除
结论
提供 DBMS 面试问题和答案的集合作为参考,以便潜在的候选人可以快速轻松地理解这些问题。
总之,我们分析了组织中经常被问到的顶级 DBMS 面试问题。
发表评论