一个在线考试系统的数据库设计问题

kendezhu 2011-02-10 02:07:54
我要做一个在线考试系统,其中数据库设计时又一个试卷详细信息表PaperDetail有一个外键titleid(代表某个题目的id),而这个外键有多个主键,分别是单选题表SingleProblem的id,多选题表MultiProblem的id等。但从设计初期我就觉得不太对,因为一个外键对多个主键这样的,我从来没做过。如果将这些SingleProblem,MultiProblem,JudgeProblem表合成一张表的话,倒是可以使得一个外键对一个主键,但问题是比如说判断表JudgeProblem所拥有的字段与单选表SingleProblem所拥有的字段不一样啊?
本人还是比较倾向于一种题型对一个表的那种,因为据说这样可以较容易的实现基于遗传算法的在线考试系统。看大家能不能给点建议。
图片如下:
...全文
3373 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
bianxianguo 2012-05-16
  • 打赏
  • 举报
回复
谁有比较完整的考试系统 自己开发问题多多,唉
ximensong 2011-02-13
  • 打赏
  • 举报
回复
Sid,Mid,Fid,Jid分别是单选题id,多选题id,填空题id,判断题id的外键,这样的解决方法虽然比较拙,但起码不会出现以前插入titleid时数据库无法确定到底属于哪个id而出现外键冲突的错误。
由于本来就每种类型的题一个表,所以就不支持增加题目类型的需求,此外也不支持增加选项的需求,所以这个系统还是比较差的。
如果像我前面那个贴中提到的仁兄那样用一张题目表和一样答案表的组合 我想上面的需求都能满足。
windy19871011 2011-02-13
  • 打赏
  • 举报
回复
个人意见 :可以在paperDetail表中,添加多个外键(单选id,多选id,....等),把titleID去掉。
kendezhu 2011-02-13
  • 打赏
  • 举报
回复
由于暂无较好的解决办法,只好重新改了一下PaperDetail表(如下图)
最近下了一个类似的系统,他是将各个类型的题目放到了一张表,同时答案单独一张表,大体看了一下还不错,我想等再做类似系统的时候会采用他那种做法。
kendezhu 2011-02-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 alan_219_2008 的回复:]
发另外一个贴上面了 看着看着忘记了
[/Quote]
http://topic.csdn.net/u/20110205/19/b3ba056b-420f-4ab1-9040-3a1757de0160.html?seed=1623096201&r=71559370#r_71559370
kendezhu 2011-02-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 alan_219_2008 的回复:]
发另外一个贴上面了 看着看着忘记了
[/Quote]
http://topic.csdn.net/u/20110205/19/b3ba056b-420f-4ab1-9040-3a1757de0160.html?seed=1623096201&r=71559370#r_71559370
alan_219_2008 2011-02-10
  • 打赏
  • 举报
回复

发另外一个贴上面了 看着看着忘记了
kendezhu 2011-02-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 cykb518 的回复:]

刚做完一个在线考试系统 嘿嘿,我的所有问题就是放在一张表里的。题干,包括答案。
[/Quote]
你的系统是基于遗传算法的吗? 能发给我参考一下吗?
cykb518 2011-02-10
  • 打赏
  • 举报
回复
刚做完一个在线考试系统 嘿嘿,我的所有问题就是放在一张表里的。题干,包括答案。
nandy249407850 2011-02-10
  • 打赏
  • 举报
回复
好像没什么不妥。。。我能力有限。。期待高人解答~~
kendezhu 2011-02-10
  • 打赏
  • 举报
回复
遇到的一个问题见:http://topic.csdn.net/u/20110205/19/b3ba056b-420f-4ab1-9040-3a1757de0160.html

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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