ARTICLE · 1131307
第1讲:数据库是什么?从Excel崩溃到数据图书馆
第1讲:数据库是什么?从Excel崩溃到数据图书馆
摘要:小公司用Excel管订单,开始很爽,后来崩溃。数据库不是“高级Excel”,而是一座会管理、会保护、会并发的数据图书馆。这一讲,我们用水果店的故事,把数据库讲明白。
一、生活故事:小王的Excel崩溃记
小王开了一家水果店,起初生意简单:每天订单不多,他用一个Excel表格记客户、商品、数量、金额。开始很顺手,想查什么就筛选,想统计就求和。他还得意地跟朋友说:“要什么数据库?Excel就够了。”
但三个月后,麻烦来了。
第一,多人同时编辑。小王和两个店员都要更新订单。小王在电脑上改,店员在手机上改,结果保存时提示“文件已被占用”。强行保存后,一个人的修改覆盖了另一个人的,订单少了三单。
第二,数据重复。同一个客户“李阿姨”,有时写“李阿姨”,有时写“李阿姨(小区店)”,有时写“李姐”。统计客户消费时,系统把它们当成三个人。
第三,查找越来越慢。订单从100条涨到1万条,打开文件要等半天,筛选卡死,电脑风扇狂转。
第四,容易误删。店员不小心删了一列,没有备份,当天数据全没了。
第五,权限混乱。所有人都能看成本价,也能改历史订单,甚至有人把价格改成1元。
小王终于明白:Excel适合个人和小团队做临时表,但当数据变成公司的核心资产,它就不够用了。他需要一个真正的“数据图书馆”——数据库。
二、核心讲解:数据库到底是什么?
一句话:数据库是有组织的数据集合,加上一套专门管理它的软件系统。
这里有两个关键词:
•有组织:不是随便堆在文件夹里,而是按表、行、列、关系来存放。
•专门管理:有一套软件叫 DBMS(数据库管理系统),负责存取、查询、并发、安全、备份。
你可以把数据库想象成一座图书馆:
所以,数据库不是“更高级的Excel”,而是一套完整的数据管理系统。Excel像一张纸,数据库像一座有管理员、有目录、有门禁、有监控、有备份的图书馆。
1. 数据库解决哪些Excel解决不了的问题?
•并发:多人同时读写,不会互相覆盖。
•一致性:转账不会只转一半,订单不会少三单。
•查询:几百万条数据,按索引秒级找到。
•安全:不同角色不同权限,敏感数据加密。
•备份:误删可恢复,磁盘坏了有副本。
•扩展:数据从1万到1亿,有分库分表、分布式方案。
2. 数据库长什么样?
现代数据库最常见的是关系型数据库,数据存在“表”里。表有行和列:
•行:一条记录,比如一笔订单。
•列:一个字段,比如客户、商品、金额。
•主键:唯一标识一行,比如订单ID。
•外键:指向另一张表,比如客户ID指向客户表。
这些概念我们下一讲会详细展开。现在你只需记住:数据库用表来组织数据,用SQL来提问。
3. SQL:向数据库提问的语言
你想查“今天李阿姨买了什么”,就对数据库说:
数据库会利用索引、执行计划,快速返回结果。你不需要告诉它“先翻到第几页、再逐行比较”,你只需要声明你要什么。这就是SQL的魅力。
4. 数据库为什么能扛住多人同时操作?
因为DBMS内部有并发控制和事务管理。
比如小王和店员同时改同一笔订单:
• 没有数据库:两人各改各的,后保存的覆盖先保存的。
• 有数据库:数据库加锁或使用多版本并发控制(MVCC),保证两人不会互相破坏。如果两人改的是同一行,一个会等待,或者收到冲突提示。
再比如转账:
• 从A账户扣100元。
• 给B账户加100元。
• 两步必须同时成功,或者同时失败。
数据库用事务保证这一点:BEGIN开始,COMMIT提交,ROLLBACK回滚。要么全成功,要么全失败。
三、Mermaid图:从Excel崩溃到数据库图书馆

