关系型数据库、表、字段、主键与外键
用业务实体和关系理解数据建模。
- 用自己的话解释“关系型数据库、表、字段、主键与外键”及其核心术语。
- 在真实 AI 产品场景中识别何时应该使用本课方法。
- 完成一份可沉淀进“系统关系图、一次 API 调用与基础 SQL 练习”阶段任务的实践产出。
REAL SCENE
先从一个真实场景开始
课程平台要保存用户、课程、报名、进度和测验记录。若把课程标题直接复制到每条进度里,标题更新后新旧记录不一致;若只靠姓名关联用户,同名者会串数据。关系型数据库通过稳定标识、表结构和约束维护业务事实。
PLAIN EXPLANATION
说人话:它到底是什么?
关系型数据库把同类实体放在表中,每行是一条记录,每列是一个有类型和含义的字段。主键唯一标识记录,外键表达表之间的引用。一个用户可学习多门课程,一门课程也有多名用户,通常通过报名或进度关联表表示多对多关系。数据库模型不是页面表格的照搬,而是对业务事实、唯一性、可空性和生命周期的明确承诺。
实体、属性与关系
从业务名词识别实体,从事实属性识别字段,从动作识别关系。用户、课程是实体,报名是带状态和时间的关系。重复字段通常意味着应拆表,但也要兼顾真实查询与维护成本。
- 字段有清晰业务定义与类型
- 关系说明一对一、一对多或多对多
- 派生值避免与事实源冲突
键与数据约束
主键应稳定且唯一,业务唯一键防止重复事实;外键保证引用对象存在。NOT NULL、唯一、检查约束和默认值把重要规则放到数据层,不能只依赖页面校验。
- 内部 ID 不承担可变业务含义
- 删除父记录前定义关联策略
- 唯一约束配合幂等写入
生命周期与审计
记录会创建、更新、归档或删除,产品要定义哪些历史必须保留。软删除便于审计但增加查询复杂度;时间字段、状态变化记录和操作者支持问题追踪。
- 区分业务删除与物理删除
- 状态枚举定义合法转换
- 个人数据保留期单独治理
数据模型表达稳定业务事实,而不是复制页面布局。
主键、外键和约束共同保证唯一、存在与合法。
创建、更新、删除、历史和保留期必须在模型阶段定义。
KEY POINT
这节课最重要的结论
- 为什么重要
- 这决定了听懂工程语言、阅读接口和数据库方案,并判断技术取舍时,团队是否拥有一致、可验证的判断标准。
- 适用边界
- 当问题目标、数据来源或失败成本发生变化时,不要机械套用;先重新确认假设和风险等级。
EXAMPLES
正确案例与常见反例
users、courses 使用稳定主键;enrollments 以 user_id 与 course_id 外键关联,并设置组合唯一约束防重复报名。lesson_progress 单独记录完成状态、成绩和更新时间。课程改名只更新 courses,历史操作另有 audit_log。
所有内容放在一张大表,每节进度都复制用户名、课程标题和邮箱;用邮箱作为永不变化的主键。删除课程时直接级联清除所有成绩且没有审计,重复点击报名会产生多条冲突记录。
“请把用户、课程、报名和课时进度分成实体与关系表;使用稳定 ID,报名设置 user_id + course_id 唯一约束。课程删除先归档,历史成绩保留;关键状态变化记录时间与操作者。”
HANDS-ON
必做实操任务
本节产出:“系统关系图、一次 API 调用与基础 SQL 练习”阶段任务中的《关系型数据库、表、字段、主键与外键》一页实践卡
步骤 1从学习平台需求中圈出实体、属性、关系和需要保留的历史事实。
步骤 2画出用户、课程、报名、课时和测验记录的关系图并标注基数。
步骤 3为每张表定义主键、必要外键、唯一约束、可空字段与默认值。
步骤 4模拟课程归档和用户删除,说明关联数据、审计与隐私处理。
核心重点必须完成全部实践,并在测验中达到 80%,才能标记为掌握。
业务范围:____
实体 1:____ 主键____ 字段____
实体 2:____ 主键____ 字段____
关系表:____
关系基数:一对一 / 一对多 / 多对多
外键:____ → ____
唯一约束:____
非空与默认:____
状态枚举与转换:____
派生字段及事实来源:____
创建/更新责任:____
归档:____ 业务删除:____ 物理删除:____
历史与审计:____
个人数据保留:____CHECKLIST
产品经理工作检查表
MASTERY QUIZ
掌握测验
核心重点需达到 80% 才算掌握,未通过会进入错题本。
INTERVIEW
常见面试题
展开参考回答
先识别用户、课程、课时、测验等实体,再用报名和学习进度表达关系;每表设置稳定主键,外键维护引用,组合唯一约束防重复,非空与枚举落实规则。回答还要说明成绩和状态历史、归档删除、审计、个人数据保留,以及为什么模型表达业务事实而不是页面结构。
RECAP & FURTHER READING
重点回顾、延伸阅读与下一步
- 1
围绕“关系型数据库、表、字段、主键与外键”继续阅读:查阅对应技术的官方入门文档,重点核对输入输出、失败方式、权限边界与可观测性。
- 2
用“关系型数据库、主键、外键”作为检索词,分别写下一条定义、一条适用边界和一个反例。
- 3
对照本课正确案例与反例,寻找一个公开案例并记录其中可复用的判断与不能照搬的条件。