| | 1 | = Use-case 0003 Implementation - Пребарување на книги = |
| | 2 | |
| | 3 | '''Иницирачки актер:''' Ненајавен корисник / Купувач |
| | 4 | |
| | 5 | '''Други актери:''' Нема |
| | 6 | |
| | 7 | == Опис == |
| | 8 | |
| | 9 | Корисникот може да пребарува книги според наслов. По внесување текст во полето за пребарување, апликацијата пристапува до базата на податоци и ги прикажува книгите чиј наслов го содржи внесениот текст. Корисникот може да избере книга од резултатите и да ги прегледа нејзините детали. |
| | 10 | |
| | 11 | == Сценарио == |
| | 12 | |
| | 13 | 1. Корисникот ја отвора почетната страница на BiblioPremium, каде што се прикажани достапните книги и полето за пребарување. |
| | 14 | |
| | 15 | [[Image(UseCase0003_1.png, width=800)]] |
| | 16 | |
| | 17 | 2. Корисникот внесува дел од насловот на книгата во полето „Пребарај книга по наслов...“. Во примерот е внесен текстот „Atomic“. |
| | 18 | |
| | 19 | [[Image(UseCase0003_2.png, width=800)]] |
| | 20 | |
| | 21 | 3. Корисникот го притиска копчето „Пребарај“. Системот пристапува до табелата `project.knigi` и го извршува следното SQL пребарување: |
| | 22 | |
| | 23 | {{{ |
| | 24 | #!sql |
| | 25 | SELECT kniga_id, naslov, cena, opis, godina_izdavanje |
| | 26 | FROM project.knigi |
| | 27 | WHERE naslov ILIKE %s |
| | 28 | ORDER BY kniga_id; |
| | 29 | }}} |
| | 30 | |
| | 31 | Параметарот `%s` се заменува со внесениот текст поставен помеѓу `%` знаци, со што се овозможува пребарување и по дел од насловот. |
| | 32 | |
| | 33 | 4. Системот ги прикажува само книгите чиј наслов одговара на внесениот текст. За пребарувањето „Atomic“ е прикажана книгата „Atomic Habits“. |
| | 34 | |
| | 35 | [[Image(UseCase0003_3.png, width=800)]] |
| | 36 | |
| | 37 | 5. Корисникот го избира копчето „Погледни детали“ за пронајдената книга. Системот ги презема деталите за избраната книга со следната SQL наредба: |
| | 38 | |
| | 39 | {{{ |
| | 40 | #!sql |
| | 41 | SELECT kniga_id, naslov, cena, opis, godina_izdavanje |
| | 42 | FROM project.knigi |
| | 43 | WHERE kniga_id = %s; |
| | 44 | }}} |
| | 45 | |
| | 46 | 6. Системот ја прикажува страницата со деталите за избраната книга, каде што се прикажани насловот, годината на издавање, описот и цената. |
| | 47 | |
| | 48 | [[Image(UseCase0003_4.png, width=800)]] |
| | 49 | |
| | 50 | == Дополнително однесување == |
| | 51 | |
| | 52 | Доколку полето за пребарување е празно, системот ги прикажува сите книги со следната SQL наредба: |
| | 53 | |
| | 54 | {{{ |
| | 55 | #!sql |
| | 56 | SELECT kniga_id, naslov, cena, opis, godina_izdavanje |
| | 57 | FROM project.knigi |
| | 58 | ORDER BY kniga_id; |
| | 59 | }}} |