问卷时间花了mysql

时间:2013-10-09 16:15:01

标签: sql database-normalization

说我有一张桌子可以存储问题。 现在,我想跟踪人们平均每个问题花费的时间,以及有多少人提出了正确的解决方案。

  1. 我是否会将每个问题的时间花费存储在table_questions本身或不同的时间。
  2. 我会将已回答的权利存储在table_questions中,还是单独存储,甚至可能花费时间。
  3. 我犹豫的原因有两个。首先,我不希望用户能够对我的问题执行更新查询。但是把时间花在一个不同的表格上并且“回答好”对我来说似乎很奇怪,因为它们是问题所固有的?

    有没有正常化天赋的人(不像我)知道什么是好方法?

1 个答案:

答案 0 :(得分:0)

我的建议:

除非你有充分的理由,否则不要将表TABLE_QUESTIONS或TABLE_USERS或类似名称命名,而且我现在想不到一个。只需称呼他们为问题和用户。

如果你真的有一个USERS表,并且你关心谁正确回答(我根据问题的措辞无法判断),那么我认为你还应该有一个USER_QUESTIONS表。表格可能如下所示:

QUESTIONS
---------
Question_Id    
Question_Descr

USERS
-----
User_Id        
User_Name

USER_QUESTIONS
--------------
Question_Id
User_Id
Answer
Grade
StartTime
EndTime

然后问题(和唯一的问题)进入他们自己的表格,用户(和只有用户)进入他们自己的表格。但是当用户回答问题时,它会进入混合表格。

用户和问题之间存在多对多关系,创建这样的中间表是解决问题的正常方法。