Changes between Version 1 and Version 2 of UseCase0007
- Timestamp:
- 09/20/26 18:06:29 (10 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
UseCase0007
v1 v2 1 = Use-case UC000 5 - Персонализирани препораки за книги =1 = Use-case UC0007 - Управување со преференции = 2 2 3 3 '''Иницирачки актер:''' Купувач … … 7 7 '''Опис:''' 8 8 9 Најавениот купувач може да добие персонализирани препораки за книги врз основа на неговите преферирани жанрови, категории и избрани расположенија.9 Најавениот купувач може да управува со своите преференции преку додавање и отстранување на преферирани жанрови, категории и расположенија. Овие податоци се користат при генерирање на персонализирани препораки за книги. 10 10 11 11 == Сценарио == 12 12 13 1. Купувачот ја отвора страницата со персонализирани препораки.13 1. Купувачот ја отвора страницата за управување со преференции. 14 14 15 2. Системот ги пр онаоѓа преферираните жанрови на најавениот купувач.15 2. Системот ги прикажува моментално избраните жанрови на купувачот. 16 16 17 17 {{{ … … 23 23 }}} 24 24 25 3. Системот ги пронаоѓа книгите што одговараат на преферираните жанрови.25 3. Купувачот додава нов префериран жанр. 26 26 27 27 {{{ 28 SELECT DISTINCT k.kniga_id, k.naslov, k.cena 29 FROM project.knigi k 30 JOIN project.ima_zhanr iz ON k.kniga_id = iz.kniga_id 31 JOIN project.preferira_zhanr pz ON iz.zhanr_id = pz.zhanr_id 32 WHERE pz.korisnik_id = 1 33 ORDER BY k.naslov; 28 INSERT INTO project.preferira_zhanr 29 (korisnik_id, zhanr_id, datum_dodavanje) 30 VALUES 31 (1, 3, CURRENT_DATE); 34 32 }}} 35 33 36 4. Системот ги пронаоѓа преферираните категории на купувачот. 34 4. Купувачот може да отстрани префериран жанр. 35 36 {{{ 37 DELETE FROM project.preferira_zhanr 38 WHERE korisnik_id = 1 39 AND zhanr_id = 3; 40 }}} 41 42 5. Системот ги прикажува моментално избраните категории на купувачот. 37 43 38 44 {{{ … … 44 50 }}} 45 51 46 5. Системот ги пронаоѓа книгите што одговараат на преферираните категории.52 6. Купувачот додава нова преферирана категорија. 47 53 48 54 {{{ 49 SELECT DISTINCT k.kniga_id, k.naslov, k.cena 50 FROM project.knigi k 51 JOIN project.ima_kategorija ik ON k.kniga_id = ik.kniga_id 52 JOIN project.preferira_kategorija pk ON ik.kategorija_id = pk.kategorija_id 53 WHERE pk.korisnik_id = 1 54 ORDER BY k.naslov; 55 INSERT INTO project.preferira_kategorija 56 (korisnik_id, kategorija_id, datum_dodavanje) 57 VALUES 58 (1, 1, CURRENT_DATE); 55 59 }}} 56 60 57 6. Системот ги пронаоѓа избраните расположенија на купувачот. 61 7. Купувачот може да отстрани преферирана категорија. 62 63 {{{ 64 DELETE FROM project.preferira_kategorija 65 WHERE korisnik_id = 1 66 AND kategorija_id = 1; 67 }}} 68 69 8. Системот ги прикажува моментално избраните расположенија на купувачот. 58 70 59 71 {{{ … … 66 78 }}} 67 79 68 7. Системот ги пронаоѓа книгите поврзани со избраните расположенија.80 9. Купувачот избира ново расположение. 69 81 70 82 {{{ 71 SELECT DISTINCT k.kniga_id, k.naslov, k.cena 72 FROM project.knigi k 73 JOIN project.povrzana_so ps 74 ON k.kniga_id = ps.kniga_id 75 JOIN project.izbira_raspolozenie ir 76 ON ps.raspolozenie_id = ir.raspolozenie_id 77 WHERE ir.korisnik_id = 1 78 ORDER BY k.naslov; 83 INSERT INTO project.izbira_raspolozenie 84 (korisnik_id, raspolozenie_id, datum_izbor) 85 VALUES 86 (1, 2, CURRENT_DATE); 79 87 }}} 80 88 81 8. Системот ги комбинира жанровите, категориите и расположенијата и ги прикажува персонализираните препораки.89 10. Купувачот може да отстрани избрано расположение. 82 90 83 91 {{{ 84 SELECT DISTINCT k.kniga_id, k.naslov, k.cena 85 FROM project.knigi k 86 87 LEFT JOIN project.ima_zhanr iz 88 ON k.kniga_id = iz.kniga_id 89 LEFT JOIN project.preferira_zhanr pz 90 ON iz.zhanr_id = pz.zhanr_id 91 AND pz.korisnik_id = 1 92 93 LEFT JOIN project.ima_kategorija ik 94 ON k.kniga_id = ik.kniga_id 95 LEFT JOIN project.preferira_kategorija pk 96 ON ik.kategorija_id = pk.kategorija_id 97 AND pk.korisnik_id = 1 98 99 LEFT JOIN project.povrzana_so ps 100 ON k.kniga_id = ps.kniga_id 101 LEFT JOIN project.izbira_raspolozenie ir 102 ON ps.raspolozenie_id = ir.raspolozenie_id 103 AND ir.korisnik_id = 1 104 105 WHERE pz.korisnik_id IS NOT NULL 106 OR pk.korisnik_id IS NOT NULL 107 OR ir.korisnik_id IS NOT NULL 108 109 ORDER BY k.naslov; 92 DELETE FROM project.izbira_raspolozenie 93 WHERE korisnik_id = 1 94 AND raspolozenie_id = 2; 110 95 }}} 111 96 112 9. Купувачот ги добива книгите што одговараат на неговите преференции и избрани расположенија.97 11. Системот ги зачувува промените во преференциите на купувачот.
