Моделирование данных для базы данных nosql для приложения Quiz - PullRequest
0 голосов
/ 18 октября 2018

Привет! В настоящее время я разрабатываю приложение для Android с базой данных Firestore.Поскольку я новичок в Nosql, я хотел бы узнать мнение о моей модели данных.

Итак, я хочу иметь два основных дерева в моей базе данных.Тот, который хранит вопросы, и тот, который хранит пользователей.Итак, первый, который я представляю себе так:

mainCategory
    subCategory
        question
            -questionText
            -answerA
            -answerB
            -...

Другой с пользователями:

user
    -email, password and other personal info
    mainCategory
        subCategory
            answeredQuestions
                -questionID
    test
        questions
            -questionID
            -answer

Моя мотивация:

Вопросы сохраняются так, потому что пользователь будетиметь возможность выбирать конкретные категории и подкатегории, поэтому таким образом мне не придется загружать ненужные данные.

Я хочу хранить идентификаторы вопросов для пользователей так же, как они сохраняются в дереве вопросов, чтобы егопроще создавать тесты без вопросов, на которые пользователь уже ответил.Для меня также важно знать, на какой процент всех вопросов в определенной категории уже ответил пользователь.

Я хочу сохранить незаконченные тесты для пользователя, чтобы он мог вернуться к незаконченным тестам.

Заранее спасибо за Ваш отзыв

1 Ответ

0 голосов
/ 24 октября 2018

@ szymon Balcer

Мне было интересно, выбрали ли вы модель данных пожарного депо?Я имею дело с похожей ситуацией.У меня есть банк вопросов, которые организованы в одну из 10 или около того категорий, и каждая категория может иметь несколько подкатегорий.Пользователь может выбрать от 1 до 10 категорий и общее количество вопросов викторины, а затем пройти тест.Пользователь не должен видеть один и тот же вопрос дважды (до тех пор, пока он не пройдет через весь банк вопросов). Пользователь может видеть, сколько всего вопросов было выполнено, получено правильно, неправильно во всех тестах и ​​что они набрали в каждой категории.

Так что я думал о следующей структуре:

questions
  -questionId
     question: "..."
     category: "category"
     subCategory: "sub-category"

student
   -studentId
      quizs
        -quizId
           numberOfQuestions: "10"
           categories: 
           number Correct: ...
      answeredQuestions
         -answeredQuestionId
            quizId: *id to group as a quiz*
            questionId: *id to ref question content*
            quizQuestionNumber: *which question in quiz 4th question out of 10*
            category: *from question content*
            subcategory: *from question content*
            isCorrect: boolean *if they got question correct*

Но я не уверен на 100% ... Вы достигли какого-либо прогресса?

спасибо, Дрю

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...