Changes between Version 1 and Version 2 of ERModel


Ignore:
Timestamp:
12/08/25 20:47:55 (3 weeks ago)
Author:
231017
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ERModel

    v1 v2  
    11[[Image(ERModel_v01.png, 1000px)]]
     2
     3----
     4== Податочни барања==
     5
     6=== Ентитети ===
     7
     81. **User** – ентитет кој чува информации за секаков тип корисници на апликацијата
     9 - __user_id__ (bigint)
     10 - profile_photo (text, not null)
     11 - email (text, not null)
     12 - username (text, not null)
     13 - full_name(text, not null)
     14 - password (text, not null)
     15 
     162. **Non-Admin User** – ентитет кој чува податоци за слушателите и артистите
     17   - __user_id*__ (bigint)
     18
     193. **Admin** – ентитет кој чува податоци за администраторот
     20   - __user_id*__ (bigint)
     21
     224. **Listener** – ентитет кој чува податоци за слушателот на музика (секојдневен корисник)
     23   - __user_id*__ (bigint)
     24
     255. **Song** – ентитет кој чува податоци за песните
     26   - __song_id__ (bigint)
     27   - title (text, not null)
     28   - genre (text, not null)
     29   - link (text, not null)
     30   - release_date (date, not null)
     31
     326. **Artist** – ентитет кој чува податоци за артистите (креатори на музика)
     33   - __user_id*__ (bigint)
     34
     357. **Event** – ентитет кој чува податоци за настаните на коишто настапуваат артистите
     36   - __event_id__ (bigint)
     37   - location (text, not null)
     38   - venue (text, not null)
     39
     408. **Album** – ентитет кој чува податоци за албумите објавени од артистите
     41   - __album_id__ (bigint)
     42   - title (text, not null)
     43   - release_date (date, not null)
     44   - cover (text, not null)
     45
     469. **Playlist** – ентитет кој чува податоци за плејлистите креирани од корисниците
     47   - __playlist_id__ (bigint)
     48   - cover (text, not null)
     49   - name (text, not null)
     50
     51----
     52=== Релации ===
     53
     541. **follows** (Non-Admin User ↔ Non-Admin User N:M) 
     55   Корисницте можат да следат други корисници.
     56
     572. **performs_at** (Event ↔ Artist, N:M) 
     58   Артистите можат да настапуваат на настапи.
     59
     603. **likes** (Listener ↔ Song, N:M) 
     61    Корисниците можат да ги додадат песните во листа на омилени песни (favourites).
     62
     634. **listens_to** (Listener ↔ Song, N:M) 
     64   Корисницте можат да слушаат песни и притоа се зачувува бројот на слушања.
     65
     665. **reviews** (Listener ↔ Song, N:M) 
     67   Корисниците можат да оценуваат песни со оценка (1-5) и коментар.
     68
     696. **creates** (Listener ↔ Playlist, 1:M) 
     70   Корисниците можат да креираат листи со песни.
     71
     727. **saves** (Listener ↔ Playlist, N:M) 
     73   Корисниците можат да зачувуваат листи со песни креирани од други корисници.
     74
     758. **is_in** (Song ↔ Playlist, N:M) 
     76   Песните можат да се наоѓаат во листи со песни креирани од корисниците.
     77
     789. **has** (Song ↔ Album, 1:N) 
     79   Еден албум содржи песни.
     80
     8110. **modifies** (Admin ↔ Song, 1:N)
     82   Администраторот може да ги промени метаподатоците за песните.
     83   
     8411. **removes** (Admin ↔ Song, 1:N) 
     85   Администраторот може да ги отстрани песните од базата.
     86
     8712. **releases_single** (Artist ↔ Song, N:M) 
     88   Артистите можат да објавуваат поединечни песни.
     89
     9013. **releases_album** (Artist ↔ Song, N:M) 
     91   Артистите можат да објавуваат албуми со песни.