0

我不确定该主题是否具有我想要的正确含义,但我不知道如何解释。我正在构建在线考试应用程序。为了便于解释问题,我将重点放在 6 个表上:

  1. 课程:has_many主题
  2. 主题:belongs_to课程
  3. 问题:belongs_to主题,has_manygeneral_exams,通过::general_questions
  4. GeneralExams:has_many问题、through:general_questions、belongs_to用户、belongs_to课程、has_many考试
  5. 一般问题:belongs_to问题,belongs_togeneral_exam

  6. 考试:belongs_to普通考试,belongs_to用户

这是表 GeneralExam 中的列:

name,description,semester,number_question,duration,used, user_id, course_id

我现在要做的是创建一个通用考试,并且可以为每个课程的每个主题指定一些问题。例如,我有一门名为“数据库”的课程有 3 个主题:A、B、C。现在我想为“数据库”课程创建普通考试。我想在创建普通考试时具体说明:

  • 主题 A 的 5 个问题
  • 主题 B 的 6 个问题
  • 主题 C 的 7 个问题

这些问题是我从这些主题中随机得出的。我已经为创建普通考试建立了一个表格,但我不知道如何在表格上获取课程主题,并为每个主题创建一个输入数字问题的字段。那么有没有办法在新形式的普通考试中列出主题,每个主题都有一个输入数字的字段,该主题的问题将是随机的?或者我需要创建一个新表来存储该信息?

4

2 回答 2

1

这就是我要做的……

数据库应考虑其“灵活性”。为此,所有信息都存储在不同的表中..然后为了检索数据的速度..建立一些关系表来显示信息..(取决于有多少人将使用您的系统)

所以......自上而下......

老师表(一个老师可以教很多课程)..每件事都从这里开始)->课程表(这是所有其他人的基础)-----------------以下可能会开始交叉引用.. --> 主题表 ---> g-exam 表 Big Question 表可能在同一级别
--> g-question 表应该在底层(可以参考 g-exam 和 Big-Q)

(不需要保存教师信息或主题信息,因为它是 twwo-level up..但您仍然可以存储这些信息以快速检索数据..但请记住..如果您需要在信息存储后更改信息。 ..简单更好...

于 2012-11-18T17:08:18.463 回答
0

我只是复习了我的答案......我发现我说的一个错误..我应该说:你不需要在 g-question 表中保存教师或主题信息.. g-question 表只保存问题键和 g-exam-key 和问题表和 g-exam 表保存主题键......并参考回到顶层..

并创建一个快速检索表以进行快速访问,该表可能会每天更新(例如:显示教师姓名、顶级姓名……等,因为这些表由“键”链接而不是名称

抱歉没有说对

于 2012-11-19T02:19:34.080 回答