Релационен модел
Релационен дијаграм
На сликата подолу е прикажан деталниот релационен модел на базата на податоци за системот EMS-AMCV, изработен во Visual Paradigm. Моделот е оптимизиран за ефикасно управување со трансакциите и висок интегритет на податоците.
Прилог:
Дескриптивна документација и аргументација
Во овој дел се подетално објаснети специфичните сегменти од моделот кои содржат напредна логика или решенија за специфични бизнис проблеми.
1. Сегмент: Животен циклус на билет и Продажба (Ticket vs. Ticket_Purchase)
- Како и зошто: Моделот прави јасна разделба помеѓу инвентарот на седишта (
Ticket) и реализираната трансакција (Ticket_Purchase). ТабелатаTicketги содржи сите потенцијални места за еден настан, додекаTicket_Purchaseе запис за купување кој содржи уникатенqr_code. Релацијата е дефинирана како 1:N помеѓу билетот и купувањата. - Аргументација: Оваа структура овозможува повторна продажба на исто седиште. Кога еден билет ќе се рефундира, неговиот статус се враќа во „слободен“, а во
Ticket_Purchaseсе дозволува нов запис за следниот купувач. Со тоа се чува целосна историја на сопственост врз едно седиште низ времето.
2. Сегмент: Динамично ценообразовање и фази (Event_Period)
- Како и зошто: Наместо фиксна цена, воведовме табела
Event_Periodповрзана со случувањето на настанот (Event_Happening). Секој период има дефиниран процент на промена и насока (increase_decrease:true- покачување на цените за тој процент,false- намалување на цените за тој процент). - Аргументација: Ова овозможува системот автоматски да ги менаџира цените во зависност од временските периоди (пр. "Early Bird" попусти или "Last Minute" поскапувања).
3. Сегмент: Хиерархија и Интегритет на локации (Venue -> Section -> Seat)
- Како и зошто: Локациите се моделирани хиерархиски преку Non-Identifying релации со користење на вештачки клучеви. Наместо секое седиште да носи композитен клуч од својата секција и сала, тоа е дефинирано преку уникатно, независно
seat_id, кое преку надворешен клуч е поврзано соsection_id. - Аргументација: Оваа структура е екстремно оптимизирана за работа со големи количини податоци. Со елиминирање на композитните клучеви, драстично се намалува комплексноста и големината на индексите во базата. Ова ќе овозможи брзи JOIN операции и заштеда на мемориски ресурси, додека интегритетот и физичката локација се гарантираат преку едноставни и брзи референци помеѓу табелите.
4. Сегмент: Специјализација на ентитети (Inheritance)
- Како и зошто: Користена е специјализација на два нивоа:
- Изведувачи:
Performerкако основна табела, соMusical_PerformerиActing_Performerкако подтипови. - Настани:
Eventкако основна табела, соConcertиPlayкако подтипови.
- Изведувачи:
- Аргументација: Ова овозможува базата да биде екстремно флексибилна. Музичките изведувачи имаат жанр и издавачка куќа, додека театарските имаат улоги и агенции, а сепак сите се менаџираат унифицирано преку главната табела на изведувачи. Истата логика овозможува системот за билети да работи идентично за концерти и за претстави.
5. Сегмент: Финансиска безбедност и рефундација (Ticket_Refund)
- Како и зошто: Табелата за рефундација е поврзана со трансакцијата (
Ticket_Purchase) прекуpurchase_id. - Аргументација: Со оваа логика физички се оневозможува за една иста трансакција (купување) да се вратат парите повеќе од еднаш. Ова е клучна заштита против финансиски манипулации или системски грешки, обезбедувајќи прецизно сметководствено следење на вратените средства.
Attachments (2)
- RelationalModel-ProjectCode.svg (227.9 KB ) - added by 11 days ago.
- RelationalModel-ProjectCode.vpp (1012.0 KB ) - added by 11 days ago.
Download all attachments as: .zip
