BUSA20001 期末考|ERD 改造题先把三步顺序走对
🧩 先把业务规则改写成数字
ERD 改造题一上来,先别急着画线。这份 2026S1 往期资料参考预览用 Golf Pass 练习带你走一遍,但它不是 2026S2 本学期的官方考试说明。我会把业务规则拆成两个方向的 (min, max),因为图上的 Crow's foot 展示的是数量关系。往期 Golf Pass 练习里,客户预订时先付 50% 定金,余款在开始前 30 天付清。落到数据库,一个 reservation 需要容纳多笔 payment;继续沿用一组付款字段,第二笔付款的金额和时间就没有独立位置。
这类题很容易刚看到题就冲进画图:看见两笔付款,直接把线改成 many。中间少了两个方向,payment 的归属约束和 reservation 的容纳数量便没有交代。图上一个圈或一根竖线的变化,实际决定数据库允许哪类记录进入。因此我会先用普通句子说清双方数量,再换成 notation。
这里先盯住业务里的数量词。「一笔付款属于一个预订」给出 payment 指向 reservation 的 (1,1);「一个预订对应定金和余款」则把 reservation 指向 payment 的 max 推到 N。先写两端数字,接下来才有足够依据画关系。
📌 看到政策变化,先各写一句「一个 A 对应几个 B」和「一个 B 对应几个 A」,再把两句转成
(min, max)。
🔢 max 与 min 各管一件事
同一个 (min, max) 里,max 决定 one 或 many,min 决定 optional 或 mandatory。两个数字分开读,能少掉一大截凭感觉猜线条的时间。Golf Pass 的完整落法可以这样看:
| 观察方向 | min | max | 关系判断 | 填好的示范 |
|---|---|---|---|---|
| 一笔 payment 看 reservation | 1 | 1 | mandatory one | 每笔付款只归属一个预订 |
| 一个 reservation 看 payment | 1 |






