Co je CRUD? Vytváření, čtení, úprava a mazání vysvětleno
CRUD znamená create, read, update a delete — čtyři základní věci, které aplikace dělá s uloženými daty. Přidání nového zákazníka je create, zobrazení seznamu zákazníků je read, změna jeho telefonního čísla je update a jeho odstranění je delete. Většina firemních aplikací — CRM, rezervační systémy, evidence skladu, administrační panely — je z velké části CRUD s pravidly a dobrým rozložením navrch.
Proč na tom záleží, když stavíte s AI
CRUD je slovník, který přetváří vágní nápad aplikace v přesný požadavek. „Aplikace pro správu našich dodavatelů" nechá AI hádat. „Vytvářet, vypisovat, upravovat a mazat dodavatele s těmito poli" jí řekne přesně, které obrazovky, databázové operace a serverové trasy má postavit.
Dává vám to také kontrolní seznam pro testování. U každého typu záznamu v aplikaci se můžete zeptat čtyř otázek: můžu jeden přidat, vidět je, změnit a odstranit — a může každou z těchto věcí dělat jen správný člověk? Překvapivě mnoho aplikací postavených s AI umí vytvořit záznamy, ale ne je upravit, nebo dovolí komukoli cokoli smazat.
Každodenní přirovnání: krabička s recepty
Představte si krabičku s recepty na kuchyňské polici.
- Create: napíšete nový lístek a zařadíte ho.
- Read: prolistujete krabičku, nebo vytáhnete ten na lasagne.
- Update: přeškrtnete „200 g sýra" a napíšete „250 g".
- Delete: vyjmete lístek a vyhodíte ho.
Teď přidejte pravidla: jen šéfkuchař smí lístky vyhazovat, každý lístek musí mít název a nikdo nesmí založit dva lístky se stejným jménem. To je CRUD aplikace s validací a oprávněními — a většina skutečných aplikací je právě taková.
Jak se CRUD objevuje v jednotlivých vrstvách
Každá operace se objevuje na obrazovce, na serveru i v databázi. Když je vidíte vedle sebe, hodně se vysvětlí o tom, jak se aplikace staví.
| Operace | Na obrazovce | Požadavek API (REST) | SQL v databázi |
|---|---|---|---|
| Create | Tlačítko „Nový" a formulář | POST /api/suppliers | INSERT |
| Read | Seznam s vyhledáváním a filtry; stránka s detailem | GET /api/suppliers a GET /api/suppliers/42 | SELECT |
| Update | Formulář „Upravit" nebo úprava přímo v řádku | PUT nebo PATCH /api/suppliers/42 | UPDATE |
| Delete | Tlačítko „Smazat" s potvrzením | DELETE /api/suppliers/42 | DELETE (nebo označení řádku jako smazaného) |
Obrazovka je frontend, požadavek API je způsob, jakým frontend mluví s backendem, a SQL je způsob, jakým backend mluví s databází. Pokud jsou tato slova nová, viz co je API a co je databáze.
Praktický příklad: evidence výpůjček vybavení
Mediální oddělení školy půjčuje studentům kamery a mikrofony a neustále ztrácí přehled, kde co je. Chtějí jednoduchou aplikaci.
Záznamy. Dva druhy věcí: vybavení (název, typ, sériové číslo, stav) a výpůjčky (které vybavení, který student, datum výdeje, datum vrácení, datum skutečného vrácení).
CRUD pro vybavení:
- Create: zaměstnanci přidají novou kameru se sériovým číslem. Pravidlo: sériová čísla musí být jedinečná.
- Read: seznam veškerého vybavení, filtrovatelný podle typu a podle „dostupné teď"; stránka s detailem ukazující historii výpůjček jedné položky.
- Update: změna stavu na „potřebuje opravu".
- Delete: obvykle ne skutečné smazání. Pokud by se smazala kamera s 30 minulými výpůjčkami, výpůjční záznamy by ztratily vazbu. Místo toho ji označte jako „vyřazenou", aby zmizela ze seznamu dostupných, ale historie zůstane. Tomu se říká měkké smazání (soft delete).
CRUD pro výpůjčky:
- Create: vydat položku studentovi. Pravidlo: nelze vydat položku, která je už půjčená.
- Read: „opožděné výpůjčky" — seznam, kde už uplynulo datum vrácení a chybí datum vrácení.
- Update: zaznamenat datum vrácení, když se položka vrátí.
- Delete: jen pro zaměstnance, u výpůjček zadaných omylem.
Oprávnění. Studenti mohou číst, co je dostupné; jen zaměstnanci mohou vytvářet, upravovat nebo mazat. Tyto kontroly běží na serveru, ne jen schováním tlačítek.
To je celá aplikace. Zajímavé části — žádné dvojí půjčení, seznam opožděných, historie na položku — jsou pravidla a dotazy navrch běžného CRUD.
Klíčové pojmy
- Záznam (řádek): jedna položka, například jeden dodavatel nebo jedna výpůjčka.
- Entita / zdroj: druh záznamu, například „dodavatelé". Každý obvykle dostane vlastní tabulku a vlastní sadu CRUD obrazovek.
- Validace: kontroly vstupu — povinná pole, platný e-mail, kladné množství. Dělá se ve formuláři kvůli pohodlí a na serveru kvůli bezpečnosti.
- Měkké smazání: označení záznamu jako smazaného nebo archivovaného místo jeho odstranění, aby historie a vazby zůstaly zachovány.
- Stránkování: zobrazení dlouhého seznamu po stránkách, aby aplikace zůstala rychlá.
- Auditní log: záznam o tom, kdo co vytvořil, změnil nebo smazal, a kdy.
- Administrační panel: sada CRUD obrazovek, pomocí kterých zaměstnanci spravují data aplikace.
Časté chyby a omyly
- Zapomenutí jedné ze čtyř operací. Aplikace se často dodají s vytvářením a čtením, ale bez úpravy, takže každý překlep znamená smazat a znovu zadat. U každé entity zkontrolujte všechny čtyři.
- Mazání, které rozbije věci. Smazání zákazníka, který má faktury, může nechat osiřelé faktury nebo smazat historii. Rozhodněte u každé entity: zablokovat smazání, měkce smazat, nebo smazat i související záznamy.
- Oprávnění jen v rozhraní. Schování tlačítka Smazat nezabrání tomu, aby někdo odeslal požadavek
DELETE. Server musí kontrolovat, kdo se ptá. - Úprava podle ID bez kontroly vlastnictví. Pokud uživatel A může upravit
/api/notes/42změnou čísla v URL, může upravit poznámku uživatele B. Každá úprava a smazání musí ověřit, že záznam patří žadateli. - Žádné potvrzení při smazání. Jediné nešťastné kliknutí by nemělo zničit data. Vyžádejte potvrzovací krok nebo možnost vrácení.
- „CRUD znamená základní, takže nestojí za to ho stavět." Mnoho cenných produktů jsou CRUD aplikace, které se pracovnímu postupu přizpůsobí lépe než obecný nástroj.
Co požádat od svého AI nástroje
Tento vzor použijte pro každou entitu, jednu po druhé:
Vytvoř funkci dodavatelé s výpisem, vytvořením, úpravou a smazáním. Pole: název (povinné), kontaktní e-mail (platný e-mail), telefon, kategorie (jedna z: potraviny, obaly, čisticí prostředky), poznámky. Výpis s hledáním podle názvu a filtrem podle kategorie, 20 na stránku. Před smazáním požádej o potvrzení; pokud má dodavatel objednávky, archivuj ho místo smazání. Vytvářet, upravovat nebo archivovat mohou jen přihlášení zaměstnanci — vynutit to na serveru.
Pak otestujte všechny čtyři operace, jako oprávněný uživatel i jako někdo, kdo přístup mít nemá. Až jedna entita funguje, přidejte další. Jak postavit interní nástroj ukazuje, jak se CRUD obrazovky promění v plnohodnotnou administraci, a co je Postgres vysvětluje databázi, na které většina těchto aplikací stojí.
CRUD aplikace v Mythexu
CRUD aplikace patří k věcem, které AI nástroje pro tvorbu aplikací dělají nejlépe, a Mythex není výjimka. Požádejte v chatu o entitu a její pole a Mythex k projektu připojí databázi Postgres, vytvoří tabulku a v živém náhledu postaví seznam, formulář a stránku s detailem; pak můžete spustit /test a ověřit postup. Dokumentace má recept na CRUD aplikaci s výchozím zadáním a tvůrce interních nástrojů a šablony dashboardů jsou dobrá místa, kde začít.
Otázky
Co znamená zkratka CRUD?
CRUD znamená create, read, update a delete: přidání nového záznamu, prohlížení záznamů, změnu záznamu a jeho odstranění. Téměř každá aplikace, která ukládá data, je postavena z těchto čtyř operací.
Co je CRUD aplikace?
CRUD aplikace je aplikace, jejímž hlavním úkolem je spravovat záznamy přes formuláře, seznamy a stránky s detailem, například CRM, evidence skladu, administrace rezervací nebo nábor práce v zákulisí. Většina interních nástrojů a administračních panelů jsou CRUD aplikace.
Jak souvisí CRUD s REST API?
V typickém REST API používá create požadavek POST, read GET, update PUT nebo PATCH a delete DELETE. Backend pak provede odpovídající operaci nad databází: INSERT, SELECT, UPDATE nebo DELETE.
Není CRUD aplikace příliš jednoduchá na to, aby byla cenná?
Ne. Mnoho užitečného firemního softwaru je CRUD s dobrými pravidly, oprávněními a přehledy navrch. Hodnota je ve správném modelování dat a přizpůsobení pracovnímu postupu, ne v neobvyklé technologii.