= Relational Model = == Relational diagram == [[Image(RelationalModel.jpg)]] == Descriptive documentation and argumentation == Овој релационен модел е дизајниран да поддржи систем за менаџирање со настани и продажба на билети (EventMK), со фокус на релацискиот интегритет и спречување на аномалии при процесот на резервација и купување. * **Модел сегмент за Корисници и Улоги (Users & Roles):** За да се избегне редундантност и креирање на повеќе табели за различен тип на корисници (Админ, Организатор, Купувач), моделирана е една централна табела `Users`. Правата на пристап и бизнис логиката се регулирани преку поврзување со табела `Roles` (1:N или M:N релација, зависно од потребата еден корисник да има повеќе улоги), што овозможува лесна скалабилност на системот. * **Модел сегмент за Настани и Локации (Events, Venues & Sectors):** Еден објект (`Venues`) може да биде домаќин на повеќе настани. За да се овозможи флексибилна продажба на билети, локациите се дополнително поделени на сектори (табела `Sectors`, на пр. Партер, Трибина, VIP). Настанот (`Events`) е поврзан со конкретната локација, а капацитетот се менаџира преку достапните сектори. * **Модел сегмент за Билети (TicketCategories & Tickets):** Направена е строга поделба помеѓу дефиницијата на билетот (табела `TicketCategories` - дефинира цена и вкупен капацитет за даден сектор за конкретен настан) и самиот генериран билет (табела `Tickets` или `TicketInstances`). Секој купен билет е посебен запис (ред) со уникатен идентификатор (QR/баркод), што е неопходно за физичка валидација на влезот. * **Модел сегмент за Нарачки (Orders & OrderItems):** Процесот на трансакција е моделиран преку `Orders` (заглавие на нарачката со вкупна сума, датум и поврзаност со купувачот) и `OrderItems` (детали за секој поединечен билет купен во рамки на таа трансакција). Оваа нормализирана структура овозможува купување на повеќе различни билети во една иста трансакција и ја подготвува основата за пишување на тригери (во Фаза 4) кои ќе го намалуваат преостанатиот капацитет при секоја успешна нарачка.