🗄️ 第一章 数据库的基础知识
📄 一句话概括

DBMS 分商用与开源两大阵营——一个花钱买省心,一个免费换自主;没有最好的,只有最合适的。

📝 本节和前面几节的关系

1-3 点过几个 DBMS 的名字(MySQL、Oracle……);本节把这份名单按【商用/开源】铺成一张家谱,并回答一个实际问题:【真要做个系统,我该挑哪个?】

一、两大阵营是什么意思

按源代码和收费方式分:

阵营 特点 类比
商用 收费、源码不公开、厂家提供全套服务 请专业物业的商品房
开源 免费使用、源码公开、社区维护 自家小院自己打理

二、认脸清单

名字 阵营 一句话特点 典型用户
Oracle 商用 贵、稳、功能全,老牌旗舰 银行、电信
SQL Server 商用 微软家,和 Windows 配合顺滑 用微软技术栈的企业
DB2 商用 IBM 家,大型机老将 银行核心系统
MySQL 开源 全世界用得最多的开源库 网站、App 后台
PostgreSQL 开源 功能最全的开源库,标准最守规矩 对数据质量要求高的系统
SQLite 开源 不用安装、单文件、小到几百 KB 手机 App、微信、浏览器

三行商用、三行开源——本课后面的示例全用 SQLite/MySQL 风格(因为免费、随手就能练)。

三、怎么选:四个看

  1. 看预算:买得起服务又出不起事故 → 商用;预算有限 → 开源
  2. 看规模:个人项目、小 App → SQLite 就够;网站后台 → MySQL/PostgreSQL;银行核心 → 商用
  3. 看人:团队会什么就用什么——熟悉 Windows 全家桶 → SQL Server 顺手
  4. 看生态:用的语言、框架对哪个库支持最好(招人好不好招、资料多不多)

记住结论:数据库没有【最强】,只有【最配】。 微信用 SQLite 跑得好好的,不代表它比 Oracle 差——场景不同。

四、动手 Demo:给三个项目选数据库

只做决策,不写代码。给下面三个假想项目选 DBMS,并写出一句话理由:

项目 你的选择 理由要点
个人记账 App(单机) ? 数据量小、就自己用、不值得花钱
公司官网后台(日活一万) ? 免费开许可、资料多、好招人
银行核心账务系统 ? 出不起事故,买服务买保障

参考答案:SQLite / MySQL(或 PostgreSQL)/ Oracle 等商用库。核心不是答案本身,是每个选择都能说出【看预算/看规模/看人/看生态】里的哪一条。

五、30 秒实验

打开招聘网站,搜【后端开发】,翻几个职位要求:

六、常见误区

  1. "开源=不安全、低端" —— 恰恰相反:开源意味着全世界的人都能审查代码,漏洞藏不住;MySQL/PostgreSQL 撑着大半个互联网。
  2. "商用的一定更好" —— 商用买的是服务和责任兜底,不是性能碾压。论新功能,开源库常常跑得更快。
  3. "学了 MySQL 就只会 MySQL" —— 各家 DBMS 说的都是同一门语言 SQL(下一节的主角),学的是【方言 differences】之外的大同。
自测三问(点开对答案) 1. 商用与开源最核心的区别是什么? **是否收费、源码是否公开**——商用买服务,开源换自主。 2. 微信手机 App 里用的是哪个 DBMS? **SQLite**——单文件、免安装、几百 KB 也照样是正牌数据库。 3. 选型的【四个看】是什么? **看预算、看规模、看人、看生态**;没有最强,只有最配。

相关笔记