|
关于学籍管理的一个难题,如何设计表结构?
我有一个表,存储了各个不同的班级信息。同时每个班级有自己的日期安排表(一旦班级被添加完毕,则此班级起止日期被固定),用来给各个学生记名点到,但是我发觉这个表很不好设计。此表各个属性是设计成日期比较好呢,还是用学生名字来做属性(学生人数有可能随时添加)? 这样设计似乎牵涉到一个动态生成属性的问题,比较麻烦。但是如果拿日期做属性的话,同样也需要动态生成属性(比如自动生成2016.12.1-2017.1.30的每一个日期作为属性)。
相比较之下,后一种办法好一些。因为日期作为属性,学生名字作为内容,这样比较直观。但是在这种情况下,如何统计一个学生出勤率(因为是横向统计)。总不可能写成“ select sum(属性12月1号+属性12月2号+…+属性1月29号+属性1月30号) as 出勤次数 from 计算机一班
而且无论以上那种办法,都需要为每一个班级单独生成一个表,长此以往简直没法管理。如何将这些信息统一到一个表里?最好总共只生成一个表。
俺以为这是超级难题,请各位大大多指教,非常感谢!! |
|