一个考试成绩管理系统,由于每次考试的科目不一定相同,这样用ACCESS设计库的时候,库中的成绩表的结构(有关课程的字段)就不好确定,所以我想在Delphi中用sql语句CreateTable(如果有同功能的API函数也可以)创建成绩表,不知道行不行或者方不方便?
我没有项目经验,上面只是我的想法,大家经验丰富,如果我的想法不行的话,你们一般是怎样解决的?
肯请大家指教。
我没有项目经验,上面只是我的想法,大家经验丰富,如果我的想法不行的话,你们一般是怎样解决的?
肯请大家指教。
我的想发是:如果用前者的思路话,那经过几次考试后,成绩表肯定记录很多不易管理,所以我想在delphi中用sql的createtbale语句,对每一次考试定义一个成绩表,用来保存一次考试的成绩。。
我明白你的意思:
定义一个科目表:ID 科目名称 科目其他信息
再定义一个成绩表:ID 考试时间 学生ID 科目ID 成绩
这样就可以通过,考试时间+学生ID 查找该学生在某次考试中的各科目成绩了,并且每次考试的科目也可自己设定了。是这样吧?
只是是用一张成绩表保存每次考试的成绩,记录会不会太多了,比如:
一个3000人左右的学校,要保存6个学期的考试成绩,平均每次考7门课程,这样这个成绩表大概有12万左右的记录吧(不知道我算错没有?),数据会不会很大,我没做过项目,真的不清楚这算多还是算平常,对查询速度会不会影响很大?
以前从没做过项目,所以我的想法也只是想法,至于可行性或者难易程度,我就不知道了。
如果,我的思路实现比较麻烦的话。。zklove(花花公子) ,我会用你的想法的。。谢谢。。
算了,我决定还是用最碍迟但最简单的方法,还是在ACCESS中定义成绩表结构,把中学所有的科目都作为字段。。反正中学的科目又不多,也不会开一些希奇古怪的课。
如果一定要用,可以用 ADOX 控件
在库中 引用MIRCOSOFT ADO EXTEND 2。7 比较方便
但建议你还是考虑一下数据结构
你所说的问题,上面几位的应能解决
steelxu5(人间漫步)说的对,如果每次考试定义表的话,以后查询确实比较麻烦。
不过,我也会从简单方面考虑,就是定义一张成绩表,把中学所有的科目都作为字段,
成绩表(考试时间,学号,班级,语文,数学,...)这样虽然冗余但对于统计总分和排名以及成绩查询可能要方便点。
再次谢谢大家。。以后还有问题,再象大家请教。