wiki:RelationalModel

Relational diagram

Напомена: Оригиналниот модел во Visual Paradigm формат е прикачен на оваа страница: RelationalModel-VidiDB.vpp

Descriptive documentation and argumentation

Во овој дел е детално објаснета логиката зад клучните сегменти на релациониот модел за системот Vidi.

1. Хиерархија на содржина (Content, Movie, Series, Season, Episode)

Моделот користи специјализација за менаџирање на различните типови содржина. Ентитетот Content ги чува заедничките атрибути (наслов, опис, рејтинг), додека Movie и Series се посебни табели поврзани со него.

  • За сериите е имплементирана дополнителна хиерархија Series -> Season -> Episode, што овозможува прецизно следење на епизодите и нивното времетраење преку ентитетот Watchable.

2. Систем за гледање и напредок Watchable, WatchHistory

За да избегнеме дуплирање на логиката за "филм" и "епизода", воведен е апстрактниот ентитет Watchable.

  • И Movie и Episode се поврзани со Watchable. Ова овозможува WatchHistory и Watchlist да се однесуваат на било кој медиумски елемент униформно, следејќи го процентот на изгледаност (Progress_percentage) без разлика на типот на содржината.

3. Претплати и пристап (Subscription, User_Subscription, Devices)

Моделот поддржува комплексен систем на претплати:

  • Subscription ги дефинира плановите (цена, квалитет, број на уреди).
  • User_Subscription е врска која го следи времетраењето на претплатата на корисникот и дали истата автоматски се обновува.
  • Табелата Devices е поврзана со претплатата за да се осигура дека корисникот не го надминува лимитот на дозволени уреди (MaxDevices) дефиниран во неговиот пакет.

4. Класификација и метаподатоци (Genre, Language, Artist)

За ефикасно пребарување, користени се "many-to-many" врски преку посреднички табели:

  • Content_Genre и Content_Language овозможуваат еден филм или серија да припаѓаат на повеќе жанрови и да бидат достапни на повеќе јазици.
  • Artist_Content го поврзува содржината со актерите и режисерите, каде преку RoleType во табелата Artist се дефинира нивната функција во проектот.

5. Интеракција со корисници (Rating, Review)

Системот ги раздвојува оценките (Rating) од текстуалните рецензии (Review). Ова овозможува корисникот да остави брза нумеричка оцена која лесно се агрегира за пресметување на просечен рејтинг, но и детално мислење со датум на објава.

Last modified 13 days ago Last modified on 04/20/26 00:00:57

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.