| Version 2 (modified by , 3 weeks ago) ( diff ) |
|---|
ER дијаграм
Податочни барања
Ентитети
- User - Ентитет што ги претставува корисниците на системот
- user_id – primary key(примарен клуч)
- full_name – varchar (задолжителен атрибут)
- email – varchar (задолжителен атрибут)
- phone – varchar (задолжителен атрибут)
- created_at – datetime (задолжителен атрибут)
- Role - Ентитет што ги претставува улогите што корисниците можат да ги имаат во системот
- role_id – primary key(примарен клуч)
- name – varchar (задолжителен атрибут)
- Review - Ентитет што ги претставува рецензиите дадени од корисниците
- review_id – primary key(примарен клуч)
- Service - Ентитет што ги претставува услугите што ги нуди салонот
- service_id – primary key(примарен клуч)
- name – varchar (задолжителен атрибут)
- price – decimal (задолжителен атрибут)
- duration_minutes – int (задолжителен атрибут)
- Category - Ентитет што ги претставува категориите на услуги
- category_id – primary key(примарен клуч)
- name – varchar (задолжителен атрибут)
- Package - Ентитет што ги претставува пакетите на услуги што ги нуди салонот
- package_id – primary key(примарен клуч)
- name – varchar (задолжителен атрибут)
- max_usage – int (задолжителен атрибут)
- Appointment - Ентитет што ги претставува закажаните термини на корисниците
- appointment_id – primary key(примарен клуч)
- appointment_time – datetime (задолжителен атрибут)
- end_time – datetime (задолжителен атрибут)
- notes – text
- total_price – decimal (задолжителен атрибут)
- Status - Ентитет што ги претставува можните статуси на термините
- status_id – primary key(примарен клуч)
- name – varchar (задолжителен атрибут)
- LoyaltyCard - Ентитет што ги претставува картичките за лојалност на корисниците
- card_id – primary key(примарен клуч)
- points – int (задолжителен атрибут)
- Payment - Ентитет што ги претставува плаќањата направени од корисниците
- payment_id – primary key(примарен клуч)
- amount – decimal (задолжителен атрибут)
- method – varchar (задолжителен атрибут)
- timestamp – datetime (задолжителен атрибут)
- status – varchar (задолжителен атрибут)
Релации
1. UserRole – M:N релација помеѓу User и Role Еден корисник може да има повеќе улоги, и една улога може да биде доделена на повеќе корисници. Оваа релација овозможува флексибилен систем за управување со дозволи.
2. UserReview – 1:N релација помеѓу User и Review Еден корисник може да напише повеќе рецензии, но една рецензија припаѓа на точно еден корисник. Оваа релација го следи авторството на рецензиите.
3. ServiceReview – 1:N релација помеѓу Service и Review Една услуга може да добие повеќе рецензии, но една рецензија се однесува на точно една услуга. Оваа релација овозможува корисниците да оценуваат специфични услуги.
4. ServiceCategory – N:1 релација помеѓу Service и Category Повеќе услуги можат да припаѓаат на иста категорија, но секоја услуга припаѓа на точно една категорија. Оваа релација ги организира услугите во категории.
5. PackageService – M:N релација помеѓу Package и Service Еден пакет може да содржи повеќе услуги, и една услуга може да биде дел од повеќе пакети. Оваа релација овозможува креирање на промотивни пакети со попуст. Дополнителен атрибут: discounted_price.
6. UserAppointment – 1:N релација помеѓу User и Appointment Еден корисник може да има повеќе термини, но еден термин припаѓа на точно еден корисник. Оваа релација ги следи закажаните термини на секој корисник.
7. AppointmentService – M:N релација помеѓу Appointment и Service Еден термин може да вклучува повеќе услуги, и една услуга може да биде дел од повеќе термини. Оваа релација овозможува флексибилно закажување на комбинирани услуги.
8. AppointmentStatus – N:1 релација помеѓу Appointment и Status Повеќе термини можат да имаат ист статус, но секој термин има точно еден статус. Оваа релација го следи статусот на термините (закажан, завршен, откажан, итн.).
9. UserLoyaltyCard – 1:1 релација помеѓу User и LoyaltyCard Еден корисник има точно една картичка за лојалност, и една картичка за лојалност припаѓа на точно еден корисник. Оваа релација овозможува систем за бодови и награди за лојални корисници.
10. AppointmentPayment – N:1 релација помеѓу Payment и Appointment Еден термин може да има повеќе плаќања поврзани со него (пр. аконтација и конечно плаќање), но секое плаќање се однесува на точно еден термин. Оваа релација ги следи финансиските трансакции за секој термин.
Attachments (4)
-
Untitled Diagram.drawio (1).png
(246.8 KB
) - added by 3 weeks ago.
er_v1
- VenusBeauty_ER.xml (58.2 KB ) - added by 3 weeks ago.
- VenusBeauty_ER.png (243.6 KB ) - added by 3 weeks ago.
- VenusBeauty_ER_v2.png (232.9 KB ) - added by 3 weeks ago.
Download all attachments as: .zip

