KsaiLab
Figures

Er Learning

DOCX
%%{init: {"theme": "neutral", "themeVariables": {"fontFamily": "Times New Roman, serif"}}}%% erDiagram organizations ||--o{ users : "" organizations ||--o{ groups : "" users ||--o{ group_students : "" groups ||--o{ group_students : "" users ||--o{ group_teachers : "" groups ||--o{ group_teachers : "" groups ||--o{ group_topics : "" topics ||--o{ group_topics : "" topics ||--o{ sections : "" sections ||--o{ subsections : "" topics ||--o{ tests : "" sections ||--o{ tests : "" topics ||--o{ questions : "" sections ||--o{ questions : "" tests ||--o{ test_questions : "" questions ||--o{ test_questions : "" users ||--o{ test_attempts : "" tests ||--o{ test_attempts : "" organizations { int id PK string name } users { int id PK string role int organization_id FK } groups { int id PK int organization_id FK } group_students { int group_id FK int user_id FK } group_teachers { int group_id FK int user_id FK } group_topics { int group_id FK int topic_id FK } topics { int id PK string title } sections { int id PK int topic_id FK } subsections { int id PK int section_id FK string type } tests { int id PK int topic_id FK int section_id FK string type } questions { int id PK int topic_id FK int section_id FK } test_questions { int test_id FK int question_id FK } test_attempts { int id PK int user_id FK int test_id FK string status }

%%{init: {"theme": "neutral", "themeVariables": {"fontFamily": "Times New Roman, serif"}}}%% erDiagram organizations ||--o{ users : "" organizations ||--o{ groups : "" users ||--o{ group_students : "" groups ||--o{ group_students : "" users ||--o{ group_teachers : "" groups ||--o{ group_teachers : "" groups ||--o{ group_topics : "" topics ||--o{ group_topics : "" topics ||--o{ sections : "" sections ||--o{ subsections : "" topics ||--o{ tests : "" sections ||--o{ tests : "" topics ||--o{ questions : "" sections ||--o{ questions : "" tests ||--o{ test_questions : "" questions ||--o{ test_questions : "" users ||--o{ test_attempts : "" tests ||--o{ test_attempts : "" organizations { int id PK string name } users { int id PK string role int organization_id FK } groups { int id PK int organization_id FK } group_students { int group_id FK int user_id FK } group_teachers { int group_id FK int user_id FK } group_topics { int group_id FK int topic_id FK } topics { int id PK string title } sections { int id PK int topic_id FK } subsections { int id PK int section_id FK string type } tests { int id PK int topic_id FK int section_id FK string type } questions { int id PK int topic_id FK int section_id FK } test_questions { int test_id FK int question_id FK } test_attempts { int id PK int user_id FK int test_id FK string status }