Changes between Version 9 and Version 10 of RelationalDesign
- Timestamp:
- 02/26/26 10:43:26 (3 weeks ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
RelationalDesign
v9 v10 1 == Релациска шема со мапирачка трансформација 1 == Релациска шема со мапирачка трансформација 2 2 3 3 * Примарни клучеви означени со underline 4 4 * Надворешни клучеви означени со * и табела кон која покажува 5 5 * Not null атрибути означени со bold 6 User (__**user_id**__, **full_name**, **email**, **phone**, **created_at**)7 6 8 Role (__**role_id**__, **name**)7 User (__**user_id**__, **full_name**, **email UNIQUE**, **phone**, **created_at**, **password_hash**) 9 8 10 Category (__**category_id**__, **name**)9 Role (__**role_id**__, **name UNIQUE**) 11 10 12 Status (__**status_id**__, **name**) 11 Category (__**category_id**__, **name UNIQUE**) 12 13 Status (__**status_id**__, **name UNIQUE**) 13 14 14 15 Service (__**service_id**__, **name**, **price**, **duration_minutes**, **category_id*(Category)**) 15 16 16 Package (__**package_id**__, **name**, **max_usage** )17 Package (__**package_id**__, **name**, **max_usage**, **total_price**) 17 18 18 Review (__**review_id**__, rating, comment, created_at, **payment_id*(Payment) UNIQUE**)19 Review (__**review_id**__, **rating**, comment, **created_at**, **payment_id*(Payment) UNIQUE**) 19 20 20 Appointment (__**appointment_id**__, **appointment_time**, **end_time**, notes, **type enum('pre-booked','walk-in')**, **total_price**, **user_id*(User)**, **status_id*(Status)** )21 Appointment (__**appointment_id**__, **appointment_time**, **end_time**, notes, **type enum('pre-booked','walk-in')**, **total_price**, **user_id*(User)**, **status_id*(Status)**, **points_awarded**) 21 22 22 LoyaltyCard (__**card_id**__, **points**, user_id*(User))23 LoyaltyCard (__**card_id**__, **points**, **user_id*(User) UNIQUE**) 23 24 24 Payment (__**payment_id**__, **amount**, **method**, **timestamp**, **status**, **appointment_id*(Appointment)**, points_used)25 Payment (__**payment_id**__, **amount**, **method**, **timestamp**, **status**, appointment_id*(Appointment), **points_used**, package_purchase_id*(UserPackagePurchase)) 25 26 26 27 UserRole (__**user_id*(User)**__, __**role_id*(Role)**__) 27 28 28 PackageService (__**package_id*(Package)**__, __**service_id*(Service)**__, discounted_price)29 PackageService (__**package_id*(Package)**__, __**service_id*(Service)**__, **discounted_price**) 29 30 30 31 AppointmentService (__**appointment_id*(Appointment)**__, __**service_id*(Service)**__) 31 32 32 Availability (__**availability_id __**, __**date__**, __**start_time__**, __**end_time__**, __**is_closed__**)33 Availability (__**availability_id**__, **date**, **start_time**, **end_time**, **is_closed**) 33 34 34 UserPackagePurchase (__**purchase_id __**, *user_id(User), __***package_id(Package)__**,__**purchased_at__**, __**total_uses__**, __**remaining_uses__**, __**status__**, expires_at)35 UserPackagePurchase (__**purchase_id**__, **user_id*(User)**, **package_id*(Package)**, **purchased_at**, **total_uses**, **remaining_uses**, **status**, expires_at) 35 36 36 37 AppointmentPackageUsage (__**appointment_id*(Appointment)**__, **purchase_id*(UserPackagePurchase)**, **service_id*(Service)**, **used_units**, finalized_at)
