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). Ова овозможува корисникот да остави брза нумеричка оцена која лесно се агрегира за пресметување на просечен рејтинг, но и детално мислење со датум на објава.
Attachments (2)
- RelationalModel-VidiDB.svg (234.1 KB ) - added by 13 days ago.
- RelationalModel-VidiDB.vpp (936.0 KB ) - added by 13 days ago.
Download all attachments as: .zip
