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

如何为UserProfile、SomeTest与Work三个实体配置关联关系?

我来帮你梳理这三个实体的关联关系,结合你的业务场景(学生提交作业、教师批改、关联对应测试),设计如下:

实体关联关系设计

1. Work 与提交作业的学生(UserProfile)关联

relationship ManyToOne{
    Work.student -> UserProfile
}

关联类型:多对一(Many-to-One)
原因:多个作业(Work)可以属于同一个学生,毕竟一个学生能提交多份作业;但每份作业只能对应一个提交它的学生,所以是多对一的关联。这里给关联起名student,明确指向提交作业的用户身份。

2. Work 与批改作业的教师(UserProfile)关联

relationship ManyToOne{
    Work.teacher -> UserProfile
}

关联类型:多对一(Many-to-One)
原因:同一个教师可以批改很多学生的作业,也就是多个Work会对应同一个教师;但每份作业只会由一位教师负责批改,所以也是多对一关联。用teacher作为关联名,和学生关联做区分。

3. Work 与对应的测试(SomeTest)关联

relationship ManyToOne{
    Work.test -> SomeTest
}

关联类型:多对一(Many-to-One)
原因:一个测试(SomeTest)会有很多学生提交对应的作业,也就是多个Work对应同一个测试;但每份作业只能绑定到一个特定的测试,所以是多对一关联。关联名test清晰指向对应的测试记录。

补充说明

整体来看,Work是关联关系的核心节点,它需要分别绑定提交者、批改者和对应的测试。这三个关联都采用多对一,是因为Work作为“多”的一端,另外三个实体都是“一”的一端——多个Work可以共享同一个用户(学生/教师)或同一个测试资源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:38:12