学生信息模块设计

项目中需要设计学生信息管理。包含年级、班级、学生等信息。
但是有个问题,每年学生的年级都会变动,1年级升入2年级。
请问要如何设计才能满足这种需求?

阅读 3k
2 个回答

三种方式:

  1. 直接存年级的名称字符串,如“一年级”、“二年级”……。然后每年升学前统一修改所有学生的年级
  2. 用另一个年级表做关联。比如1代表一年级、2代表二年级……。然后每年升学前修改年级表,这样每个学生的年级都会跟着改变
  3. 换一种思路,使用入学年份而不是年级,比如2016年入学、2017年入学、2018年入学等,显示年级的时候用当前年份减去入学年份即为学生所处年级。但是这样一来有一个问题,如果学生留级了,或者中途转学过来的则需要进行特殊处理。

这个一定要根据实际情况来进行设计。实际情况是:

1、学生不与年级挂钩,学生与班级挂钩。
2、班级所属的年级会每年变化,所以年级是计算出来的。
3、班级的所属年级通过班级的入学年份计算出来。班级是一种编制,一个班级创建出来之后,其所属年级只会每年增加。

具体到设计上就是:

1、学生有一个所属班级的字段;
2、班级有一个入学年份的字段。

这样设计的好处是,不论学生是退学复学,还是留级跳级,只要他在正确的班级,就一定能得到正确的年级。

另外一定要考虑当前的月份。同一个班级在四月份和十一月份是属于两个不同年级的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题