我正在为一所学校的学生建立一个数据库。这是我目前所拥有的:如果您不喜欢阅读,请跳转到“简而言之”部分问题是我对这个设计不满意。我希望grade、subgrade和id_class的组合是唯一的,并用作学生表的主键。我可以删除student_id并从3中创建一个复合键,但我也不想这样做。也许我应该制作另一张表让我们说combination_id其中grade、subgrade和id_class是外键并且有一个用作表ID的额外列comb_id。所有列都将是主键。但问题是,由于那个额外的列(comb_id),这3列仍然可以重复。例如,我可以有相同的grade、subgrade和class_i