2012-11-05 180 views
1

我要让应用程序像测试系统。每个问题都有一个或多个答案变体(一个或多个可以是正确的)。我很抱歉,导师和学生使用我的测试系统。这意味着导师可以通过主题,问题和答案进行CRUD操作。但在这种情况下,作为保存版本出现一个大问题。例如,我是一名导师,我决定编辑一些问题或答案(或可能是几个问题和几个答案)。当我作为学生入学时,我想获得一系列我犯过错误的问题,但导师已经编辑了这个问题,并且我得到了错误的信息。保存历史数据编辑RDBMS

主要问题:我如何在数据库保存数据的编辑?

My database

每个测试有问题,每个问题都有naswers。导师可以编辑/添加/删除任何这些组件。例如,他或她可以修改questsion的文字之一,添加几个问题到测试和编辑问题的答案刚刚修改的一个。任何提示我如何处理所有这些,以便我可以在过去的确切时间检索一个测试版本?

以下是我想出了这么远。解决方案非常复杂,我觉得有一个更好的方法来做到这一点。

+0

我认为这个问题是一个更好的适合http://dba.stackexchange.com/,因为它对于SO来说有点本地化。一般的答案是“使用日志记录”或“实现某种带时间戳的版本控制”,但我想你正在寻找更具体的东西。 –

回答

0

我不能读你的设计非常好,太小了。但是根据我对你问题描述的理解,我会创建一个新的表格来保存更正的答案,并将其链接到学生编写的每个答案。我会用一个一对多的关系,使我可以写一个以上的修正相同的答案,从而使用户能够看到从导师多个响应使其..