适用场景
软件工程和数据库课程设计、医院预约挂号系统毕业设计、给任何「预约制」业务建模时使用。关键在排班表:它把医生、日期、时段和号源数量放在一起,挂号记录指向排班而不是直接指向医生。
怎么改成你的
- 需要缴费、检查、处方的,继续加对应实体并连到就诊记录。
- 美容、驾校、会议室等预约系统结构类似,把科室和医生换成门店和服务人员。
- 示例只列了少量字段,真实系统涉及个人健康信息,设计时要考虑权限与脱敏。
Mermaid 代码
hospital-registration-er.mmd
erDiagram
科室 ||--o{ 医生 : 拥有
医生 ||--o{ 排班 : 安排
排班 ||--o{ 挂号记录 : 产生
患者 ||--o{ 挂号记录 : 提交
挂号记录 ||--o| 就诊记录 : 对应
医生 ||--o{ 就诊记录 : 接诊
患者 {
string 患者编号 PK
string 姓名
string 手机号
date 出生日期
}
科室 {
string 科室编号 PK
string 科室名称
string 位置
}
医生 {
string 医生编号 PK
string 姓名
string 职称
string 科室编号 FK
}
排班 {
string 排班编号 PK
string 医生编号 FK
date 出诊日期
string 时段
int 号源总数
int 剩余号源
}
挂号记录 {
string 挂号单号 PK
string 患者编号 FK
string 排班编号 FK
string 状态
datetime 挂号时间
}
就诊记录 {
string 就诊编号 PK
string 挂号单号 FK
string 医生编号 FK
datetime 就诊时间
}让 AI 按这个结构生成一份
把下面这段发给豆包、DeepSeek、Kimi 或元宝,再把它的回复整段粘贴到编辑器,会自动识别其中的代码。
prompt.txt
请用 Mermaid 的 erDiagram 语法画一张医院预约挂号系统 ER 图:实体有患者、科室、医生、排班、挂号记录、就诊记录;科室对医生、医生对排班、排班对挂号记录、患者对挂号记录、医生对就诊记录是一对多,挂号记录对就诊记录是一对零或一;排班里有出诊日期、时段、号源总数、剩余号源;每个实体列出 3 到 6 个字段并标出 PK 和 FK。只输出 mermaid 代码块。
常见问题
- 挂号记录对就诊记录为什么是一对零或一?
挂了号不一定就诊,可能取消或爽约。
||--o|表示一条挂号记录最多对应一条就诊记录。- 号源扣减怎么在图上体现?
ER 图只表示数据结构。扣减号源的过程属于业务逻辑,适合用时序图或流程图来画。
- 可以用真实的医院数据做示例吗?
不要。课程设计请使用虚构数据,真实的患者信息受法律保护。
同类模板
更新于 2026-11-11