数据库与数据模型
核心问题
为什么项目做到一定程度,不能再只靠页面上的假数据或 Excel,而要开始考虑数据库和数据表?
为什么需要数据库
当项目只有一页展示时,写死内容也可以。
但一旦项目开始出现这些需求:
- 用户下次打开还要看到之前的数据
- 不同用户看到不同内容
- 管理员要统一查看和修改数据
- 需要记录多条任务、借阅信息或打卡记录
就要开始考虑数据库。
先理解 5 个基础概念
| 概念 | 直观理解 |
|---|---|
| 数据库 | 存放所有数据的大容器 |
| 表 | 一类数据的集合 |
| 行 | 一条具体记录 |
| 列 | 一条记录里的属性 |
| 主键 | 每条记录独一无二的编号 |
用作业规划助手做例子
用户表
| id | name | class_name |
|---|---|---|
| 1 | 小明 | 七年级 2 班 |
任务表
| id | title | priority | user_id |
|---|---|---|---|
| 101 | 数学练习册 | 高 | 1 |
这里的 user_id 就把任务和用户连起来了。
什么叫数据模型
数据模型就是:
- 你准备存哪些表
- 每张表有哪些字段
- 表和表之间是什么关系
它不是数据库专家专属的东西,而是项目设计的一部分。
给青少年项目的简化建模法
- 先写出项目里最重要的“对象”
- 再写每个对象最关键的字段
- 最后想这些对象之间有没有关联
常见对象举例
| 项目 | 常见对象 |
|---|---|
| 作业规划助手 | 用户、任务、标签 |
| 图书角借阅助手 | 图书、借阅记录、用户 |
| 心情打卡页 | 用户、打卡记录、心情标签 |
课堂练习
- 为自己的项目画出 2 张最重要的数据表
- 每张表至少写出 3 个字段
- 说清这两张表之间有没有关联
给讲师的提醒
- 不要一开始就讲太多 SQL 或索引细节,先让学生理解“为什么要有表”
- 很多学生会把“页面里显示的东西”和“真正要存的数据”混在一起,要帮他们拆开
- 第 6 课最适合插入这部分,因为那时项目开始接近真实产品