如何为ios测验应用程序构建sqlite表

时间:2014-03-09 17:37:00

标签: ios sql sqlite

我正在设计一个“测验”应用程序,其格式如下:

顶部的一个主要问题,然后是5个子问题,他们必须以1-5的比例回答这个顶级问题,如此屏幕截图所示:

enter image description here

我想使用sqlite数据库,但我不确定如何构建它/多少个表以及列应该是什么。

这会有效吗?

questionTbl: questionID, questionText (for the main question at the top) subquestionATbl: questionID, subQuestionAID, subQuestionA, subQuestionACorrectAnswer subquestionBTbl: questionID, subQuestionBID, subQuestionB, subQuestionBCorrectAnswer subquestionCTbl: etc subquestionDTbl: etc subquestionETbl: etc

或者我可以用较少的表来减少它的复杂性吗?

questionTbl: questionID, questionText(对于顶部的主要问题), subQuestionA, subQuestionB, subQuestionC, subQuestionD, subQuestionE answersTbl: questionID, subQuestionACorrectAnswer, subQuestionBCorrectAnswer, subQuestionCCorrectAnswer, subQuestionDCorrectAnswer,subQuestionECorrectAnswer

你有什么建议?

1 个答案:

答案 0 :(得分:0)

在回答这个问题之前,让我们考虑一个例子:

  

问题:“很久以前有一头母猪带着三只小猪...... [继续讲述这里三只小猪的故事]”

     

子问题A:“第一个小猪房子是由什么制成的?”

     答案1:“稻草”
  答案2:“棒子”
  答案3:“砖块”
  答案4:“钢铁”

假设这个例子说明了你的问题将如何呈现,那么我可能会倾向于这样的实体关系模型:

  1. 一个question表,列出了顶级问题列表(例如三只小猪的故事);

  2. 一个subquestion表,其中列出了“选择A”,“选择B”,......,问题(例如“第一个小猪的房子是由什么构成的?”); < / p>

  3. 如果您愿意,您甚至可能有第三个实体用于与五个选项相关联的文本,1到5(例如“稻草”):

  4. ER diagram

    我绝对不认为你想要“选择A”,“选择B”等单独的表格。

    并且,请记住,如果您要使用SQLite,请考虑使用FMDB,这样可以更轻松地