本帖最后由 Zhangli 于 2024-11-17 11:28 编辑
求助大佬,谁能帮帮我?
想做一个学生成绩管理系统,核心功能就是记录孩子们初中三年的考试成绩。 具体需求是这样的: 1. 学生信息表 A. 该表永远永远实时记录学生的基本信息,有转来的可填加,有转走的删除,有变更的可变更。 B. 年级字段代表学生初一进的入学年份,2024级,相对于2024年,就是代表的是初一;2023级,相对于2024年,就是代表初二。 C. 学生信息表主要是给每年的考试提供学生信息数据,但因有转出转入现象,学生信息表与各年度的成绩表人员信息不一致。可能存在学生信息的学生,在某一年度的成绩表无成绩;也可能出现某年度成绩表中的成绩,但学生信息表无该生信息。
2. 成绩表。 (1)各年度成绩表(成绩2022、成绩2023、成绩2024)主要是记录各年度考生的成绩。 (2)成绩表的学生信息虽来源于“学生信息表”,但随着学生的流动,学生信息表与各年度成绩表中的学生信息不完全一致,可能多,也可能少。
3. 成绩汇总表。 (1)成绩汇总表的功能就是:依次查询学生信息每一学生,在各年度成绩表中的成绩信息,查到后写入对应字段(初一成绩、初二成绩、初三成绩),查不到成绩字段可为空。 (2)成绩汇总表中的学生信息与学生信息表的信息永远是实时关联,学生信息表学生信息变动,成绩汇总表中的信息同步变动,如学生信息表删除一人,成绩汇总表同步删除1人;学生信息表新增1人,成绩汇总表同步添加该生信息;学生信息表变更一人的信息,成绩汇总表该生信息同步变更。也就是:成绩汇总表前面字段(姓名、身份证号、年级、班)与学生信息表是视图关系,自动同步。 (3)成绩汇总表后半段信息(初一成绩、初二成绩、初三成绩)是根据学生的身份证号,依次在各年度成绩表(成绩表2022、成绩表2023、成绩表2024……)进行查询,查询到判断该成绩是该生初一还是初二,或者是初三的成绩,并写入成绩汇总表相应字段(初一成绩、初二成绩、初三成绩) (4)如在所有年度的成绩表中都没有查到该生成绩,则成绩字段数据空下。 (5)各年度成绩信息如有变动,体育成绩汇总表相应做变动。 (6)特殊案例: 案例1: 胡飞同学,成绩表2022中有该生的成绩。当时胡飞同学的年级是2022级,考试时间是2022年(成绩表2022,意思是2022年组织的考试),说明该成绩是胡飞同学初一成绩,但现学生信息表中无胡飞同学的信息,那们在做成绩汇总时,就不汇总胡飞同学的信息,因为学生信息表永远是实时与成绩汇总表信息进行关联,学生信息表既然已经没有胡飞同学的信息,那就不往成绩汇总表中写信息了。 案例2:岳不群同学,学生信息表中该生是2023级,在关联该生成绩时,在成绩2024中胡飞的年级是2023,考试年份是2024,说明该成绩是岳不群同学初二成绩,此处咱们不要着急,断续查,,我们在成绩2023中又查到了岳不群同学的成绩信息,在成绩表2023中,岳不群同学的年级信息为2022,考试年份是2023,说明该成绩也是岳不群同学的初二成绩,此时出现了2个初二成绩,怎么办?按要求,每年只能保留一个成绩,此时我们需做判断,取成绩最高的写入岳不群同学的初二成绩字段。(为什么会出现这种现象呢?其实是岳不群同学是休学生,2023年岳不群参加完当年的考试后,休学了,2024年岳不群又复读了一年初二,所以产生了2次初二成绩) 案例3:王麻子同学,在学生信息表该生是2022级,在关联成绩时,在成绩2024表中无该生的信息,继续查,要成绩2023表中查到该生的信息,年级为2021级,考试年份是2023,说明该成绩是王麻子同学的初三成绩,而且所有年度的成绩表中,都再没有找到该生初三年度的成绩,假设如果在所有年度的成绩表中找到多个该生初三成绩,就需要做逻辑判断,取最大值为该生初三的成绩。继续查,在成绩2022表中找到了该生成绩,根据该生年级与考试年份做判断,差值为1,说明该成绩是王麻子同学的初二成绩;继续查,在成绩2021表中找到该生成绩,根据该生年级信息与考试年份做判断,差值为0,说明该成绩是王麻子同学的初一成绩。 案例4. 任我行同学,在关联各年度成绩时,无该生初二成绩,暂时在成绩汇总表中初二成绩字段写成空,后在成绩表2023中,将任我行同学的成绩信息进行了添加,则系统自动补全任我行同学的初二成绩。
以上逻辑怎么实现? |