Database工程师面试笔试题目及答案.docxVIP

  • 1
  • 0
  • 约1.05万字
  • 约 26页
  • 2026-05-11 发布于四川
  • 举报

Database工程师面试笔试题目及答案

数据库基础理论

1.解释关系型数据库的ACID属性,并举例说明在事务处理中每个属性的重要性。

答案:

原子性(Atomicity):事务是一个不可分割的工作单位,事务中的操作要么全部发生,要么全部不发生。例如,银行转账涉及从A账户扣款和向B账户加款两个操作。原子性确保这两个操作作为一个整体,如果加款失败,扣款也必须回滚,防止A账户的钱凭空消失。

一致性(Consistency):事务必须使数据库从一个一致的状态转换到另一个一致的状态。一致性由应用层和数据库约束(如主键、外键、唯一约束、CHECK约束)共同保证。例如,转账前后,两个账户的总金额应保持不变(假设无手续费),这属于业务逻辑一致性。

隔离性(Isolation):多个事务并发执行时,一个事务的执行不应影响其他事务。数据库通过隔离级别(如读未提交、读已提交、可重复读、序列化)来控制。例如,避免在事务A读取某行数据并计算期间,事务B修改了该行数据,导致A基于旧数据做出错误决策(脏读、不可重复读、幻读)。

持久性(Durability):一旦事务提交,其对数据库的修改就是永久性的,即使后续系统发生故障也不会丢失。这主要通过预写式日志(WAL)技术实现,即先将要修改的数据页变化记录到持久化的日志文件中,再实际修改数据页。这样,即使数据库崩溃,重启后也能通过重做日志恢复已提交的事务。

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档