这张图在说什么:左边是Excel和文件管理的典型痛点,右边是数据库系统提供的核心能力。数据库不是单纯“存数据”,而是通过DBMS把组织、查询、并发、安全、备份全部管起来。小王的水果店从Excel升级到数据库,本质上是从“一张纸”升级到“一座图书馆”。
四、ECharts图:数据量增长 vs 查找时间

这张图在说什么:横轴是数据量,纵轴是查找时间。红色线代表手工在Excel里翻找、筛选,数据量越大,时间几乎线性暴涨,1000万条时可能要十几分钟甚至更久。绿色线代表数据库利用索引查询,数据量增长后,时间仍然保持在毫秒到秒级。这就是数据库的核心价值之一:数据越多,越能体现优势。
五、常见误区
误区1:数据库就是Excel的升级版。 不是。Excel是电子表格工具,数据库是数据管理系统。数据库有并发、事务、权限、备份、索引、分布式等能力,Excel基本没有。
误区2:用了数据库就一定快。 不一定。没有索引、SQL写得差、表设计不合理,数据库也会慢。数据库提供的是“可能快”的基础,需要正确使用。
误区3:数据库是程序员才需要学的东西。 产品、运营、数据分析、业务人员都需要懂基本概念。否则你提的需求可能让开发很难实现,或者你看不懂报表为什么慢。
误区4:数据少就不需要数据库。 数据少时Excel确实够用。但一旦涉及多人协作、数据安全、长期积累、复杂查询,数据库就更合适。早点建立数据库思维,未来迁移成本更低。
误区5:数据库一定不会丢数据。 数据库降低了丢数据概率,但不等于绝对安全。没有备份、磁盘损坏、误删、勒索病毒都可能造成损失。备份和恢复是数据库运维的重要部分。
六、专业深水区:数据独立性、ACID与DBMS架构
如果你已经有一定基础,这一节我们往深处走一点。
1. 数据独立性 数据库的一个重要目标是数据独立性。
•物理独立性:数据存在磁盘哪个位置、用什么文件格式,应用不用关心。
•逻辑独立性:表结构增加一列、拆分表,应用尽量不改。 DBMS通过元数据、视图、查询重写等机制实现这种解耦。Excel做不到,因为公式和单元格位置强绑定。
2. ACID 事务的四个特性:
•原子性(Atomicity):要么全做,要么全不做。
•一致性(Consistency):事务前后数据满足约束。
•隔离性(Isolation):并发事务互不干扰。
•持久性(Durability):提交后即使断电也不丢。 实现上依赖WAL(预写日志)、undo/redo日志、锁、MVCC等。比如InnoDB用redo log保证持久性,undo log支持回滚和MVCC。
3. DBMS架构 一个典型DBMS包含:
•查询处理器:解析SQL、生成执行计划、优化。
•事务管理器:并发控制、锁、日志。
•存储引擎:管理页、缓冲池、索引、刷盘。
•元数据与安全:表结构、权限、审计。 不同数据库侧重点不同:MySQL InnoDB强事务,Redis强内存键值,ClickHouse强分析列存。理解架构,才能选对工具。
4. 生产实践启发
• 不要用数据库当文件服务器存大图大视频。
• 不要在高并发场景用Excel或SQLite当共享数据库。
• 索引不是越多越好,写多读少要谨慎。
• 事务不要开太长,否则锁等待和MVCC膨胀会拖垮系统。
• 备份要定期演练恢复,没恢复过的备份不算备份。
七、总结卡片
数据库不是高级Excel,而是“会管理、会保护、会并发”的数据图书馆。 它用表组织数据,用SQL提问,用事务保证正确,用索引加速查询,用权限和备份保障安全。 数据少时Excel够用,数据多、人一多、要求一高,数据库就是必需品。
八、思考题
你身边有哪些数据,现在还在用Excel或纸质表格管理?如果换成数据库,最想解决哪个痛点:多人同时编辑、查找慢、容易丢、权限乱,还是统计难?
九、下期预告
第2讲:表、行、列、主键、外键——数据库的户口本 我们将用班级名册、身份证号、家庭关系,讲清楚数据库怎样给数据“上户口”,以及为什么主键和外键是关系型数据库的基石。