wiki:ERModel

Version 6 (modified by 231017, 5 days ago) ( diff )

--


Податочни барања

Ентитети

  1. User – ентитет кој чува информации за секаков тип корисници на апликацијата
    • user_id (bigint)
    • profile_photo (text, not null)
    • email (text, not null)
    • username (text, not null)
    • full_name(text, not null)
    • password (text, not null)

  1. Non-Admin User – ентитет кој чува податоци за слушателите и артистите
    • user_id* (bigint)
  1. Admin – ентитет кој чува податоци за администраторот
    • user_id* (bigint)
  1. Listener – ентитет кој чува податоци за слушателот на музика (секојдневен корисник)
    • user_id* (bigint)
  1. MusicalEntity - ентитет кој чува податоци за сите форми на објавена музика (Песна и Албум)
    • id (bigint)
    • title (text, not null)
    • genre (text, not null)
    • release_date (date, not null)
  1. Song – ентитет кој чува податоци за песните
    • link (text, not null)
    • id* (bigint)
  1. Artist – ентитет кој чува податоци за артистите (креатори на музика)
    • user_id* (bigint)
  1. Event – ентитет кој чува податоци за настаните на коишто настапуваат артистите
    • event_id (bigint)
    • location (text, not null)
    • venue (text, not null)
  1. Album – ентитет кој чува податоци за албумите објавени од артистите
    • id* (bigint)
  1. Playlist – ентитет кој чува податоци за плејлистите креирани од корисниците
    • playlist_id (bigint)
    • cover (text, not null)
    • name (text, not null)

Релации

  1. follows (Non-Admin User ↔ Non-Admin User N:M)

Корисницте можат да следат други корисници.

  1. performs_at (Event ↔ Artist, N:M)

Артистите можат да настапуваат на настапи.

  1. artist_create (Artist ↔ Event, 1:N)

Артистот може да објавува настани

  1. admin_create (Admin ↔ Event, 1:N)

Администраторот може да објавува настани

  1. likes (Listener ↔ MusicalEntity, N:M)

Корисниците можат да ги додадат песните/албумите во листа на омилени (favourites).

  1. listens_to (Listener ↔ Song, N:M)

Корисницте можат да слушаат песни и притоа се зачувува бројот на слушања.

  1. reviews (Listener ↔ MusicalEntity, N:M)

Корисниците можат да ги оценуваат песните/албумите со оценка (1-5) и коментар.

  1. creates (Listener ↔ Playlist, 1:M)

Корисниците можат да креираат листи со песни.

  1. saves (Listener ↔ Playlist, N:M)

Корисниците можат да зачувуваат листи со песни креирани од други корисници.

  1. is_in (Song ↔ Playlist, N:M)

Песните можат да се наоѓаат во листи со песни креирани од корисниците.

  1. has (Album ↔ Song, 1:N)

Еден албум содржи песни.

  1. modifies (Admin ↔ Song, 1:N)

Администраторот може да ги промени метаподатоците за песните.

  1. removes (Admin ↔ Song, 1:N)

Администраторот може да ги отстрани песните од базата.

  1. releases (Artist ↔ MusicalEntity, 1:N)

Артист може да објави песни/албуми.

  1. is_part_of (Artist ↔ MusicalEntity, N:M)

Артист може да е дел од песна/албум, и притоа да зазема различна улога (пр. главен вокал, гитарист, итн.)

Историјат

Верзија 1 - Почетна верзија

Верзија 2

  • Админинстраторот и артистите можат да додаваат настани.
  • Песните и албумите наследуваат од заедничка суперкласа - MusicalEntity
  • Артистите можат да бидат дел од песни/албуми, и притоа да имаат различни улоги.
  • Албумите можат да бидат објавени само од еден артист.

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.