| | 1 | = Логички и физички дизајн |
| | 2 | |
| | 3 | === Релациска шема (со мапирачка трансформација) |
| | 4 | |
| | 5 | • ''Primary key: __Underline__'' |
| | 6 | • ''Foreign key: *'' |
| | 7 | • ''not null: **Bold**'' |
| | 8 | |
| | 9 | |
| | 10 | ---- |
| | 11 | |
| | 12 | • User(__**userID**__, fullName, **username**, **password**) |
| | 13 | |
| | 14 | • Administrator(__**userID__*(user)**) |
| | 15 | |
| | 16 | • Moderator(__**userID__*(user)**) |
| | 17 | |
| | 18 | • QuizTaker(__**userID__*(user)**, tournamentID*(tournament), tournamentPhaseID*(tournament Phase)) |
| | 19 | |
| | 20 | • Tournament Organizer(__**userID__*(user)**, **tournamentID***(tournament)) |
| | 21 | |
| | 22 | • Tournament(__**tournamentID**__, **tournamentName**) |
| | 23 | |
| | 24 | • Tournament Phase(__**tournamentPhaseID**__, **tournamentID***(tournament), **tournamentPhaseName**) |
| | 25 | |
| | 26 | • Subject(__**subjectID**__, **name**) |
| | 27 | |
| | 28 | • Category(__**categoryID**__, name, **subjectID***(subject)) |
| | 29 | |
| | 30 | • Quiz(__**quizID**__, **categoryID***(category), **quizName**, tournamentPhaseID*(tournament Phase)) |
| | 31 | |
| | 32 | • Medal(__**medalID**__, **userID***(user), **tournamentID***(tournament), **medalName**, **description**) |
| | 33 | |
| | 34 | • Question(__**questionID**__, **questionText**, **quizID***(quiz)) |
| | 35 | |
| | 36 | • Hint(__**hintID**__, **hintText**, **questionID***(question)) |
| | 37 | |
| | 38 | • Text Question(__**questionID**__*(question)) |
| | 39 | |
| | 40 | • Selection Question(__**questionID**__*(question)) |
| | 41 | |
| | 42 | • Choice(__**choiceID**__, **questionID***(question), **isCorrect**, **choiceText**) |
| | 43 | |
| | 44 | • Selected Choice(__**choiceID**__*(choice)) |
| | 45 | |
| | 46 | • Attempt(__**attemptID**__, **userID***(user), **attemptDate**, **quizID***(quiz)) |
| | 47 | |
| | 48 | • Result(__**resultID**__, **attemptID***(attempt), **points**) |
| | 49 | |
| | 50 | • Badge(__**badgeID**__, **badgeName**, **description**, **resultID***(result)) |
| | 51 | |
| | 52 | • quiz_is_part_of_tournament(__**quizID**__*(quiz), __**tournamentID**__*(tournament)) |
| | 53 | |
| | 54 | • tournamentOrganizer_hosts _tournament(__**userID**__*(user), __**tournamentID**__*(tournament)) |
| | 55 | |
| | 56 | • question_is_part_of_quiz(__**questionID**__*(question), __**quizID**__*(quiz)) |
| | 57 | |
| | 58 | • quizTaker_participates_in_tournament(__**userID**__*(user), __**tournamentID**__*(tournament)) |
| | 59 | |
| | 60 | • quizTaker_participates_in_tournamentPhase(__**userID**__*(user), __**tournamentPhaseID**__*(tournament Phase)) |
| | 61 | |
| | 62 | • medal_is_awarded_to_quizTaker(__**medalID**__*(medal), __**userID**__*(user)) |
| | 63 | |