| 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 | |