| 4 | | |
| 5 | | |
| | 5 | == Извештај 1: Преглед на активноста во заедницата |
| | 6 | //Account Activity Log// |
| | 7 | === Опис на барањата за податоци |
| | 8 | Извештајот покажува колку е активна секоја сметка во четирите дела на апликацијата. |
| | 9 | За секој корисник ги брои креираните рецепти, објавите, коментарите и записите во дневникот, заедно со неговата улога |
| | 10 | од USER кон RECIPE, POST, COMMENT и INTAKE_PLANNER. |
| | 11 | === SQL - приказ |
| | 12 | {{{ |
| | 13 | SELECT u.username, |
| | 14 | u.role, |
| | 15 | COUNT(DISTINCT r.id) AS recipes_created, |
| | 16 | COUNT(DISTINCT p.id) AS posts_created, |
| | 17 | COUNT(DISTINCT c.id) AS comments_written, |
| | 18 | COUNT(DISTINCT ip.id) AS diary_entries |
| | 19 | FROM "user" u |
| | 20 | LEFT JOIN recipe r ON r.user_id = u.id |
| | 21 | LEFT JOIN post p ON p.user_id = u.id |
| | 22 | LEFT JOIN comment c ON c.user_id = u.id |
| | 23 | LEFT JOIN intake_planner ip ON ip.user_id = u.id |
| | 24 | GROUP BY u.id, u.username, u.role |
| | 25 | ORDER BY recipes_created DESC, posts_created DESC, u.username; |
| | 26 | }}} |
| | 27 | === Релациона алгебра - приказ |
| | 28 | {{{ |
| | 29 | τ_{recipes_created DESC, posts_created DESC, username} ( |
| | 30 | γ_{u.id, u.username, u.role; |
| | 31 | COUNT(DISTINCT r.id) → recipes_created, |
| | 32 | COUNT(DISTINCT p.id) → posts_created, |
| | 33 | COUNT(DISTINCT c.id) → comments_written, |
| | 34 | COUNT(DISTINCT ip.id) → diary_entries} ( |
| | 35 | User ⟕_{u.id = r.user_id} Recipe |
| | 36 | ⟕_{u.id = p.user_id} Post |
| | 37 | ⟕_{u.id = c.user_id} Comment |
| | 38 | ⟕_{u.id = ip.user_id} Intake_Planner |
| | 39 | ) |
| | 40 | ) |
| | 41 | }}} |
| | 42 | === |