找回密码
 立即注册

QQ登录

只需一步,快速开始

Zhangli

金牌服务用户

4

主题

13

帖子

103

积分

金牌服务用户

积分
103
最新发帖

[已处理] 动态获取数据

Zhangli
金牌服务用户   /  发表于:2024-11-16 22:36  /   查看:170  /  回复:13
100金币
本帖最后由 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中,将任我行同学的成绩信息进行了添加,则系统自动补全任我行同学的初二成绩。

以上逻辑怎么实现?
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

手动录入成绩给你去掉了,增加一个成绩单上传功能,大框架应该满足你要求了 细节就自己完善下

13 个回复

倒序浏览
最佳答案
最佳答案
stranger
银牌会员   /  发表于:7 天前
来自 13#
本帖最后由 stranger 于 2024-11-17 23:49 编辑

手动录入成绩给你去掉了,增加一个成绩单上传功能,大框架应该满足你要求了
细节就自己完善下








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1金币 +5 收起 理由
Joe.xu + 5 很给力!

查看全部评分

回复 使用道具 举报
stranger
银牌会员   /  发表于:6 天前
2#
居然全篇看完了,有个奇怪的疑问,为啥数据库要设计分成绩表2022,2023,2024呢?直接一个成绩表,然后用关键字去区分年和年级不就ok了。不然难道一年就去做一个表,然后再去做一个页面关联表格?
回复 使用道具 举报
Zhangli
金牌服务用户   /  发表于:6 天前
3#
stranger 发表于 2024-11-17 12:00
居然全篇看完了,有个奇怪的疑问,为啥数据库要设计分成绩表2022,2023,2024呢?直接一个成绩表,然后用关 ...

比如,2022年成绩表有100个学生,但到了2023年成绩表可能有110个学生,到了2024年成绩表可能有90个学生,因为成绩表是记录的当年参与考试学生的成绩,中间可能有学生转来,有学生转走等情况,导致学生信息表学生人数与各年度成绩表永远对不上。
回复 使用道具 举报
Zhangli
金牌服务用户   /  发表于:6 天前
4#
Zhangli 发表于 2024-11-17 12:28
比如,2022年成绩表有100个学生,但到了2023年成绩表可能有110个学生,到了2024年成绩表可能有90个学生, ...

为了追踪实际就读学生(也就是学生信息表中的学生)3年的考试成绩情况,只能是以“学生信息表”的学生为准,在各年度成绩表中进行查找其过去的考试成绩
回复 使用道具 举报
stranger
银牌会员   /  发表于:6 天前
5#
本帖最后由 stranger 于 2024-11-17 12:38 编辑
Zhangli 发表于 2024-11-17 12:28
比如,2022年成绩表有100个学生,但到了2023年成绩表可能有110个学生,到了2024年成绩表可能有90个学生, ...

那你在成绩表增加一个字段年份不就行了?记录下当前年份。学生信息表和成绩表做关联查询,你做个视图也好,做关联查询也好,把你想要的筛选出来不就行了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
stranger
银牌会员   /  发表于:6 天前
6#
Zhangli 发表于 2024-11-17 12:28
比如,2022年成绩表有100个学生,但到了2023年成绩表可能有110个学生,到了2024年成绩表可能有90个学生, ...

这种一年需要做一个数据库表的设计思路肯定是不对的,如果你这个系统是卖给客户的,你还让客户一年回来找你再添加一个表,在设计一次吗
回复 使用道具 举报
stranger
银牌会员   /  发表于:6 天前
7#
Zhangli 发表于 2024-11-17 12:30
为了追踪实际就读学生(也就是学生信息表中的学生)3年的考试成绩情况,只能是以“学生信息表”的学生为 ...

成绩库表中保存一个学生信息的ID,以学生表的学生基准做查询,那就是做一个视图,把学生ID和成绩表里的学生id关联起来,那些没有id的自然就排除了

评分

参与人数 1满意度 +5 收起 理由
amtath + 5

查看全部评分

回复 使用道具 举报
stranger
银牌会员   /  发表于:6 天前
8#
两个表一个视图






成绩录入



成绩汇总










本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Zhangli
金牌服务用户   /  发表于:6 天前
9#

考试场景是这样的:
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部