Changes between Version 9 and Version 10 of RelationalModel


Ignore:
Timestamp:
04/20/26 01:56:12 (13 days ago)
Author:
231007
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • RelationalModel

    v9 v10  
    1616== Детален опис на табелите
    1717
    18 1. User → Customer / Employee / Manager
    19 
    20 Моделот започнува со ентитетот user, кој ги содржи основните податоци за сите корисници (email, password, статус, датум на креирање).
    21 
    22 Наместо да се дуплираат овие податоци во повеќе табели, користен е пристап на наследување (generalization), при што customer, employee и manager се специјализации на user.
    23 
    24 Овој пристап е избран затоа што овозможува:
    25 
    26 централизирано управување со кориснички сметки
    27 избегнување на дуплирање на податоци
    28 можност за проширување (еден корисник потенцијално да има повеќе улоги)
    29 
    30 Секоја од овие табели содржи дополнителни атрибути специфични за улогата.
     18
     19'''1. User → Customer / Employee / Manager'''
     20
     21Ентитетот '''user''' претставува основа за сите типови корисници во системот. Ги содржи заедничките атрибути како email, password, статус и timestamps.
     22
     23Наместо да се дуплираат овие податоци, применета е generalization структура:
     24 * customer
     25 * employee
     26 * manager
     27
     28Овој пристап овозможува:
     29 * централизирана автентикација
     30 * избегнување на дуплирање
     31 * можност за проширување
     32
     33Секоја специјализација содржи дополнителни атрибути специфични за улогата.
     34
     35
     36'''2. Business и основни зависности'''
     37
     38'''Business → Location (1:N)'''
     39
     40Еден бизнис може да има повеќе локации. Локацијата е моделирана како посебен ентитет бидејќи адресата содржи повеќе атрибути.
     41
     42Ова овозможува:
     43 * нормализација
     44 * избегнување на повторување
     45 * поддршка за повеќе филијали
     46
     47
     48'''Business → Business Hours (1:N)'''
     49
     50Работното време е издвоено во посебна табела бидејќи варира по ден и не може да се претстави како едноставен атрибут.
     51
     52Ова овозможува:
     53 * флексибилност
     54 * лесно ажурирање
     55
     56
     57'''Business → Gallery (1:N)'''
     58
     59Бизнисот може да има повеќе слики, при што секоја има сопствени атрибути (URL, опис, датум).
     60
     61
     62'''3. Business ↔ Manager (M:N)'''
     63
     64Релацијата '''business_manager''' е many-to-many бидејќи:
     65 * еден менаџер може да управува со повеќе бизниси
     66 * еден бизнис може да има повеќе менаџери
     67
     68Содржи:
     69 * assigned_at
     70 * valid_to
     71
     72Ова овозможува следење на историја и временска зависност.
     73
     74
     75'''4. Business ↔ Employee (M:N)'''
     76
     77Релацијата '''business_employee''' ги поврзува вработените со бизнисите.
     78
     79 * еден employee може да работи во повеќе бизниси
     80 * еден бизнис има повеќе вработени
     81
     82Содржи:
     83 * date_start
     84 * date_finish
     85
     86Ова овозможува следење на периодот на ангажман.
     87
     88
     89'''5. Service → Service Category (1:N)'''
     90
     91Секој service припаѓа на една категорија.
     92
     93Категоријата е посебен ентитет за:
     94 * избегнување на дуплирање
     95 * стандардизација
     96 * полесно проширување
     97
     98
     99'''6. Business ↔ Service (M:N)'''
     100
     101Релацијата '''business_service''' содржи:
     102 * price
     103 * duration_minutes
     104 * is_active
     105
     106Овие атрибути зависат од конкретниот бизнис.
     107
     108Релацијата има сопствено значење и претставува дел од бизнис логиката.
     109
     110
     111'''7. Employee ↔ Service (M:N)'''
     112
     113Релацијата '''employee_service''' дефинира кои услуги може да ги извршува секој вработен.
     114
     115Ова е потребно бидејќи:
     116 * не сите вработени имаат исти вештини
     117 * услугите бараат специфични способности
     118
     119
     120'''8. Specialties'''
     121
     122Се користи ентитет '''specialty''' и поврзувачки табели:
     123 * business_specialty
     124 * employee_business_specialty
     125
     126Ова е затоа што:
     127 * специјалностите се мултивредносни
     128 * се избегнува дуплирање
     129
     130
     131'''9. Working Schedule и Slot'''
     132
     133'''Employee → Working Schedule (1:N)'''
     134
     135Работното време е моделирано како посебна табела со записи по ден.
     136
     137Ова овозможува:
     138 * различни смени
     139 * динамичко управување
     140
     141
     142'''Slot'''
     143
     144Ентитетот slot претставува временски интервали за закажување.
     145
     146Се користи за:
     147 * проверка на достапност
     148 * управување со термини
     149
     150
     151'''10. Appointment'''
     152
     153Ентитетот '''appointment''' е централен дел од системот.
     154
     155Ги поврзува:
     156 * customer
     157 * employee
     158 * business
     159 * service
     160 * slot
     161
     162Ова овозможува јасна структура и лесен пристап до податоци.
     163
     164
     165'''11. Cancellation'''
     166
     167Ентитетот '''cancellation''' е поврзан со appointment.
     168
     169Не секој appointment има cancellation, па затоа е издвоен.
     170
     171Содржи:
     172 * reason
     173 * refund_amount
     174
     175Ова овозможува јасна логика за откажувања.
     176
     177
     178'''12. Reschedule Request'''
     179
     180Ентитетот '''reschedule_request''' се користи за промена на термин.
     181
     182Наместо директно ажурирање, се креира нов запис.
     183
     184Ова овозможува:
     185 * следење на историја
     186 * контрола на процесот
     187
     188
     189'''13. Review'''
     190
     191Ентитетот '''review''' ги поврзува:
     192 * customer
     193 * employee
     194 * business
     195 * appointment
     196
     197Ова овозможува:
     198 * валидни рецензии
     199 * спречување злоупотреба
     200
     201
     202'''Заклучок'''
     203
     204Моделот обезбедува:
     205 * нормализирана структура
     206 * минимална редундантност
     207 * флексибилност
     208 * точна репрезентација на реални процеси
     209
     210Релациите не се користат само за поврзување, туку и за моделирање на бизнис логика и зависности.