📄 一句话概括
E-R 图有两大记法流派:教材的传统记法(方框-菱形-椭圆)与业界常用的乌鸦脚记法(IE 记法:线头三根毛=多、一竖=一)——记法不同,语义相同,看懂哪种都行,团队统一一种即可。
📝 本节和前面几节的关系
上一节认了三件套,本节讲画法细节:属性怎么摆、关系两端怎么标 1 和 n、乌鸦脚长什么样。画法只是外壳,5-6 的关系语义才是内核。
一、传统记法的关系端标注
菱形两端写数字对(1、n、m):
┌──────┐ 1 n ┌──────┐
│ 班级 │────◇属于◇────│ 学生 │
└──────┘ └──────┘
读法:一个班级「属于」端对着 n 个学生;一个学生只属于 1 个班级。两端各读一遍,方向反了立刻暴露。
二、乌鸦脚(IE)记法
不写数字,线头形状表态:
班级 ────┐ ┌<──── 学生
└─| └─┤(一端一竖=1,另一端鸦脚=多)
| 线头 | 含义 |
|---|---|
一竖 \| |
恰好一个 |
鸦脚 <(三根毛) |
多个 |
| 圆圈 ○ | 零个(可选) |
| 一竖+鸦脚组合 | 一或多 |
学生 |--<课程:一个学生选多门课、一门课被多个学生选(多对多两端都是鸦脚)。
三、两种记法对照表
| 语义 | 传统 | 乌鸦脚 |
|---|---|---|
| 1:n | 菱形两端写 1 和 n | 一端竖线、一端鸦脚 |
| m:n | 两端都写 m、n | 两端都是鸦脚 |
| 1:1 | 两端都写 1 | 两端都是竖线 |
| 可空参与 | 数字处注 0 | 线头加圆圈 |
四、动手 Demo:同一关系画两遍
「用户撰写书评」(1:n):
传统: ┌────┐ 1 n ┌──────┐
│用户│──◇撰写◇──│ 书评 │
└────┘ └──────┘
乌鸦脚: 用户 ──|─────<── 书评
(一端竖,一端脚)
语义完全一致。本课笔记沿用 ASCII 速写+文字标注(1:n / m:n),工具上 draw.io、ProcessOn 都内置两种模板。
五、30 秒实验
把 5-6 实验的三对关系(作者-书/配偶-配偶/仓库-货架)各画成乌鸦脚:两脚两脚、两竖、一竖一脚——画对说明关系形状真的吃透了。
六、常见误区
- 「记法不同含义不同」:只是外壳不同;评审前问一句「咱们用哪种记法」比争哪种正宗有用
- 「只画一半就交付」:关系两端都要标注;单端标注读者只能猜
自测三问
1. 乌鸦脚记法里三根毛代表什么?(多个) 2. 多对多在乌鸦脚里长什么样?(两端都是鸦脚) 3. 两种记法语义一样吗?(一样,只是记号不同)- ☐ 下一节(5-9 概念模型、逻辑模型、物理模型-E-R图的种类)
相关笔记
- E-R图-使用图表表现数据之间的关系 —— 上一节:三件套
- 概念模型、逻辑模型、物理模型-E-R图的种类 —— 下一节:图分三层
- 🗄️ 数据库基础 · 索引 —— 全课路线图