Quiz and assessment engine database schema

A quiz engine that handles four question types at once: reusable question banks, draw rules and randomised papers, typed answer keys, per-question responses, partial credit, negative marking and time limits.

Quiz App ER diagram

Quiz and assessment engine database schema n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 11 n1 n1 n1 users idBIGINT emailVARCHAR display_nameVARCHAR roleVARCHAR is_activeBOOLEAN created_atDATETIME question_pools idBIGINT owner_idBIGINT nameVARCHAR subjectVARCHAR descriptionTEXT is_sharedBOOLEAN created_atDATETIME questions idBIGINT pool_idBIGINT question_typeVARCHAR promptTEXT media_urlVARCHAR pointsDECIMAL scoring_modeVARCHAR shuffle_optionsBOOLEAN difficultyTINYINT explanationTEXT is_retiredBOOLEAN question_options idBIGINT question_idBIGINT ordinalSMALLINT bodyTEXT is_correctBOOLEAN credit_weightDECIMAL feedbackVARCHAR answer_keys idBIGINT question_idBIGINT match_modeVARCHAR expected_valueVARCHAR numeric_toleranceDECIMAL credit_weightDECIMAL ordinalSMALLINT quizzes idBIGINT owner_idBIGINT titleVARCHAR slugVARCHAR stateVARCHAR time_limit_secondsINTEGER max_attemptsSMALLINT pass_mark_percentDECIMAL shuffle_questionsBOOLEAN show_answers_afterVARCHAR opens_atDATETIME closes_atDATETIME created_atDATETIME quiz_pool_rules idBIGINT quiz_idBIGINT pool_idBIGINT section_ordinalSMALLINT draw_countSMALLINT question_type_fil…VARCHAR min_difficultyTINYINT max_difficultyTINYINT attempts idBIGINT quiz_idBIGINT user_idBIGINT attempt_numberSMALLINT stateVARCHAR started_atDATETIME expires_atDATETIME submitted_atDATETIME raw_scoreDECIMAL max_scoreDECIMAL percent_scoreDECIMAL passedBOOLEAN attempt_questions idBIGINT attempt_idBIGINT question_idBIGINT positionSMALLINT option_orderJSON points_possibleDECIMAL scoring_modeVARCHAR responses idBIGINT attempt_question_…BIGINT text_answerVARCHAR answered_atDATETIME time_spent_secondsINTEGER is_flaggedBOOLEAN awarded_pointsDECIMAL is_correctBOOLEAN graded_atDATETIME matched_answer_ke…BIGINT response_selections response_idBIGINT option_idBIGINT selected_atDATETIME

Related database schemas