适用场景
数据库原理课程设计、学生信息管理系统毕业设计、给教务系统做数据建模时使用。七个实体覆盖了「学院到学生」的层级和「学生、课程、成绩」的多对多关系,成绩表就是把多对多拆开的中间表。
怎么改成你的
- 实体和字段按你的需求增删,例如加「宿舍」「奖惩记录」。
- 关系符号
||--o{表示一对多,改成||--||是一对一,}o--o{是多对多。 - 字段前面的类型只是说明,可以写成你用的数据库类型。
Mermaid 代码
student-management-er.mmd
erDiagram
学院 ||--o{ 专业 : 开设
专业 ||--o{ 班级 : 包含
班级 ||--o{ 学生 : 编入
学院 ||--o{ 教师 : 聘任
教师 ||--o{ 课程 : 讲授
学生 ||--o{ 成绩 : 取得
课程 ||--o{ 成绩 : 产生
学院 {
string 学院编号 PK
string 学院名称
}
专业 {
string 专业编号 PK
string 专业名称
string 学院编号 FK
}
班级 {
string 班级编号 PK
int 入学年份
string 专业编号 FK
}
学生 {
string 学号 PK
string 姓名
string 性别
string 班级编号 FK
}
教师 {
string 工号 PK
string 姓名
string 职称
string 学院编号 FK
}
课程 {
string 课程编号 PK
string 课程名称
int 学分
string 工号 FK
}
成绩 {
string 学号 FK
string 课程编号 FK
float 分数
string 学期
}让 AI 按这个结构生成一份
把下面这段发给豆包、DeepSeek、Kimi 或元宝,再把它的回复整段粘贴到编辑器,会自动识别其中的代码。
prompt.txt
请用 Mermaid 的 erDiagram 语法画一张学生管理系统 ER 图:实体有学院、专业、班级、学生、教师、课程、成绩;学院对专业、专业对班级、班级对学生、学院对教师、教师对课程都是一对多;学生和课程通过成绩关联,学生对成绩、课程对成绩是一对多;每个实体列出 2 到 4 个字段并标出 PK 和 FK。只输出 mermaid 代码块。
常见问题
- 成绩为什么单独是一个实体?
学生和课程是多对多关系,数据库里要用一张中间表来存,中间表上还能放分数、学期这些属性。
- 课程设计要求画陈氏 ER 图怎么办?
这里画的是鸟足表示法。陈氏画法用椭圆表示属性、菱形表示关系,可以用流程图语法手动画。
- 能直接生成建表语句吗?
图本身不生成。可以把代码交给 AI,让它按实体和字段写出建表语句,再自己检查类型和约束。
同类模板
更新于 2026-11-11