目前的设计计划如图,求解答。
数据库是学院建立,主要是为了方便统计学生的比赛参与和获奖情况,问题在于比赛种类多样:有个人也有团队(团队人数依比赛而定),有指导教师/无指导教师……。但并不希望为每一个比赛建立数据表,随比赛越来越多后可能导致困难(每年负责管理数据库的学生也在随年变化),希望统一统计处理。
在设计时候发生了如下错误:
1.建立队伍表(队伍编号,队长,队员1,队员2,…,指导教师1,…)并填入学号但却发现多个字段中只能有一个与学生表(学号…)建立关系。所以队员信息无法形成关系,虽然依然记录但作为队员的学生就无法查询到参与这次比赛的记录。教师同理,无法为超过一个教师建立与教师表的关系。
这样的想法类似于Ecexl,会在表中出现大量的(空)属性,可能不利于数据库维护,而且无法建立关系,但可能通过VBA编程实现要求,如果这样可行的话也请问一下可以通过什么方法实现,简单叙述一下程序原理,我就可以学习到相关知识。
所以其实面临的都是一个问题,那就是多个学生/教师如何记录入同一个队伍并建立关系,并确保每个学生/老师只要在队伍中出现(不论是作为队长,还是任意一个队员)就能查询到他(她)在比赛中队伍的信息