Čo je CRUD? Create, Read, Update, Delete jednoducho vysvetlené
CRUD znamená create, read, update a delete – štyri základné veci, ktoré aplikácia robí s uloženými dátami. Pridanie nového zákazníka je create, zobrazenie zoznamu zákazníkov je read, zmena jeho telefónneho čísla je update a odstránenie je delete. Väčšina firemných aplikácií – CRM, systémy na rezervácie, evidencia skladu, administračné panely – sú z veľkej časti CRUD s pravidlami a dobrým rozložením navrchu.
Prečo na tom záleží, keď stavate s AI
CRUD je slovník, ktorý mení vágnu predstavu aplikácie na presnú požiadavku. „Aplikácia na správu našich dodávateľov“ necháva AI hádať. „Vytváraj, zobrazuj, upravuj a maž dodávateľov s týmito poľami“ jej presne povie, ktoré obrazovky, databázové operácie a serverové trasy má postaviť.
Dáva vám to tiež kontrolný zoznam na testovanie. Pri každom type záznamu v aplikácii sa môžete opýtať na štyri veci: viem pridať jeden, vidieť záznamy, zmeniť jeden a odstrániť jeden – a môžu to robiť len správni ľudia? Prekvapivo veľa aplikácií vytvorených AI dokáže vytvoriť záznamy, ale nedá sa v nich upravovať, alebo kde môže ktokoľvek čokoľvek zmazať.
Každodenná analógia: krabica s receptami
Predstavte si krabicu s kartičkami s receptami na kuchynskej polici.
- Create: napíšete novú kartičku a zaradíte ju.
- Read: prelistujete krabicu alebo vytiahnete tú na lasagne.
- Update: prečiarknete „200 g syra“ a napíšete „250 g“.
- Delete: vytiahnete kartičku a vyhodíte ju.
Teraz pridajte pravidlá: len hlavný kuchár môže kartičky vyhadzovať, každá kartička musí mať názov a nikto nemôže založiť dve kartičky s rovnakým názvom. To je CRUD aplikácia s validáciou a oprávneniami – a to sú väčšinou všetky reálne aplikácie.
Ako sa CRUD objavuje v jednotlivých vrstvách
Každá operácia sa objaví na obrazovke, na serveri aj v databáze. Keď ich vidíte vedľa seba, veľa vysvetlí, ako sa aplikácie stavajú.
| Operácia | Na obrazovke | Požiadavka API (REST) | SQL v databáze |
|---|---|---|---|
| Create | Tlačidlo „Nový“ a formulár | POST /api/suppliers | INSERT |
| Read | Zoznam s vyhľadávaním a filtrami; detailná stránka | GET /api/suppliers a GET /api/suppliers/42 | SELECT |
| Update | Formulár „Upraviť“ alebo úprava priamo v riadku | PUT alebo PATCH /api/suppliers/42 | UPDATE |
| Delete | Tlačidlo „Zmazať“ s potvrdením | DELETE /api/suppliers/42 | DELETE (alebo označenie riadku ako zmazaného) |
Obrazovka je frontend, požiadavka API je spôsob, akým frontend hovorí s backendom, a SQL je spôsob, akým backend hovorí s databázou. Ak sú tieto slová nové, pozrite čo je API a čo je databáza.
Praktický príklad: evidencia vypožičiavania vybavenia
Mediálne oddelenie školy požičiava kamery a mikrofóny študentom a neustále strácajú prehľad, kde čo je. Chcú jednoduchú aplikáciu.
Záznamy. Dva druhy vecí: vybavenie (názov, typ, sériové číslo, stav) a výpožičky (ktoré vybavenie, ktorý študent, dátum výdaja, dátum vrátenia, dátum skutočného vrátenia).
CRUD pre vybavenie:
- Create: zamestnanci pridajú novú kameru so sériovým číslom. Pravidlo: sériové čísla musia byť jedinečné.
- Read: zoznam všetkého vybavenia, filtrovateľný podľa typu a podľa „dostupné teraz“; detailná stránka, ktorá ukazuje históriu výpožičiek jednej položky.
- Update: zmena stavu na „potrebuje opravu“.
- Delete: zvyčajne nie skutočné zmazanie. Ak sa zmaže kamera s 30 minulými výpožičkami, záznamy o výpožičkách stratia prepojenie. Namiesto toho ju označte ako „vyradené“, aby zmizla zo zoznamu dostupných, ale história zostala. Tomu sa hovorí mäkké zmazanie (soft delete).
CRUD pre výpožičky:
- Create: vydáte položku študentovi. Pravidlo: nemôžete vydať položku, ktorá je už vypožičaná.
- Read: „premeškané výpožičky“ – zoznam, kde dátum vrátenia už uplynul a nie je zaznamenané vrátenie.
- Update: zaznamenanie dátumu vrátenia, keď sa položka vráti.
- Delete: len zamestnanci, a to len pre výpožičky zadané omylom.
Oprávnenia. Študenti môžu čítať, čo je dostupné; len zamestnanci môžu vytvárať, upravovať alebo mazať. Tieto kontroly bežia na serveri, nie len skrytím tlačidiel.
To je celá aplikácia. Zaujímavé časti – žiadne dvojité vypožičanie, zoznam premeškaných vrátení, história pre každú položku – sú pravidlá a dotazy navrchu jednoduchého CRUD.
Kľúčové pojmy
- Záznam (riadok): jedna položka, napríklad jeden dodávateľ alebo jedna výpožička.
- Entita / zdroj: druh záznamu, napríklad „dodávatelia“. Každý zvyčajne dostane vlastnú tabuľku a vlastnú sadu CRUD obrazoviek.
- Validácia: kontroly vstupu – povinné polia, platný e-mail, kladné množstvo. Robte ju vo formulári kvôli pohodliu aj na serveri kvôli bezpečnosti.
- Mäkké zmazanie (soft delete): označenie záznamu ako zmazaného alebo archivovaného namiesto jeho odstránenia, aby história a prepojenia ostali zachované.
- Stránkovanie: zobrazovanie dlhého zoznamu po stránkach, aby aplikácia zostala rýchla.
- Auditný záznam (audit log): záznam o tom, kto čo vytvoril, zmenil alebo zmazal, a kedy.
- Administračný panel: sada CRUD obrazoviek, ktorými zamestnanci spravujú dáta aplikácie.
Bežné chyby a omyly
- Zabudnutie na jednu zo štyroch operácií. Aplikácie sa často dodajú s create a read, ale bez úprav, takže každý preklep znamená zmazať a zadať znova. Skontrolujte všetky štyri pri každej entite.
- Mazanie, ktoré rozbije veci. Zmazanie zákazníka, ktorý má faktúry, môže nechať osirelé faktúry alebo vymazať históriu. Rozhodnite pre každú entitu: zablokovať zmazanie, mäkké zmazanie alebo zmazať aj súvisiace záznamy.
- Oprávnenia len v rozhraní. Skrytie tlačidla Zmazať nezastaví niekoho, kto pošle požiadavku
DELETE. Server musí kontrolovať, kto sa pýta. - Úprava podľa ID bez kontroly vlastníctva. Ak používateľ A môže upraviť
/api/notes/42zmenou čísla v URL, môže upraviť poznámku používateľa B. Každá úprava a zmazanie musí potvrdiť, že záznam patrí žiadateľovi. - Žiadne potvrdenie pri mazaní. Jeden nesprávny klik nemá zničiť dáta. Pridajte krok potvrdenia alebo možnosť vrátiť akciu.
- „CRUD znamená základné, nestojí za to ho stavať.“ Mnohé cenné produkty sú CRUD aplikácie, ktoré lepšie sedia na pracovný postup ako všeobecný nástroj.
Čo požiadať od nástroja na tvorbu aplikácií
Použite tento vzor pre každú entitu, jednu po druhej:
Vytvor funkciu dodávatelia so zoznamom, vytvorením, úpravou a zmazaním. Polia: názov (povinné), kontaktný e-mail (platný e-mail), telefón, kategória (jedna z: potraviny, obaly, čistiace prostriedky), poznámky. Zobrazenie zoznamu s vyhľadávaním podľa názvu a filtrom podľa kategórie, 20 na stránku. Pred zmazaním vyžiadaj potvrdenie; ak má dodávateľ objednávky, archivuj ho namiesto mazania. Vytvárať, upravovať alebo archivovať môžu len prihlásení zamestnanci – vynúť to na serveri.
Potom otestujte všetky štyri operácie, ako oprávnený používateľ aj ako niekto, kto prístup mať nemá. Keď jedna entita funguje, pridajte ďalšiu. Ako postaviť interný nástroj ukazuje, ako sa CRUD obrazovky stanú plnohodnotnou administračnou aplikáciou, a čo je Postgres vysvetľuje databázu, na ktorej väčšina týchto aplikácií stojí.
CRUD aplikácie v Mythex
CRUD aplikácie sú jednou z vecí, ktoré nástroje na tvorbu aplikácií pomocou AI robia najlepšie, a Mythex nie je výnimka. Požiadajte v chate o entitu a jej polia a Mythex k projektu pripojí databázu Postgres, vytvorí tabuľku a v živom náhľade postaví zoznam, formulár a detailné obrazovky; potom môžete spustiť /test a overiť tok. Dokumentácia má recept na CRUD aplikáciu so štartovacím promptom a nástroj na interné aplikácie a šablóny dashboardov sú dobré miesta na začiatok.
Otázky
Čo znamená CRUD?
CRUD znamená create, read, update a delete: pridať nový záznam, zobraziť záznamy, zmeniť záznam a odstrániť ho. Takmer každá aplikácia, ktorá ukladá dáta, je postavená na týchto štyroch operáciách.
Čo je CRUD aplikácia?
CRUD aplikácia je aplikácia, ktorej hlavnou úlohou je spravovať záznamy cez formuláre, zoznamy a detailné stránky, napríklad CRM, evidencia skladu, administrácia rezervácií alebo back office portálu s prácami. Väčšina interných nástrojov a administračných panelov sú CRUD aplikácie.
Ako súvisí CRUD s REST API?
V typickom REST API sa create robí požiadavkou POST, read GET, update PUT alebo PATCH a delete DELETE. Backend potom spustí zodpovedajúcu databázovú operáciu: INSERT, SELECT, UPDATE alebo DELETE.
Je CRUD aplikácia príliš jednoduchá na to, aby mala hodnotu?
Nie. Mnoho užitočného firemného softvéru je CRUD s dobrými pravidlami, oprávneniami a reportmi navrchu. Hodnota je v dobrom modelovaní dát a prispôsobení pracovného postupu, nie v nezvyčajnej technológii.