请问这样的情况是放在一个字段里好,还是几个字段里面好?

plq2004 2004-09-13 09:38:06
大家好:
我正在做一个考试分数分析系统,
一张卷子可以有n到题目,
而不同的卷子有不同数量的题目,
一条记录就是某个学生在某张卷子
上的答题情况,即包括每道题目的
选择或得分,现在要统计出来每一张
卷子每道题目的答题情况,如某道题
目得3分的有多少个人等等,现在问题
出来了,我是将每张卷子的每道题目的
得分都做为一个字段好呢?还是将这些
题目的得分以某个分隔符号(如逗号)
隔开后再放到一个字段好。


我的想法是单独放统计效率高,放在一起
统计效率差。


请问各位高手如何处理,谢谢!
...全文
98 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
yesterday2000 2004-09-13
  • 打赏
  • 举报
回复
和楼上所说
试卷是一个表
你只要是试卷就写到这个表里加个唯一ID
在其它表里调用这个ID号就可以了
j9968 2004-09-13
  • 打赏
  • 举报
回复
参考设计:

试卷表 ( Eid PK, ......)
试题表 ( Qid PK, Eid fk, 题目内容, 标准答案)

答卷表 ( Aid pk, 考生编号 fk) --这里,可加一个Eid与试卷表关联,方便查询,本人偏向于不加此字段。
答题表 ( Did pk, Aid kf,Qid fk, 答案)

plq2004 2004-09-13
  • 打赏
  • 举报
回复
to yesterday2000(一笑而过) :
但是我的卷子很多啊,
每个卷子的题目数量
都不一样啊。

如果照你这么说的话,那我只能是一张卷子一个表,
或者是以最大可能题目数(如100题)来设置题目字
段的个数了,但是这样的话不是出现了数据的冗余,
而且也没几个卷子能有100题。

to guo8216(雪)
题目的得分以某个分隔符号(如逗号)这样效率会高一点。
-------但是这样确实很慢,我的是asp程序,怕出现超时,
如果是windwos程序那么我还可以等待,关键的是到后期记录
数会非常多,达到百万数量级。
ddqinlong 2004-09-13
  • 打赏
  • 举报
回复
放一个字段里比较合理,但每道题的得分最好都用两位表示,这样拆分时就不累,可以在一条语句里写出统计表达式来。每一题目一个字段的话要考虑最多的题目数是多少,这样会多很多冗余字段出来。
yesterday2000 2004-09-13
  • 打赏
  • 举报
回复
一张卷子建个ID,在其它表里的题目所以的卷子都用一个ID
每个题目建个ID在其它表里调用这个ID
这样查询和写程序都好一些!!
yesterday2000 2004-09-13
  • 打赏
  • 举报
回复
将每张卷子的每道题目的
得分都做为一个字段好

如果都放到一个字段里
拆分字符串就要累死人!!!!!!
guo8216 2004-09-13
  • 打赏
  • 举报
回复
还是将这些
题目的得分以某个分隔符号(如逗号)这样效率会高一点。
ouyld 2004-09-13
  • 打赏
  • 举报
回复
我觉得是将 “将每张卷子的每道题目的得分都做为一个字段好”
plq2004 2004-09-13
  • 打赏
  • 举报
回复
把以前的试题都插到从表里
--------你的意思说以测试时间对那个表分段?

另外请问一下,如果把答案放在一个字段里面,查询起来真的很慢吗?
yesterday2000 2004-09-13
  • 打赏
  • 举报
回复
没事的
建几个从表
把以前的试题都插到从表里
查询时以从表里提数据
plq2004 2004-09-13
  • 打赏
  • 举报
回复
但是如此一来,那个答题表 的记录数很可能会非常大啊,
如果有100个人做一份100道题目的卷子,那么就会用10000条记录啊,
而更倒霉的是,我的那个系统一天的测试人数一般都在1000左右,
平均每张卷子都有50道题目,这样的记录数是不是太庞大了啊,
还请各位帮小弟想想,谢谢了!

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