| | 1 | = Use-case UC0003 - Пребарување на книги = |
| | 2 | |
| | 3 | '''Иницирачки актер:''' Купувач |
| | 4 | |
| | 5 | '''Други актери:''' Нема |
| | 6 | |
| | 7 | '''Опис:''' |
| | 8 | |
| | 9 | Купувачот може да пребарува книги достапни во BiblioPremium според различни критериуми. Пребарувањето може да се врши според наслов, жанр, категорија или расположение. Целта е корисникот лесно да ги пронајде книгите кои одговараат на неговите интереси и моментални потреби. |
| | 10 | |
| | 11 | == Сценарио == |
| | 12 | |
| | 13 | 1. Купувачот ја отвора страницата за пребарување на книги. |
| | 14 | |
| | 15 | 2. Системот ги прикажува достапните жанрови, категории и расположенија од базата на податоци. |
| | 16 | |
| | 17 | {{{ |
| | 18 | SELECT zhanr_id, naziv |
| | 19 | FROM project.zhanrovi |
| | 20 | ORDER BY naziv; |
| | 21 | |
| | 22 | SELECT kategorija_id, naziv |
| | 23 | FROM project.kategorii |
| | 24 | ORDER BY naziv; |
| | 25 | |
| | 26 | SELECT raspolozenie_id, naziv |
| | 27 | FROM project.raspolozenija |
| | 28 | ORDER BY naziv; |
| | 29 | }}} |
| | 30 | |
| | 31 | 3. Купувачот внесува наслов на книга или избира жанр, категорија или расположение според кое сака да пребарува. |
| | 32 | |
| | 33 | 4. Доколку купувачот пребарува според наслов, системот ги прикажува книгите чиј наслов одговара на внесениот текст. |
| | 34 | |
| | 35 | {{{ |
| | 36 | SELECT kniga_id, naslov, isbn, cena, kolicina_na_zaliha |
| | 37 | FROM project.knigi |
| | 38 | WHERE LOWER(naslov) LIKE LOWER('%атомски%') |
| | 39 | ORDER BY naslov; |
| | 40 | }}} |
| | 41 | |
| | 42 | 5. Доколку купувачот избере жанр, системот ги прикажува книгите кои припаѓаат на избраниот жанр. |
| | 43 | |
| | 44 | {{{ |
| | 45 | SELECT k.kniga_id, k.naslov, k.isbn, k.cena, k.kolicina_na_zaliha |
| | 46 | FROM project.knigi k |
| | 47 | JOIN project.ima_zhanr iz ON k.kniga_id = iz.kniga_id |
| | 48 | JOIN project.zhanrovi z ON iz.zhanr_id = z.zhanr_id |
| | 49 | WHERE z.zhanr_id = 1 |
| | 50 | ORDER BY k.naslov; |
| | 51 | }}} |
| | 52 | |
| | 53 | 6. Доколку купувачот избере категорија, системот ги прикажува книгите кои припаѓаат на избраната категорија. |
| | 54 | |
| | 55 | {{{ |
| | 56 | SELECT k.kniga_id, k.naslov, k.isbn, k.cena, k.kolicina_na_zaliha |
| | 57 | FROM project.knigi k |
| | 58 | JOIN project.ima_kategorija ik ON k.kniga_id = ik.kniga_id |
| | 59 | JOIN project.kategorii kat ON ik.kategorija_id = kat.kategorija_id |
| | 60 | WHERE kat.kategorija_id = 1 |
| | 61 | ORDER BY k.naslov; |
| | 62 | }}} |
| | 63 | |
| | 64 | 7. Доколку купувачот избере расположение, системот ги прикажува книгите поврзани со избраното расположение. |
| | 65 | |
| | 66 | {{{ |
| | 67 | SELECT k.kniga_id, k.naslov, k.isbn, k.cena, k.kolicina_na_zaliha |
| | 68 | FROM project.knigi k |
| | 69 | JOIN project.povrzana_so ps ON k.kniga_id = ps.kniga_id |
| | 70 | JOIN project.raspolozenija r ON ps.raspolozenie_id = r.raspolozenie_id |
| | 71 | WHERE r.raspolozenie_id = 1 |
| | 72 | ORDER BY k.naslov; |
| | 73 | }}} |
| | 74 | |
| | 75 | 8. Системот ја прикажува листата на пронајдени книги со основните информации за секоја книга. |
| | 76 | |
| | 77 | 9. Купувачот избира книга од резултатите за да ги прегледа нејзините детални информации. |