具有小数据的大型MySQL数据库

时间:2015-10-19 01:24:16

标签: mysql database

我正在设计一个基于小组进度测验的数据库。该测验由55个问题组成,理想情况下,每10周就会有10人参加测验,每个人都会为团队中的每个人(包括他们自己)进行一次测验。因此,每次小组参加测验时,都会有100个数据被添加到数据库中。

目前,我存储测验答案的表格将包含以下行:

quiz_taker_id      // person taking the quiz
quiz_subject_id    // taker is answering questions about this person
quiz_id            // identifies if this is the 1st time taking the quiz, 2nd time, etc
question1          // answer to question 1
question2          // answer to question 2
...                // etc, for all quiz questions

测验答案非常简单,只需要一个人的特征0-5。这是存储这些数据的好方法吗?有没有更好的方法来做到这一点?我刚刚开始设置网站和数据库,所以我想确保我正确地接近这个方式

2 个答案:

答案 0 :(得分:0)

每当您想以任何方式处理数据(比如制作postgame统计数据)时,最好使用数据库。您的数据库设计非常简单,并且缺乏一些灵活性,比如说,您希望稍后添加更多问题(现在您必须添加额外的列)。

所以这实际上取决于您打算如何处理所收集的数据以及是否计划扩展您的测验规则。

答案 1 :(得分:0)

评论太长了。

问题应该在一个表中,questions每个问题不是一个表。基本问题表将包含每个问题及其正确答案。这对你的问题来说可能已经足够了。

对于调查(以及我想象的测验),存在版本问题,因为问题会随着时间的推移而缓慢变化。作为一个有点微不足道的例子,你可以先问问"你的性别是什么?"并且最初提供两个答案"男性","女性"。随着时间的推移,您可能会开始添加其他答案:"其他","变性人","雌雄同体"等等。在分析答案时,您可能需要知道在特定时间提出的问题的版本。

这是一个调查示例,其中没有正确的答案,但类似的想法适用于测验:问题和答案可能会随着时间的推移而有所改变,但您仍然希望它们在问题2中被识别,但您想要知道被问到的版本。