数据库基础:让自己的应用记住数据
从“刷新后内容没了”开始理解数据库。面向零基础开发者和小微团队,以 SQLite、MySQL、PostgreSQL 为主,用一个书签应用学会建表、增删改查、连接 API、保护自己的记录以及备份。
目录不大搬家,主线和选修分开
| 部分 | 定位 | 本阶段成果 |
|---|---|---|
| 1. 关系型数据库 | 必修,先做 SQLite,再认识 MySQL 的 SQL 差异 | 新增、查询、修改和删除书签 |
| 2. 非关系型数据库 | 选修,先了解 MongoDB/Redis 用途 | 能解释为什么首个项目暂时不加第二个数据库 |
| 3. CMS 与 API | 做内容站时选修 | 用 Strapi 管理并展示文章 |
| 4. 前后端联调 | 必修,先选一种驱动,ORM 二选一 | 页面刷新后仍有数据 |
| 5. Supabase 与 PostgreSQL | 托管数据库主线 | 一个带用户隔离的云端数据表 |
| 6. Cognito 与 DynamoDB | 已使用 AWS 的读者选修 | 复用托管身份,不额外自建账号系统 |
| 7. 托管数据库选择与连接 | 替换复杂自托管认证内容 | 选定 Vercel、Netlify、Cloudflare、AWS 或 Supabase 的适用方案 |
| 8. 小项目数据设计 | 替换数据工程内容 | 两张表、一次加字段、一次 CSV 导入 |
| 9. 数据安全与备份 | 只保留必要底线 | 参数化查询、数据隔离、可恢复备份 |
| 10. 书签项目实战 | 一个项目只选一种主数据库 | 用户保存书签,管理员处理违规内容 |
前六部分维持原有目录,MongoDB、Redis、CMS、Cognito 是解决特定问题的备选,不要求通关所有技术。后四部分沿用原位置但重写为小项目练习,不再要求自托管认证适配器、多租户组织、ETL、CDC、Outbox、分库分表、主从复制和多数据库同步。
推荐学习顺序
第一次学习:第1部分的 SQLite → 基础 SQL → 第4部分 API 联调 → 第5部分 PostgreSQL/Supabase → 第7至10部分。MySQL 用来理解另一种常用关系库,能在本地重复同样的 CRUD 即可;不用同时购买两套云数据库。
Prisma 和 Drizzle 先选一种,不用为了 ORM 迁移已经能正常运行的项目。遇到前端页面、后端路由、后台权限问题,到工程册边做边学。