Changes between Version 3 and Version 4 of erd
- Timestamp:
- 01/24/26 13:42:09 (6 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
erd
v3 v4 10 10 1. **User** – ентитет кој чува податоци за крајните корисници (клиенти) 11 11 - user_id (primary key, bigint) 12 - name (string, задолжително) 13 - email (string, задолжително) 14 - password_hash (string, задолжително) 15 - loginProvider (enum {local, google}, задолжително) 16 - isVerified(boolean, задолжително - за мејл верификација) 17 - isProfileComplete (boolean, задолжително - за персонализирање на профил) 18 - hasUsedFreeConsultation (boolean, задолжително) 12 19 - workPosition (string, задолжително) 13 20 - companySize (enum {freelance, micro, small, medium, mid_market, enterprise, other}, задолжително) 14 21 - points (int, задолжително) 15 - favoriteCourses (int[], задолжително) 16 - loginProvider (enum {local, google}, задолжително) 17 - hasUsedFreeConsultation (boolean, задолжително) 18 - isProfileComplete (boolean, задолжително) 19 - isEmailVerified(boolean, задолжително) 20 - email (string, задолжително) 21 - password_hash (string, задолжително) 22 - name (string, задолжително) 22 - favoriteCourseIds (int[], задолжително) 23 23 24 24 2. **Expert** – ентитет кој чува податоци за експертот … … 30 30 3. **Enrollment** – ентитет кој чува податоци за превземање на курс од страна на клиент 31 31 - enrollment_id (primary key, bigint) 32 - activatedAt (date, задолжително) 33 - completedAt (date, задолжително) 34 - dateEnrolled (date, задолжително) 32 - enrollmentStatus (enum {pending, active, completed}, задолжително) 33 - activationDate (date, задолжително) 34 - completionDate (date, задолжително) 35 - purchaseDate (date, задолжително) 35 36 - user_id (foreign key, bigint) 37 - course_version_id (foreign key, bigint) 36 38 37 39 4. **Payment** – ентитет кој чува податоци за наплатата на корисниците за курс 38 40 - payment_id (primary key, bigint) 39 41 - ammount(double, задолжително) 40 - date (date, задолжително)42 - paymentDate (date, задолжително) 41 43 - paymentMethod (enum {card, paypal, casys}, задолжително) 42 44 - paymentStatus (enum {pending, completed, failed}, задолжително) … … 47 49 - rating (int, задолжително) 48 50 - comment (string, задолжително) 49 - date (date, задолжително)51 - reviewDate (date, задолжително) 50 52 - enrollmend_id (foreign_key, bigint) 51 53 … … 61 63 - color (string, задолжително) 62 64 - difficulty (enum {beginner, intermediate, advanced, expert}, задолжително) 63 - durationMin (int, задолжително)65 - durationMinutes (int, задолжително) 64 66 - imageUrl (string, задолжително) 65 - durationMin(double, задолжително)67 - prica (double, задолжително) 66 68 67 69 8. **Course Translate** – ентитет кој чува податоци за различните преведувања за одреден курс … … 92 94 - course_lecture_id (primary key, bigint) 93 95 - position(int, задолжително) 94 - durationMin (int, задолжително)96 - durationMinutes (int, задолжително) 95 97 - contentType (enum {text, file, video, quiz}, задолжително) 96 98 - course_content_id (foreign_key, bigint) … … 131 133 Секое Enrollment припаѓа на точно еден User. 132 134 133 3. **has** ( ENROLLMENT ↔ PAYMENT, 1:1)134 Секоја инстанца на Enrollment има точно една инстанца на Payment.135 Секоја инстанца на Payment припаѓа точно на една инстанца на Enrollment.135 3. **has** (PAYMENT ↔ ENROLLMENT, 1:1) 136 Секоја инстанца на Payment има точно една инстанца на Enrollment. 137 Секоја инстанца на Enrollment може да припаѓа на точно една инстанца на Payment. 136 138 137 4. **has** ( ENROLLMENT ↔ REVIEW, 1:1)138 Секоја инстанца на Enrollment има точно една инстанца на Review.139 Секоја инстанца на Review припаѓа точно на една инстанца на Enrollment.139 4. **has** (REVIEW ↔ ENROLLMENT, 1:1) 140 Секоја инстанца на Review има точно една инстанца на Enrollment. 141 Секоја инстанца на Enrollment може да припаѓа на точно една инстанца на Review. 140 142 141 5. **has** (ENROLLMENT ↔ COURSE_VERSION, N:1) 142 Една инстанца на Enrollment припаѓа на точно една инстанца на CourseVersion.143 5. **has** (ENROLLMENT ↔ COURSE_VERSION, N:1) 144 Секоја инстанца на Enrollment има точно една инстанца на CourseVersion. 143 145 Една инстанца на CourseVersion може да биде дел од повеќе инстанци на Enrollment. 144 146 145 6. **has** (COURSE _VERSION ↔ COURSE, 1:N)147 6. **has** (COURSE ↔ COURSE_VERSION, 1:N) 146 148 Една инстанца на Course може да има повеќе инстанци на CourseVersion. 147 149 Секоја инстанца на CourseVersion припаѓа на точно една инстанца на Course. 148 150 149 7. **isTranslatedInto** (COURSE ↔ COURSE_TRANSLATE, N:1)151 7. **isTranslatedInto** (COURSE_VERSION ↔ COURSE, N:1) 150 152 Секоја инстанца на CourseTranslate припаѓа на точно една инстанца на Course. 151 153 Една инстанца на Course може да има повеќе инстанци на CourseTranslate.
