测试的SQL表结构和关系

时间:2010-11-04 01:46:09

标签: sql mysql drupal

我正在开发一个简单的自定义Drupal模块来创建Quizz,我需要一些SQL部分的帮助。

我想留下一些已经注册过的人来回答Quizz,但不知道如何建立这种关系。

基本上,我有两个包含这些列的表:

Users

  • id
  • name
  • email
  • status

Content_Type_Quizz

  • id
  • start date
  • end date
  • good answer
  • explanation

还有第三张表格中有quizz答案,但我认为这对我的情况没有帮助。

我应该在Content_Type_Quizz表中添加一个用户ID的字段吗?或者使用Quizz id,答案和用户ID创建一个新表Content_Type_Quizz_AnsweredBy

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

这是一个多对多的关系;许多用户都可以回答一个问题,用户可以回答多个测验。您将需要3个表:用户,测验和quizz_answer(或quizz_user) 用户表将保留用户,测验将举行测验,quizz_answer将保持用户对quizz的回答。
我认为quizz_answer表应该有3列; user_id,quizz_id和quizz的答案。我相信你需要重新审视你的quizz表结构,因为我不理解好的答案和解释列。