我目前正在为一所大学设计一个数据库(作业!)。一切看起来都还好。但是,我遇到了一个微妙的问题。
现在,我有Intake
一个实体,它保存着学生可以注册的入学信息。每个入学都有很多Specialism
s,每个专业都有很多Module
要讲授的 s,每个模块都有很多Lecturer
s 来提供它。
下图应该清楚设计(中间实体用于处理多对多关系)。
现在,假设我有一个录取代码F1205
(从 2012 年 5 月开始的全日制录取),它仅针对一个专业(例如,SE
软件工程)开放(为了简单起见)。该专业的专业摄入量将是一个串联键F1205SE
。SE
从这个id,我可以通过使用它的一部分来判断要讲授的模块是什么。
因为一个模块可以由许多讲师讲授,我如何指定将在该特定专业摄入量中提供该模块的讲师,以及将这些信息存储在哪里?
我觉得我有一个设计错误,但我不知道在哪里。