这是我的第一篇文章,我是一个初级开发人员,并试图为我工作的学校开发一个科学博览会管理系统,而且我在实体映射方面遇到了一些困难。
其想法是,科学博览会的管理者创建一个GradeSystem,以一组等级申请该科学博览会版本。创建新的ScienceFair版本时,用户将选择要使用的GradeSystem。然后,用户将注册所有将参加科学博览会版本的学生。该系统必须根据以前为科学博览会版本选择的GradeSystem注册该版本中的所有学生成绩。
我在想什么,需要一些线索(抱歉,如果我不清楚的话):
等级应该是一个实体吗?还是可嵌入的类?我正在考虑创建一个实体GradeSystem,它将具有: id,Set<Grade>分级--一个实体ScienceFair与GradeSystem实体有多到一个关系(因为一个科学博览会版本只能有一个等级系统,但是一个等级系统可以被许多科学博览会版本使用)。一个实体学生,具有id,名称,类和许多到多个与ScienceFair的关系。为此,创建一个具有FK stud_id、FK science_fair_id和List<Grade>等级的中间表。但是,我如何将这个等级列表与班级等级联系起来,因为年级已经与GradeSystem相关了。
我在这里非常困惑,当然也误解了一些关系数据库的概念。任何帮助都将不胜感激。
发布于 2022-07-05 08:40:24
您可以将等级建模为实体或枚举,这取决于级别的灵活性(总是1-5,总是an,客户端可配置吗?)
学生与年级的关系应该是一个像AchievedGrade这样的实体,它包含了他/她所达到的等级和相关的ScienceFair,是对学生的ManyToOne。
ScienceFair和品位本身就是配置数据,而AchievedGrade是“正在运行的数据”。
我强烈建议不要允许可配置的等级,至少在ScienceFair启动之后,因为这会打开一罐关于历史性条目的蠕虫。
https://stackoverflow.com/questions/72863205
复制相似问题