Changes between Version 1 and Version 2 of UseCase009Implemented


Ignore:
Timestamp:
08/06/26 21:18:16 (45 hours ago)
Author:
231017
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UseCase009Implemented

    v1 v2  
    2222{{{
    2323SELECT me.title,
    24        ac.role,
    25        me.genre
     24       me.genre,
     25       c.contribution_order,
     26       STRING_AGG(r.name, ', ' ORDER BY r.name) AS roles
    2627FROM Artists a
    2728         JOIN Non_admin_users nau on a.user_id=8 and nau.user_id=8
    2829         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
     30         JOIN Contributions c on c.artist_id=8
     31         JOIN Musical_entities me on me.id=c.musical_entity_id
     32         JOIN Contribution_roles cr on cr.musical_entity_id=c.musical_entity_id
     33                                    and cr.artist_id=c.artist_id
     34         JOIN Roles r on r.role_id=cr.role_id
     35         GROUP BY me.id, me.title, me.genre, me.release_date, c.contribution_order
     36         ORDER BY c.contribution_order, me.release_date DESC
    3637}}}
    3738
     39
    3840На профилната страна се прикажуваат бројот на следбеници, бројот на корисници кои артистот ги
    39 следи, како и неговите објавени песни. Прво оние каде е главен вокал, а потоа сите останати.
     41следи, како и неговите објавени песни/албуми. Записите каде артистот е носител на делото, т.е. contribution_order=1, се прикажуваат први, а потоа следат сите останати
     42подредени по нивниот contribution_order.
    4043
    41 * Даденото сценарио ги прикажува прашалниците кои би се извршиле доколку главниот актер има ID=8.
    4244
    4345=== Чекор 2
     
    4951VALUES
    5052    (22, 'Album1','X','2026-01-01',8);
    51 
    5253}}}
    5354
     
    5657}}}
    5758
     59{{{
     60-- за албумот и за секоја песна одделно се запишува придонесот, како и улогата која ја имал артистот
     61INSERT INTO Contributions (musical_entity_id, artist_id, contribution_order)
     62VALUES (22, 8, 1);
     63}}}
     64
     65{{{
     66INSERT INTO Contribution_roles (musical_entity_id, artist_id, role_id)
     67VALUES (22, 8, 1);
     68}}}
    5869
    5970{{{
     
    6879INSERT INTO Songs (id, album_id, link)
    6980VALUES (23,22,'example.com');
    70 
    7181}}}
    7282
    73 Прво се додава албумот, а потоа сите песни кои се дел од албумот.
     83{{{
     84
     85INSERT INTO Contributions (musical_entity_id, artist_id, contribution_order)
     86VALUES (23, 8, 1);
     87}}}
     88
     89{{{
     90INSERT INTO Contribution_roles (musical_entity_id, artist_id, role_id)
     91VALUES (23, 8, 1);
     92}}}
    7493
    7594
     95=== Чекор 3 (опционално - дополнителни придонесувачи)
    7696
    7797
     98{{{
     99-- пример: featured артист со ID=15 се додава како втор придонесувач на песната
     100INSERT INTO Contributions (musical_entity_id, artist_id, contribution_order)
     101VALUES (23, 15, 2);
     102}}}
    78103
     104{{{
     105INSERT INTO Contribution_roles (musical_entity_id, artist_id, role_id)
     106VALUES (23, 15, (SELECT role_id FROM Roles WHERE name='Featured Artist'));
     107}}}