Što je CRUD? Create, Read, Update, Delete objašnjeno
CRUD znači create, read, update, delete — stvaranje, čitanje, ažuriranje i brisanje — četiri osnovne stvari koje aplikacija radi s pohranjenim podacima. Dodavanje novog kupca je create, pregled liste kupaca je read, promjena njegova broja telefona je update, a uklanjanje je delete. Većina poslovnih aplikacija — CRM-ovi, sustavi za rezervacije, praćenje zaliha, administratorski paneli — uglavnom su CRUD s pravilima i dobrim rasporedom preko toga.
Zašto je važno kad gradite uz AI
CRUD je rječnik koji vagu ideju o aplikaciji pretvara u precizan zahtjev. „Aplikacija za upravljanje našim dobavljačima” ostavlja AI-ju da nagađa. „Stvaranje, popis, uređivanje i brisanje dobavljača, s ovim poljima” jasno mu govori koje ekrane, operacije nad bazom i serverske rute treba izgraditi.
Daje vam i popis za testiranje. Za svaku vrstu zapisa u aplikaciji možete postaviti četiri pitanja: mogu li dodati jedan, vidjeti zapise, promijeniti jedan i ukloniti jedan — i mogu li to raditi samo pravi ljudi? Iznenađujuće mnogo aplikacija izrađenih uz AI može stvarati zapise, ali ih ne može uređivati, ili svatko može obrisati sve.
Svakodnevna analogija: kutija s receptima
Zamislite kutiju s kartonima recepata na kuhinjskoj polici.
- Create: napišete novi karton i stavite ga u kutiju.
- Read: prelistate kutiju ili izvučete onaj za lasagne.
- Update: precrtate „200 g sira” i napišete „250 g”.
- Delete: izvadite karton i bacite ga.
Sada dodajte pravila: samo šef kuhinje smije bacati kartone, svaki karton mora imati naslov i nitko ne smije u kutiju staviti dva kartona s istim imenom. To je CRUD aplikacija s validacijom i dopuštenjima — a upravo to su većina pravih aplikacija.
Kako se CRUD pojavljuje u svakom sloju
Svaka operacija pojavljuje se na ekranu, na serveru i u bazi. Kad ih vidite jednu uz drugu, puno toga postane jasno o tome kako se aplikacije grade.
| Operacija | Na ekranu | API zahtjev (REST) | SQL u bazi |
|---|---|---|---|
| Create | Gumb „Novo” i obrazac | POST /api/suppliers | INSERT |
| Read | Popis s pretragom i filterima; stranica s detaljima | GET /api/suppliers i GET /api/suppliers/42 | SELECT |
| Update | Obrazac „Uredi” ili uređivanje u retku | PUT ili PATCH /api/suppliers/42 | UPDATE |
| Delete | Gumb „Obriši” s potvrdom | DELETE /api/suppliers/42 | DELETE (ili označavanje retka kao obrisanog) |
Ekran je frontend, API zahtjev je način na koji frontend razgovara s backendom, a SQL je način na koji backend razgovara s bazom. Ako su vam ti pojmovi novi, pogledajte što je API i što je baza podataka.
Primjer: praćenje posudbe opreme
Medijski odjel jedne škole posuđuje kamere i mikrofone učenicima i stalno gubi pregled nad njima. Žele jednostavnu aplikaciju.
Zapisi. Dvije vrste stvari: oprema (naziv, vrsta, serijski broj, stanje) i posudbe (koja oprema, koji učenik, datum izdavanja, rok vraćanja, datum vraćanja).
CRUD za opremu:
- Create: osoblje dodaje novu kameru s njezinim serijskim brojem. Pravilo: serijski brojevi moraju biti jedinstveni.
- Read: popis sve opreme, filtriran po vrsti i po „dostupno sada”; stranica s detaljima koja prikazuje povijest posudbi jednog predmeta.
- Update: promjena stanja u „treba popravak”.
- Delete: obično ne prava brisanje. Ako se obriše kamera s 30 prošlih posudbi, zapisi o posudbama gube svoju vezu. Umjesto toga označite je kao „povučena” pa nestaje s liste dostupnih, ali povijest ostaje. To se zove soft delete.
CRUD za posudbe:
- Create: izdajte predmet učeniku. Pravilo: ne možete izdati predmet koji je već posuđen.
- Read: „kasne posudbe” — popis gdje je rok prošao, a nema datuma vraćanja.
- Update: zabilježite datum vraćanja kad se predmet vrati.
- Delete: samo osoblje, za posudbe unesene greškom.
Dopuštenja. Učenici mogu čitati što je dostupno; samo osoblje može stvarati, ažurirati ili brisati. Te provjere izvršavaju se na serveru, a ne samo skrivanjem gumba.
To je cijela aplikacija. Zanimljivi dijelovi — bez dvostrukog posuđivanja, popis kasnih posudbi, povijest po predmetu — pravila su i upiti iznad običnog CRUD-a.
Ključni pojmovi
- Zapis (redak): jedna stavka, poput jednog dobavljača ili jedne posudbe.
- Entitet / resurs: vrsta zapisa, poput „dobavljači”. Svaki obično dobiva vlastitu tablicu i vlastiti skup CRUD ekrana.
- Validacija: provjere unosa — obavezna polja, ispravna e-adresa, pozitivna količina. Radi se u obrascu radi praktičnosti i na serveru radi sigurnosti.
- Soft delete: označavanje zapisa kao obrisanog ili arhiviranog umjesto uklanjanja, da povijest i veze ostanu sačuvane.
- Paginacija: prikaz duge liste po stranicama, da aplikacija ostane brza.
- Revizijski zapis (audit log): zapis tko je što stvorio, promijenio ili obrisao i kada.
- Administratorski panel: skup CRUD ekrana za osoblje za upravljanje podacima aplikacije.
Česte greške i zablude
- Zaboraviti jednu od četiri operacije. Aplikacije se često isporučuju sa stvaranjem i čitanjem, ali bez uređivanja, pa svaka tipfeler znači brisanje i ponovni unos. Provjerite sve četiri za svaki entitet.
- Brisanje koje sve pokvari. Brisanje kupca koji ima račune može ostaviti siročad račune ili izbrisati povijest. Odlučite za svaki entitet: blokirati brisanje, soft delete ili obrisati i povezane zapise.
- Dopuštenja samo u sučelju. Skrivanje gumba Obriši ne sprječava nekoga da pošalje
DELETEzahtjev. Server mora provjeriti tko pita. - Ažuriranje po ID-u bez provjere vlasništva. Ako korisnik A može urediti
/api/notes/42mijenjajući broj u URL-u, može urediti bilješku korisnika B. Svako ažuriranje i brisanje mora potvrditi da zapis pripada onome tko ga traži. - Bez potvrde pri brisanju. Jedan pogrešan dodir ne smije uništiti podatke. Zatražite korak potvrde ili poništavanje.
- „CRUD znači osnovno, pa se ne isplati graditi.” Mnogi vrijedni proizvodi su CRUD aplikacije koje se bolje uklapaju u tijek rada nego generički alat.
Što zatražiti od AI alata za izradu
Koristite ovaj obrazac za svaki entitet, jedan po jedan:
Napravi značajku dobavljači s popisom, stvaranjem, uređivanjem i brisanjem. Polja: naziv (obavezno), e-adresa za kontakt (ispravna e-adresa), telefon, kategorija (jedna od: hrana, ambalaža, čišćenje), bilješke. Prikaz popisa s pretragom po nazivu i filterom po kategoriji, 20 po stranici. Potvrdi prije brisanja; ako dobavljač ima narudžbe, arhiviraj umjesto brisanja. Samo prijavljeno osoblje smije stvarati, uređivati ili arhivirati — provedi to na serveru.
Zatim testirajte sve četiri operacije, kao dopušteni korisnik i kao netko tko ne bi smio imati pristup. Kad jedan entitet radi, dodajte sljedeći. Kako izgraditi interni alat pokazuje kako CRUD ekrani postaju cijela administratorska aplikacija, a što je Postgres objašnjava bazu na kojoj većina tih aplikacija počiva.
CRUD aplikacije na Mythexu
CRUD aplikacije jedna su od stvari koje AI alati za izradu aplikacija rade najbolje, a Mythex nije iznimka. Zatražite u chatu entitet i njegova polja, a Mythex projektu dodaje Postgres bazu, kreira tablicu i gradi ekrane za popis, obrazac i detalje u živom pregledu; zatim možete pokrenuti /test da provjerite tok. Dokumentacija ima recept za CRUD aplikaciju s početnim promptom, a graditelj internih alata i predlošci nadzornih ploča dobra su mjesta za početak.
Pitanja
Što znači CRUD?
CRUD znači create (stvori), read (čitaj), update (ažuriraj) i delete (obriši): dodavanje novog zapisa, pregled zapisa, promjena zapisa i uklanjanje jednog. Gotovo svaka aplikacija koja pohranjuje podatke izgrađena je od ove četiri operacije.
Što je CRUD aplikacija?
CRUD aplikacija je aplikacija čiji je glavni posao upravljanje zapisima kroz obrasce, popise i stranice s detaljima, primjerice CRM, praćenje zaliha, administracija rezervacija ili oglasnik poslova. Većina internih alata i administratorskih panela su CRUD aplikacije.
Kako je CRUD povezan s REST API-jima?
U tipičnom REST API-ju create koristi POST zahtjev, read koristi GET, update koristi PUT ili PATCH, a delete koristi DELETE. Backend zatim izvršava odgovarajuću operaciju nad bazom: INSERT, SELECT, UPDATE ili DELETE.
Je li CRUD aplikacija premalo vrijedna?
Nije. Mnogo korisnog poslovnog softvera je CRUD s dobrim pravilima, dopuštenjima i izvještajima iznad. Vrijednost je u dobrom modeliranju podataka i uklapanju u tijek rada, a ne u neobičnoj tehnologiji.