Changes between Version 2 and Version 3 of RelationalModel


Ignore:
Timestamp:
06/13/26 15:45:55 (7 days ago)
Author:
231017
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • RelationalModel

    v2 v3  
    33== ЕР Дијаграм
    44
    5 [[Image(RelationalModel.jpg, 1400px)]]
     5[[Image(er-v3_.jpg, 1400px)]]
    66
    77== Дополнителен Опис
     
    1717За секое од наведените подмножества има меѓусебна исклучивост, поточно точно еден од клучевите мора да биде non-null. Ова не можеме да го опфатиме во релациониот модел, но истото ќе биде опфатено понатаму во DDL скриптата.
    1818
    19 [*] Во дијаграмот има грешка при именување на вториот атрибут (`Label_Adminsid` треба да биде `published_by_label_admin_id`).
    2019
    2120- Чуваме табели `Playback_Sessions` и `Song_Streams`. Причината за ова е бидејќи `Playback_Sessions` ги чува сите сесии каде некој корисник слушал некоја песна, макар и да ја слушал само неколку секунди или ја прескокнал додека барал некоја друга. Јасно е дека доколку ова го чуваме како едно слушање на песната ќе води до многу инфлаторни податоци, па затоа ќе поставиме одреден праг кој треба да се постигне за една сесија да се смета за валидно слушање (пр. 30 секунди). За секоја од овие валидни сесии при надминување на прагот ќе следи запис во `Song_Streams` табелата. Оваа табела намерно е денормализирана (содржи редундантни податоци за `streamed_at`, `song_id` кои би можеле да се земат и со join преку `playback_session_id`) со цел сите аналитики околу бројот на слушања да се прават директно на оваа табела бидејќи нема да ги содржи оние записи коишто не ни се од интерес.