正在读取本机记录…
核心重点技术沟通◷ 85 分钟

关系型数据库、表、字段、主键与外键

用业务实体和关系理解数据建模。

学完你能做到
  • 用自己的话解释“关系型数据库、表、字段、主键与外键”及其核心术语。
  • 在真实 AI 产品场景中识别何时应该使用本课方法。
  • 完成一份可沉淀进“系统关系图、一次 API 调用与基础 SQL 练习”阶段任务的实践产出。
前置与关联课程

完成阶段 2 的能力检查,或先预览相关基础课

01

REAL SCENE

先从一个真实场景开始

!

课程平台要保存用户、课程、报名、进度和测验记录。若把课程标题直接复制到每条进度里,标题更新后新旧记录不一致;若只靠姓名关联用户,同名者会串数据。关系型数据库通过稳定标识、表结构和约束维护业务事实。

02

PLAIN EXPLANATION

说人话:它到底是什么?

关系型数据库把同类实体放在表中,每行是一条记录,每列是一个有类型和含义的字段。主键唯一标识记录,外键表达表之间的引用。一个用户可学习多门课程,一门课程也有多名用户,通常通过报名或进度关联表表示多对多关系。数据库模型不是页面表格的照搬,而是对业务事实、唯一性、可空性和生命周期的明确承诺。

01

实体、属性与关系

从业务名词识别实体,从事实属性识别字段,从动作识别关系。用户、课程是实体,报名是带状态和时间的关系。重复字段通常意味着应拆表,但也要兼顾真实查询与维护成本。

  • 字段有清晰业务定义与类型
  • 关系说明一对一、一对多或多对多
  • 派生值避免与事实源冲突
02

键与数据约束

主键应稳定且唯一,业务唯一键防止重复事实;外键保证引用对象存在。NOT NULL、唯一、检查约束和默认值把重要规则放到数据层,不能只依赖页面校验。

  • 内部 ID 不承担可变业务含义
  • 删除父记录前定义关联策略
  • 唯一约束配合幂等写入
03

生命周期与审计

记录会创建、更新、归档或删除,产品要定义哪些历史必须保留。软删除便于审计但增加查询复杂度;时间字段、状态变化记录和操作者支持问题追踪。

  • 区分业务删除与物理删除
  • 状态枚举定义合法转换
  • 个人数据保留期单独治理
01

数据模型表达稳定业务事实,而不是复制页面布局。

02

主键、外键和约束共同保证唯一、存在与合法。

03

创建、更新、删除、历史和保留期必须在模型阶段定义。

03

KEY POINT

这节课最重要的结论

核心重点
数据库设计是在定义事实如何被保存、关联和约束。
为什么重要
这决定了听懂工程语言、阅读接口和数据库方案,并判断技术取舍时,团队是否拥有一致、可验证的判断标准。
适用边界
当问题目标、数据来源或失败成本发生变化时,不要机械套用;先重新确认假设和风险等级。
04

EXAMPLES

正确案例与常见反例

✓ 正确做法

users、courses 使用稳定主键;enrollments 以 user_id 与 course_id 外键关联,并设置组合唯一约束防重复报名。lesson_progress 单独记录完成状态、成绩和更新时间。课程改名只更新 courses,历史操作另有 audit_log。

× 常见误区

所有内容放在一张大表,每节进度都复制用户名、课程标题和邮箱;用邮箱作为永不变化的主键。删除课程时直接级联清除所有成绩且没有审计,重复点击报名会产生多条冲突记录。

和工程师这样沟通

“请把用户、课程、报名和课时进度分成实体与关系表;使用稳定 ID,报名设置 user_id + course_id 唯一约束。课程删除先归档,历史成绩保留;关键状态变化记录时间与操作者。”

05

HANDS-ON

必做实操任务

本节产出:“系统关系图、一次 API 调用与基础 SQL 练习”阶段任务中的《关系型数据库、表、字段、主键与外键》一页实践卡

  1. 步骤 1从学习平台需求中圈出实体、属性、关系和需要保留的历史事实。

  2. 步骤 2画出用户、课程、报名、课时和测验记录的关系图并标注基数。

  3. 步骤 3为每张表定义主键、必要外键、唯一约束、可空字段与默认值。

  4. 步骤 4模拟课程归档和用户删除,说明关联数据、审计与隐私处理。

○
实践完成度 0/4

核心重点必须完成全部实践,并在测验中达到 80%,才能标记为掌握。

关系型数据建模表业务范围:____ 实体 1:____ 主键____ 字段____ 实体 2:____ 主键____ 字段____ 关系表:____ 关系基数:一对一 / 一对多 / 多对多 外键:____ → ____ 唯一约束:____ 非空与默认:____ 状态枚举与转换:____ 派生字段及事实来源:____ 创建/更新责任:____ 归档:____ 业务删除:____ 物理删除:____ 历史与审计:____ 个人数据保留:____
06

CHECKLIST

产品经理工作检查表

07

MASTERY QUIZ

掌握测验

核心重点需达到 80% 才算掌握,未通过会进入错题本。

1主键的核心作用是什么?
2用户与课程是多对多关系时通常如何建模?
3外键主要保障什么?
4为什么不建议用可变邮箱作为内部主键?
5课程改名后历史进度应如何保持一致?
08

INTERVIEW

常见面试题

请为一个在线学习产品设计基础关系型数据模型。
展开参考回答

先识别用户、课程、课时、测验等实体,再用报名和学习进度表达关系;每表设置稳定主键,外键维护引用,组合唯一约束防重复,非空与枚举落实规则。回答还要说明成绩和状态历史、归档删除、审计、个人数据保留,以及为什么模型表达业务事实而不是页面结构。

09

RECAP & FURTHER READING

重点回顾、延伸阅读与下一步

一句话回顾数据库设计是在定义事实如何被保存、关联和约束。
  1. 1

    围绕“关系型数据库、表、字段、主键与外键”继续阅读:查阅对应技术的官方入门文档,重点核对输入输出、失败方式、权限边界与可观测性。

  2. 2

    用“关系型数据库、主键、外键”作为检索词,分别写下一条定义、一条适用边界和一个反例。

  3. 3

    对照本课正确案例与反例,寻找一个公开案例并记录其中可复用的判断与不能照搬的条件。