You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何依据特定需求制作火车票预订场景的ERD

火车票预订场景ERD制作步骤

步骤1:从需求中提取独立实体

先把需求里所有独立存在的名词拎出来,不要把属性错当成实体,核心实体包括:

  • 乘客(购票用户)
  • 车次
  • 座位
  • 车票
  • 车站
  • 支付记录

步骤2:给每个实体补充属性并标记主键

每个实体必须设置唯一主键,主键用斜体标注,非空属性按需补充,示例如下:

  • 乘客:用户ID、姓名、身份证号、手机号、注册时间
  • 车次:车次编号、列车类型、出发站、到达站、出发时间、到达时间
  • 座位:座位ID、所属车次编号、车厢号、座位号、座位等级
  • 车票:车票ID、关联用户ID、关联座位ID、乘车人姓名、乘车人身份证号、车票状态
  • 车站:车站ID、车站名称、所在城市、车站等级
  • 支付记录:支付ID、关联车票ID、支付金额、支付时间、支付渠道、支付状态

步骤3:梳理实体间的关联关系,确定 cardinality

根据需求规则确定关系类型,用crowfoot表示法时直接在线段两端标注对应符号,用chen表示法时用菱形标注关系名:

  • 乘客 ↔ 车票:一对多,一个乘客可购买多张车票,一张车票仅归属一个购票乘客
  • 车次 ↔ 座位:一对多,一个车次对应多个固定座位,一个座位仅归属一个车次
  • 车票 ↔ 座位:一对一,一张车票对应唯一指定车次的座位,一个座位在对应车次的售票周期内仅能被一张车票绑定
  • 车次 ↔ 车站:多对多,一个车次会经过多个车站,一个车站会停靠多个车次,需新增中间关联实体经停站,补充属性:经停ID、关联车次编号、关联车站ID、到站时间、离站时间、停靠时长
  • 车票 ↔ 支付记录:一对一,一张车票对应唯一支付记录,若需求支持多票合并支付可调整为一对多(一个支付记录对应多张车票)

步骤4:校验ERD合规性

  • 检查所有多对多关系是否都设置了中间关联实体,禁止两个实体直接画多对多连线
  • 检查弱实体是否标记正确:比如座位是依赖车次存在的弱实体,经停站是依赖车次和车站存在的弱实体,要按你使用的表示法规范标记
  • 逐点对应需求规则校验:比如需求要求支持一个用户买多张同车次车票给同行人,就对应乘客和车票的一对多关系,同时车票需单独存储乘车人身份信息,不要直接复用乘客表的身份字段

内容的提问来源于stack exchange,提问作者Robby

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 02:15:03