= Use-case UC0003 - Пребарување на книги = '''Иницирачки актер:''' Купувач '''Други актери:''' Нема '''Опис:''' Купувачот може да пребарува книги достапни во !BiblioPremium според различни критериуми. Пребарувањето може да се врши според наслов, жанр, категорија или расположение. Целта е корисникот лесно да ги пронајде книгите кои одговараат на неговите интереси и моментални потреби. == Сценарио == 1. Купувачот ја отвора страницата за пребарување на книги. 2. Системот ги прикажува достапните жанрови, категории и расположенија од базата на податоци. {{{ SELECT zhanr_id, naziv FROM project.zhanrovi ORDER BY naziv; SELECT kategorija_id, naziv FROM project.kategorii ORDER BY naziv; SELECT raspolozenie_id, naziv FROM project.raspolozenija ORDER BY naziv; }}} 3. Купувачот внесува наслов на книга или избира жанр, категорија или расположение според кое сака да пребарува. 4. Доколку купувачот пребарува според наслов, системот ги прикажува книгите чиј наслов одговара на внесениот текст. {{{ SELECT kniga_id, naslov, isbn, cena, kolicina_na_zaliha FROM project.knigi WHERE LOWER(naslov) LIKE LOWER('%атомски%') ORDER BY naslov; }}} 5. Доколку купувачот избере жанр, системот ги прикажува книгите кои припаѓаат на избраниот жанр. {{{ SELECT k.kniga_id, k.naslov, k.isbn, k.cena, k.kolicina_na_zaliha FROM project.knigi k JOIN project.ima_zhanr iz ON k.kniga_id = iz.kniga_id JOIN project.zhanrovi z ON iz.zhanr_id = z.zhanr_id WHERE z.zhanr_id = 1 ORDER BY k.naslov; }}} 6. Доколку купувачот избере категорија, системот ги прикажува книгите кои припаѓаат на избраната категорија. {{{ SELECT k.kniga_id, k.naslov, k.isbn, k.cena, k.kolicina_na_zaliha FROM project.knigi k JOIN project.ima_kategorija ik ON k.kniga_id = ik.kniga_id JOIN project.kategorii kat ON ik.kategorija_id = kat.kategorija_id WHERE kat.kategorija_id = 1 ORDER BY k.naslov; }}} 7. Доколку купувачот избере расположение, системот ги прикажува книгите поврзани со избраното расположение. {{{ SELECT k.kniga_id, k.naslov, k.isbn, k.cena, k.kolicina_na_zaliha FROM project.knigi k JOIN project.povrzana_so ps ON k.kniga_id = ps.kniga_id JOIN project.raspolozenija r ON ps.raspolozenie_id = r.raspolozenie_id WHERE r.raspolozenie_id = 1 ORDER BY k.naslov; }}} 8. Системот ја прикажува листата на пронајдени книги со основните информации за секоја книга. 9. Купувачот избира книга од резултатите за да ги прегледа нејзините детални информации.