怎样设计成绩表的结构

时间:2021-02-21 19:54:07
正在做一个成绩管理系统,中小学生的。就是如何记录每次的成绩,不知大家怎样做的,给出出主意。
要求:每次考试的科目是不同的,例如1年级的上学期考试考数学、语文、生物,下学期考数学、语文、地理、劳动、手工(当然只是举例子)。二年级又是别的科目了。这样的成绩表结构该怎样建立。
如果是知道固定的科目,当然好办了。
学号  考试名称  语文、数学、地理、生物......
可是科目是总在变化的,而且每一学期考试的科目又不同。
我还想过象excel一样先建立出50 或更多个字段,可是这样也不是最好的办法,如果科目少则浪费,科目多则不够。
唉!秋风秋雨愁煞人!哪位给一个您认为更合理的解决方案,小弟在这谢您了,一鞠躬...啊,不 一...百分! 
该问题在delphi版已问过,您也可以到那指点俺。

13 个解决方案

#1


这个问题不难,不必要这么多分的:)

1、科目定义表
科目编号 科目名称  

2、学生表
学生编号 学生名称

3、成绩表
年度 学期 学生编号 科目编号 成绩

只列出主要字段,其他字段你可以自己考虑。

#2


哇,很有启发。但是假如说我想查找一个学生某个年度第几学期的全部成绩时是不是就没发写sql语句了。 学号  姓名  2年级  上学期  语文  数学  生物  ... 请您再帮忙。

#3


若只是取出所有成绩很简单,但你要取出成交叉表的格式可就比较麻烦些.

有很多种方法可以做交叉表,内容太多,你可以参考以前的贴子.

#4


以前的...我找找看

#5


数据库中的函数依赖比较难
因为数据库中一般都存在冗余
所以定义字段是要合理,健值要确定,
对于像交叉表这种条件比较多的,只要条理清楚
也不用害怕

#6


这个,飞飞兄说的抽象了些,能不能举个例子。
to icevi(按钮工厂):我按照交叉表没找到能用的,您能否告知个关键字我去找

#7


gffly(飞飞)的意思就是说,每个科目设一个字段虽然有一定的空间浪费,但好处理交叉表问题.
不过这个办法对科目的数量有限制。字段比较多真到写SQL查询时也是很麻烦的。

做交叉表的相关贴子:
http://www.****.net/expert/topic/300/300454.shtm

#8


那些大多数都是用存储过程的,我用的是access,单单用sql可以实现吗?

#9


早说是ACCESS啊,老兄!用ACCESS 做交叉表很方便的了,有生成向导的.

#10


咦,是吗?哈哈哈哈,我先给分,再去看。哈哈哈哈。呜,只怪在下学艺不精。谢谢喽。

#11


嘿嘿,我又来了,这个这个,您可别晕倒呀,我,我没找到怎样在access中按照交叉表进行查询...

#12


你是不是没有装高级向导?运行OFFICE安装程序加上这一项.

#13


哦,还没睡呀。

#1


这个问题不难,不必要这么多分的:)

1、科目定义表
科目编号 科目名称  

2、学生表
学生编号 学生名称

3、成绩表
年度 学期 学生编号 科目编号 成绩

只列出主要字段,其他字段你可以自己考虑。

#2


哇,很有启发。但是假如说我想查找一个学生某个年度第几学期的全部成绩时是不是就没发写sql语句了。 学号  姓名  2年级  上学期  语文  数学  生物  ... 请您再帮忙。

#3


若只是取出所有成绩很简单,但你要取出成交叉表的格式可就比较麻烦些.

有很多种方法可以做交叉表,内容太多,你可以参考以前的贴子.

#4


以前的...我找找看

#5


数据库中的函数依赖比较难
因为数据库中一般都存在冗余
所以定义字段是要合理,健值要确定,
对于像交叉表这种条件比较多的,只要条理清楚
也不用害怕

#6


这个,飞飞兄说的抽象了些,能不能举个例子。
to icevi(按钮工厂):我按照交叉表没找到能用的,您能否告知个关键字我去找

#7


gffly(飞飞)的意思就是说,每个科目设一个字段虽然有一定的空间浪费,但好处理交叉表问题.
不过这个办法对科目的数量有限制。字段比较多真到写SQL查询时也是很麻烦的。

做交叉表的相关贴子:
http://www.****.net/expert/topic/300/300454.shtm

#8


那些大多数都是用存储过程的,我用的是access,单单用sql可以实现吗?

#9


早说是ACCESS啊,老兄!用ACCESS 做交叉表很方便的了,有生成向导的.

#10


咦,是吗?哈哈哈哈,我先给分,再去看。哈哈哈哈。呜,只怪在下学艺不精。谢谢喽。

#11


嘿嘿,我又来了,这个这个,您可别晕倒呀,我,我没找到怎样在access中按照交叉表进行查询...

#12


你是不是没有装高级向导?运行OFFICE安装程序加上这一项.

#13


哦,还没睡呀。