数据库基础常见面试题总结
数据库面试的第一层考的是概念是否清晰:数据、管理系统、事务与模型边界搞混,后面 MySQL 细节很难串起来。
四个层次别混用
DB 是存数据的集合;DBMS 是管理数据的软件(MySQL、PostgreSQL);DBS 是硬件+软件+人+应用的系统;DBA 负责设计、备份、权限与性能。日常说「连 MySQL」其实连的是 DBMS,里面可以托管多个逻辑库。
DBMS 在干什么
四大职能可以记成「定义—操作—控制—维护」:DDL 管结构,DML 管 CRUD,并发/事务/权限管正确性与安全,导入导出与备份管生命周期。SQL 只是对外接口,底层还有缓冲池、锁、日志等机制。
关系型 vs NoSQL 怎么选
关系型擅长结构化数据与强一致事务;NoSQL 在水平扩展、灵活 schema、特定访问模式上更顺手。选型看访问模式与一致性要求,而不是流行度。
事务 ACID 要点
原子性靠 undo,持久性靠 redo+binlog,隔离性靠锁与 MVCC,一致性是最终目标。并发下脏读、不可重复读、幻读分别对应不同隔离级别权衡。
数据模型与范式
概念模型(ER)到逻辑模型(表)再到物理模型(索引分区)是设计主线。范式减少冗余,但过度范式带来多表 JOIN;反范式用可控冗余换读性能。主键、候选键、外键约束要在「数据库 enforce」与「应用 enforce」之间做选择,互联网业务常弱化物理外键,但逻辑关系必须在代码与任务里补偿。
并发控制初识
乐观锁版本号、悲观锁 SELECT FOR UPDATE、分布式锁各适用不同冲突概率场景。读多写少且冲突低用乐观;库存扣减等高冲突写路径需悲观或原子 SQL(UPDATE … WHERE qty >= 1)。
实践复习清单
四概念口述;DBMS 四大功能举例;ACID 与日志对应;范式与反范式案例;NoSQL 四类场景;ER 到表设计一练。
常见坑
- 把数据库当文件柜,不做范式与冗余设计,后期改表代价巨大。
- 外键在应用层维护却没有任何一致性补偿。
- 认为 NoSQL 完全不要 schema,文档结构失控同样难维护。
总结与自测
DB 与 DBMS 区别;ACID 含义;范式目的;NoSQL 四类;ER 图作用。概念题要能各举一线业务例子,避免空泛定义。

