ATTRIBUTE
DATA TYPE
DEFINITION
exam_id
INT
PK
public_exam_id
UUID
UNIQUE, NOT NULL NEVER CHANGING.
Questions
JSON OBJECT
NOT-NULL, NOT-UNIQUE, JSON ARRAY
ATTRIBUTE
DATA TYPE
DATA
DEFINITION
QUESTION
JSON ARRAY
questionTitle
STRING, NOT-NULL, NOT-UNIQUE,
order
NUMERIC, NOT-NULL, UNIQUE
mark
NUMERIC, NOT-NULL. NOT-UNIQUE
type
MCQ WRITTEN
answers
JSON ARRAY
{
"questionTitle": "bla bla bla",
"order": "3",
"mark": "1",
"type": "MCQ",
"answers": [...]
}
MCQ QUESTION (JSON OBJECT)
{
"answerText": "bla bla bla",
"isCorrect": "false"
}
WRITTEN QUESTION (JSON OBJECT)
ATTRIBUTE
DEFINITION
Answer
STRING, NOT-NULL, NOT-UNIQUE
Optional
BOOLEAN, DEFAULT(FALSE), NOT-NULL, NOT-UNIQUE
{
"answerText": "bla bla bla",
"isOptional": "false"
}
ATTRIBUTE
DATA TYPES
DEFINITION
exam_id
INT
PK ** FK**
program_id
INT
FK
ATTRIBUTE
DATA TYPES
DEFINITION
exam_id
INT
PK ** FK**
course_id
INT
FK
ATTRIBUTE
DATA TYPES
DEFINITION
exam_id
INT
PK ** FK**
lesson_id
INT
FK
ATTRIBUTE
DATA TYPES
DEFINITION
exam_result_id
INT
PK
exam_result_public_id
UUID
A exam_result_public_id is the unique identifier for the EXAM_RESULT in the website.A exam_result_public_id is UNIQUE, NOT NULL NEVER CHANGING
student_id
INT
FK
exam_id
INT
FK
grade
SMALLINT
It indicates the score of the student in a specific exam and whether he passed or failed is driven from the grade in this exam ( >= 100).