一、这个技术是什么?
应用程序需要保存用户、文章、订单和权限。如果只把数据放在内存里,程序重启后数据就会消失;如果只保存成文件,查询关系和并发修改会越来越困难。
SQL 数据库提供结构化的数据保存、查询、约束和事务能力,解决“数据如何可靠地长期存在并被多个请求共同使用”的问题。
二、没有它之前发生了什么?
数据只存在内存或零散文件中
↓
程序重启会丢数据,查询关系困难
↓
应用自己处理并发、重复和一致性
↓
关系型数据库用表、约束和事务统一管理数据
三、核心概念
1. Table、Row、Column
表表示一类对象,行表示一条记录,列表示记录的属性。
2. Primary Key
主键唯一标识一行数据,是其他表建立关系的重要基础。
3. Index
索引帮助数据库更快定位数据,但会增加写入和存储成本。
4. Transaction
事务把多个操作组合成一个整体,保证操作要么全部成功,要么全部回滚。
5. Constraint
唯一约束、非空约束和外键约束帮助数据库拒绝不符合规则的数据。
四、运行流程
五、面试复习
一句话回答
SQL 数据库用表和关系保存结构化数据,用索引提高查询效率,用约束保证数据质量,用事务保证一组操作的一致性。
高频追问
- 索引为什么能加速查询?
- 事务的 ACID 怎么理解?
- 主键和唯一索引有什么区别?
- 外键一定要使用吗?
容易答错
不要认为索引越多越好。索引会占用空间,并且会让插入、更新和删除更慢。
六、项目展示
知识平台可以用 SQL 保存用户、学习进度和收藏记录,同时继续用 Markdown 保存知识正文,让内容数据和用户行为数据各自使用适合的存储方式。