SQL editor
Samostatná SQLite databáze books.db — není napojená na běžící REST/SOAP mock (jiný dataset, jiný stav). Spouští se jeden příkaz. Editor má našeptávač tabulek a sloupců (Ctrl/⌘ + mezera). Změny dat (UPDATE) přetrvají do restartu serveru.
Schéma databáze
Čtyři tabulky. Knihy + knihovny (číselník), výpůjčky + audit log přechodů. Cizí klíče: books.library_id → libraries.id, loans.book_id → books.id, loan_events.loan_id → loans.id.
libraries
Číselník knihoven. Každá kniha patří do jedné.
| Sloupec | Typ | Popis |
|---|---|---|
id | INTEGER PK | ID knihovny. |
name | TEXT | Název. |
city | TEXT | Město. |
books
Katalog knih. available říká, jestli je kniha zrovna na regále (0/1).
| Sloupec | Typ | Popis |
|---|---|---|
id | TEXT PK | BOOK-XXX. |
library_id | INTEGER FK | → libraries.id. |
isbn | TEXT | ISBN-13. |
title | TEXT | Název. |
author | TEXT | Autor. |
category | TEXT | Kategorie (Integration, Testing, Database, …). |
available | INTEGER | 0 = půjčeno, 1 = na regále. |
loans
Výpůjčky knih. rating a recommendation jsou vyplněné jen u RETURNED.
| Sloupec | Typ | Popis |
|---|---|---|
id | TEXT PK | LOAN-XXX. |
book_id | TEXT FK | → books.id. |
borrower_name | TEXT | Jméno vypůjčujícího. |
borrowed_at | DATE | Datum vypůjčení. |
due_date | DATE | Termín vrácení. |
status | TEXT | REQUESTED, BORROWED, RETURNED, OVERDUE, CANCELLED, LOST. |
rating | INTEGER | 1–5, jen u RETURNED. |
recommendation | TEXT | RECOMMENDED / NEUTRAL / NOT_RECOMMENDED. |
loan_events
Audit chain — pro každou výpůjčku všechny změny statusu se zdrojem a cílem.
| Sloupec | Typ | Popis |
|---|---|---|
id | INTEGER PK | Autoinkrement. |
loan_id | TEXT FK | → loans.id. |
old_status | TEXT | NULL = úvodní zápis. |
new_status | TEXT | Cílový stav. |
changed_at | DATETIME | UTC timestamp. |
Tip: PRAGMA table_info(books) ti vypíše sloupce z metadat (povolené read-only PRAGMA: table_info, index_info, index_list, foreign_key_list, table_list, database_list).