小编use*_*788的帖子

测验数据库设计

我目前正在研究一个测验系统,并试图首先进行数据库设计。我已经阅读了一些关于不同测验的主题,但它们在某些部分都是独一无二的。

系统将使用带有 PHP 的 MySQL 数据库。

这个测验系统的目标:

  • 能够在里面有不同的“测验”
  • 完整测验和每个问题的时间轨迹(提前考虑人与人之间的挑战部分)
  • 能够在测验中处理很多参与者
  • 拥有良好的基础,因此可以使用新的、更复杂的功能进一步开发,而无需重建整个系统(即数据库设计)。

到目前为止的数据库设计图像。我已经在每个“关系”上写了这个字段。

我很确定其中的大部分内容都是不言自明的,但我已经对不太明显的内容添加了注释。

至少在一开始它不会是任何“现场”比赛。更有可能的是,您进行测验,获得时间,然后您可以将链接发送给朋友并参加比赛。但我还在考虑那部分。

我意识到,与将所有内容放在一两个表格中的基本测验设计相比,使用此设计获得完整结果等需要更多的工作。但是我尝试将它分成不同的表,以便能够更好地扩展它并使其更复杂以备后用。

我正在考虑添加某种支持,以便一个问题也可以用于不同的测验。只是在想我应该如何做到最好。

这其中的一个关键功能还在于能够快速加载所有内容。

欢迎任何提示!

数据库设计

wp_quiz(这里我们存储所有不同的测验)

  • 测验编号
  • 测验名称
  • 测验文本
  • quiz_site(内部事物,对测验本身并不重要)
  • quiz_difficulty

wp_quiz_questions

  • quiz_question_id
  • 测验编号
  • quiz_question
  • quiz_question_difficulty
  • quiz_question_multianswer(如果这是一个有多个正确答案的特殊问题,那么我们使用例如选择而不是单选按钮)。

wp_quiz_question_answers

  • quiz_question_answer_id
  • quiz_question_id
  • quiz_question_answer
  • quiz_question_answer_correct

wp_quiz_participants

  • quiz_participant_id
  • 测验编号
  • quiz_participant_name
  • quiz_participant_email
  • quiz_participant_userid
  • quiz_participant_time_start
  • quiz_participant_time_end

wp_quiz_participant_answers

  • quiz_participant_answers_id
  • 测验编号
  • quiz_question_id
  • quiz_participants_id
  • quiz_question_answer_id
  • quiz_question_time_start
  • quiz_question_time_end

mysql database-design

5
推荐指数
1
解决办法
9844
查看次数

标签 统计

database-design ×1

mysql ×1