ER 模型(实体-联系)先画清「有哪些实体、怎么联系」,独立于具体 DBMS,再落到关系模式。
┌─────┐
│学生 │──────── 选课 ────────┐
└──┬──┘ (学号,姓名,年龄) │
│ ▼
│ ┌──────┐
┌──▼──┐ │课程 │
│班级 │ │(课号,课名)│
└─────┘ └──────┘
基数比描述一个实体能关联多少个另一实体:
| 基数 | 含义 | 例 |
|---|---|---|
| 1:1 | 一对一 | 班级 ↔ 班长 |
| 1:N | 一对多 | 班级 → 学生 |
| M:N | 多对多 | 学生 ↔ 课程(选课) |
基数决定落表:1:1 和 1:N 可只靠外码合并,M:N 必须单独建联系表。
1、N、M。画图要点:先找实体,再找联系,最后补属性;联系是「动作」(选、属于、雇佣),不是名词。
(学号, 课程号)),联系属性(成绩)作列。学生(学号 PK, 姓名, 班级号 FK) ← 1:N:学生并入班级外码
课程(课号 PK, 课名)
选课(学号 FK, 课号 FK, 成绩) ← M:N:单独建表,主键(学号,课号)
转完的每张表再用第 5 章范式验收、必要时拆分。
对比:概念 / 逻辑 / 物理三阶段——概念(ER 图)面向业务,谈实体与联系,不管实现;逻辑(关系模式 + 范式)把 ER 图翻成表并规范化,不管存储;物理(索引、聚簇、分区,第 9 章)面向 DBMS/硬件,决定数据落盘。即第 1 章三级模式思想在设计流程的体现。