====== CRUD ====== **CRUD** představuje čtyři operace: **C**reate (Vytvořit), **R**ead (Číst), **U**pdate (Aktualizovat) a **D**elete (Odstranit). Téměř každá aplikace, se kterou pracujete (Facebook, e-shop, bankovnictví), je v jádru "CRUD aplikací" – umožňuje vám přidávat příspěvky, číst je, upravovat a případně mazat. Tento koncept poskytuje standardizovaný způsob, jakým aplikace manipulují s entitami v databázovém systému. ---- ====== Mapování operací CRUD ====== Operace CRUD mají své přímé ekvivalenty v jazyce [[sql|SQL]] i v internetovém protokolu [[http|HTTP]]. ^ Funkce ^ SQL příkaz ^ HTTP Metoda ^ Popis ^ | **C**reate | ''INSERT'' | ''POST'' | Vytvoření nového záznamu (např. registrace uživatele). | | **R**ead | ''SELECT'' | ''GET'' | Získání a zobrazení dat (např. profil uživatele). | | **U**pdate | ''UPDATE'' | ''PUT'' / ''PATCH'' | Úprava existujících dat (např. změna hesla). | | **D**elete | ''DELETE'' | ''DELETE'' | Trvalé odstranění dat (např. smazání účtu). | ---- ====== Praktické příklady ====== Představte si správu článků na blogu: * **Create:** Napíšete nový článek a kliknete na "Publikovat". Aplikace provede ''INSERT'' do databáze. * **Read:** Návštěvník klikne na odkaz a prohlížeč pošle požadavek ''GET'' na zobrazení článku. * **Update:** Najdete v článku překlep, opravíte ho a uložíte. Aplikace provede ''UPDATE''. * **Delete:** Článek už není aktuální, tak ho v administraci smažete. Aplikace provede ''DELETE''. ---- ====== Rozšířené modely (SCRUD / BREAD) ====== V některých systémech se CRUD rozšiřuje o další operace pro lepší použitelnost: * **SCRUD:** Přidává operaci **S**earch (Vyhledat) – klíčové pro systémy s velkým množstvím dat. * **BREAD:** Jiný pohled na stejné funkce (**B**rowse, **R**ead, **E**dit, **A**dd, **D**elete). ---- ====== Proč je CRUD důležitý? ====== * **Standardizace:** Poskytuje programátorům společný jazyk a strukturu pro návrh aplikací. * **Bezpečnost:** Pomocí CRUD operací lze snadno definovat oprávnění uživatelů (např. host může data jen číst, ale ne mazat). * **REST API:** Moderní webová rozhraní jsou postavena na principu, že každá URL adresa reprezentuje zdroj, se kterým se manipuluje pomocí CRUD (přes HTTP metody). ---- //Související pojmy: SQL, HTTP, RDBMS, API, REST, JavaScript, Databáze.//