| Version 4 (modified by , 6 days ago) ( diff ) |
|---|
Use-case UC0010 - Администратор - Управување со книги
Иницирачки актер: Администратор
Други актери: Нема
Опис
Администраторот може да ги прегледува постоечките книги, да додава нови книги, да ги ажурира податоците за постоечките книги и да ги брише книгите. Може да ги менува насловот, ISBN, описот, годината на издавање, цената, количината на залиха и корицата. Книгите можат да бидат поврзани со соодветни автори, жанрови, категории и расположенија. При бришење, системот проверува дали книгата е поврзана со постоечки нарачки и спречува бришење доколку книгата е дел од една или повеќе нарачки.
Сценарио
- Администраторот ја отвора страницата за управување со книги.
- Системот ги прикажува постоечките книги.
SELECT kniga_id, naslov, isbn, godina_izdavanje, cena, kolicina_na_zaliha FROM project.knigi ORDER BY naslov;
- Администраторот внесува податоци за нова книга.
INSERT INTO project.knigi
(naslov, isbn, opis, korica_url, godina_izdavanje, kolicina_na_zaliha, cena)
VALUES
('Nova kniga', '9781234567890', 'Opis na nova kniga',
'https://example.com/korica.jpg', 2026, 10, 750);
- Системот ја зачувува новата книга во базата на податоци.
- Администраторот може да ги измени податоците за постоечка книга.
UPDATE project.knigi
SET cena = 800,
kolicina_na_zaliha = 15
WHERE isbn = '9781234567890';
- Системот ги зачувува направените промени.
- Администраторот може да ја поврзе книгата со соодветен автор.
INSERT INTO project.napisana_od (kniga_id, avtor_id) SELECT k.kniga_id, 1 FROM project.knigi k WHERE k.isbn = '9781234567890';
- Администраторот може да ја поврзе книгата со соодветен жанр.
INSERT INTO project.ima_zhanr (kniga_id, zhanr_id) SELECT k.kniga_id, 1 FROM project.knigi k WHERE k.isbn = '9781234567890';
- Администраторот може да ја поврзе книгата со соодветна категорија.
INSERT INTO project.ima_kategorija (kniga_id, kategorija_id) SELECT k.kniga_id, 1 FROM project.knigi k WHERE k.isbn = '9781234567890';
- Администраторот може да ја поврзе книгата со соодветно расположение.
INSERT INTO project.povrzana_so (kniga_id, raspolozenie_id) SELECT k.kniga_id, 1 FROM project.knigi k WHERE k.isbn = '9781234567890';
- Системот ги зачувува врските на книгата со авторот, жанрот, категоријата и расположението.
- Администраторот избира постоечка книга и ја избира опцијата за бришење.
- Системот проверува дали книгата е поврзана со постоечки нарачки.
SELECT COUNT(*) FROM project.sodrzi WHERE kniga_id = 1;
- Доколку книгата е поврзана со една или повеќе нарачки, системот не дозволува нејзино бришење и прикажува порака дека книгата не може да се избрише бидејќи е дел од постоечки нарачки.
- Доколку книгата не е поврзана со постоечки нарачки, системот ги отстранува нејзините поврзувања со омилени, автори, жанрови, категории и расположенија.
DELETE FROM project.omileni WHERE kniga_id = 1; DELETE FROM project.napisana_od WHERE kniga_id = 1; DELETE FROM project.ima_zhanr WHERE kniga_id = 1; DELETE FROM project.ima_kategorija WHERE kniga_id = 1; DELETE FROM project.povrzana_so WHERE kniga_id = 1;
- Системот ја брише книгата од базата на податоци.
DELETE FROM project.knigi WHERE kniga_id = 1;
Note:
See TracWiki
for help on using the wiki.
