| | 1 | == UseCase009 with SQL - Објавување на песна/албум |
| | 2 | === Актери |
| | 3 | - Најавен артист |
| | 4 | === Чекор 1 |
| | 5 | Артистот пристапува до својот личен профил |
| | 6 | |
| | 7 | |
| | 8 | {{{ |
| | 9 | SELECT u.username, |
| | 10 | u.full_name, |
| | 11 | u.profile_photo, |
| | 12 | COUNT(DISTINCT follower)as follower_cnt, |
| | 13 | COUNT(DISTINCT followee) as followee_cnt |
| | 14 | FROM Artists a |
| | 15 | JOIN Non_admin_users nau ON a.user_id=8 AND nau.user_id=8 |
| | 16 | JOIN Users u ON u.user_id=nau.user_id |
| | 17 | JOIN Follows f ON f.followee=u.user_id OR f.follower=u.user_id |
| | 18 | GROUP BY u.username ,u.full_name, u.profile_photo |
| | 19 | }}} |
| | 20 | |
| | 21 | |
| | 22 | {{{ |
| | 23 | SELECT me.title, |
| | 24 | ac.role, |
| | 25 | me.genre |
| | 26 | FROM Artists a |
| | 27 | JOIN Non_admin_users nau on a.user_id=8 and nau.user_id=8 |
| | 28 | JOIN Users u on u.user_id=nau.user_id |
| | 29 | JOIN Artist_contributions ac on ac.artist_id=8 |
| | 30 | JOIN Musical_entities me on me.id=ac.musical_entity_id |
| | 31 | ORDER BY |
| | 32 | CASE |
| | 33 | WHEN ac.role='MAIN_VOCAL' THEN 0 |
| | 34 | ELSE 1 |
| | 35 | END |
| | 36 | }}} |
| | 37 | |
| | 38 | На профилната страна се прикажуваат бројот на следбеници, бројот на корисници кои артистот ги |
| | 39 | следи, како и неговите објавени песни. Прво оние каде е главен вокал, а потоа сите останати. |
| | 40 | |
| | 41 | * Даденото сценарио ги прикажува прашалниците кои би се извршиле доколку главниот актер има ID=8. |
| | 42 | |
| | 43 | === Чекор 2 |
| | 44 | |
| | 45 | При клик на копче за додавање нов албум се прикажува интерфејс каде корисникот ги пополнува соодветните информации. |
| | 46 | |
| | 47 | {{{ |
| | 48 | INSERT INTO Musical_entities (id, title, genre, release_date, released_by) |
| | 49 | VALUES |
| | 50 | (22, 'Album1','X','2026-01-01',8); |
| | 51 | |
| | 52 | }}} |
| | 53 | |
| | 54 | {{{ |
| | 55 | INSERT INTO Albums (id) values (22); |
| | 56 | }}} |
| | 57 | |
| | 58 | |
| | 59 | {{{ |
| | 60 | |
| | 61 | --for each song |
| | 62 | INSERT INTO Musical_entities (id, title, genre, release_date, released_by) |
| | 63 | VALUES |
| | 64 | (23, 'Song1','X','2026-01-01',8); |
| | 65 | }}} |
| | 66 | |
| | 67 | {{{ |
| | 68 | INSERT INTO Songs (id, album_id, link) |
| | 69 | VALUES (23,22,'example.com'); |
| | 70 | |
| | 71 | }}} |
| | 72 | |
| | 73 | Прво се додава албумот, а потоа сите песни кои се дел од албумот. |
| | 74 | |
| | 75 | |
| | 76 | |
| | 77 | |
| | 78 | |