Interview Mock

Přihlášení

SQL editor

Samostatná SQLite databáze books.dbnení 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.

nebo Ctrl/⌘ + Enter

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é.

SloupecTypPopis
idINTEGER PKID knihovny.
nameTEXTNázev.
cityTEXTMěsto.

books

Katalog knih. available říká, jestli je kniha zrovna na regále (0/1).

SloupecTypPopis
idTEXT PKBOOK-XXX.
library_idINTEGER FKlibraries.id.
isbnTEXTISBN-13.
titleTEXTNázev.
authorTEXTAutor.
categoryTEXTKategorie (Integration, Testing, Database, …).
availableINTEGER0 = půjčeno, 1 = na regále.

loans

Výpůjčky knih. rating a recommendation jsou vyplněné jen u RETURNED.

SloupecTypPopis
idTEXT PKLOAN-XXX.
book_idTEXT FKbooks.id.
borrower_nameTEXTJméno vypůjčujícího.
borrowed_atDATEDatum vypůjčení.
due_dateDATETermín vrácení.
statusTEXTREQUESTED, BORROWED, RETURNED, OVERDUE, CANCELLED, LOST.
ratingINTEGER1–5, jen u RETURNED.
recommendationTEXTRECOMMENDED / NEUTRAL / NOT_RECOMMENDED.

loan_events

Audit chain — pro každou výpůjčku všechny změny statusu se zdrojem a cílem.

SloupecTypPopis
idINTEGER PKAutoinkrement.
loan_idTEXT FKloans.id.
old_statusTEXTNULL = úvodní zápis.
new_statusTEXTCílový stav.
changed_atDATETIMEUTC 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).