Kas yra CRUD? Sukurti, skaityti, atnaujinti, ištrinti paaiškinta
CRUD reiškia sukurti, skaityti, atnaujinti ir ištrinti – keturis pagrindinius dalykus, kuriuos programa daro su saugomais duomenimis. Naujo kliento pridėjimas yra sukurti, klientų sąrašo peržiūra – skaityti, jo telefono numerio pakeitimas – atnaujinti, o jo pašalinimas – ištrinti. Dauguma verslo programų – CRM, rezervacijų sistemos, inventoriaus sekimo įrankiai, administravimo skydeliai – iš esmės yra CRUD su taisyklėmis ir gerai sutvarkytu išdėstymu.
Kodėl tai svarbu kuriant su DI
CRUD yra žodynas, kuris paprastą programos idėją paverčia tiksliu užklausimu. „Programa tiekėjams valdyti“ palieka DI spėlioti. „Kurti, rodyti sąrašą, redaguoti ir ištrinti tiekėjus su šiais laukais“ pasako tiksliai, kokius ekranus, duomenų bazės operacijas ir serverio maršrutus reikia sukurti.
Tai taip pat suteikia testavimo kontrolinį sąrašą. Kiekvienam įrašų tipui savo programoje galite užduoti keturis klausimus: ar galiu jį pridėti, peržiūrėti, pakeisti ir pašalinti – ir ar tai gali daryti tik tinkami žmonės? Nemažai DI kuriamų programų gali sukurti įrašus, bet negali jų redaguoti, arba leidžia bet kam bet ką ištrinti.
Kasdienis palyginimas: receptų kortelių dėžutė
Įsivaizduokite dėžutę su receptų kortelėmis virtuvės lentynoje.
- Sukurti: parašyti naują kortelę ir ją įdėti.
- Skaityti: peržiūrėti dėžutę arba ištraukti vieną – kepsnių receptą.
- Atnaujinti: perbraukti „200 g sūrio“ ir parašyti „250 g“.
- Ištrinti: išimti kortelę ir ją išmesti.
Dabar pridėkite taisykles: kortelę išmesti gali tik vyriausias virėjas, kiekviena kortelė turi turėti pavadinimą, ir niekas negali įdėti dviejų kortelių tuo pačiu pavadinimu. Tai yra CRUD programa su tikrinimu ir leidimais – būtent tokios yra dauguma tikrų programų.
Kaip CRUD matomas kiekviename sluoksnyje
Kiekviena operacija pasirodo ekrane, serveryje ir duomenų bazėje. Pamatyti juos šalia vieno kito daug ką paaiškina apie tai, kaip kuriamos programos.
| Operacija | Ekrane | API užklausa (REST) | SQL duomenų bazėje |
|---|---|---|---|
| Sukurti | Mygtukas „Naujas“ ir forma | POST /api/suppliers | INSERT |
| Skaityti | Sąrašas su paieška ir filtrais; detalių puslapis | GET /api/suppliers ir GET /api/suppliers/42 | SELECT |
| Atnaujinti | Formą „Redaguoti“ arba redagavimą vietoje | PUT arba PATCH /api/suppliers/42 | UPDATE |
| Ištrinti | Mygtukas „Ištrinti“ su patvirtinimu | DELETE /api/suppliers/42 | DELETE (arba įrašo pažymėjimas kaip ištrinto) |
Ekranas yra frontendas, API užklausa yra tai, kaip frontendas kalba su backendu, o SQL – kaip backendas kalba su duomenų baze. Jei šie žodžiai nauji, žr. kas yra API ir kas yra duomenų bazė.
Darbo pavyzdys: įrangos skolinimo sekimo įrankis
Mokyklos medijų skyrius skolina kameras ir mikrofonus studentams ir nuolat pameta jų pėdsakus. Jie nori paprastos programos.
Įrašai. Du tipai dalykų: įranga (pavadinimas, tipas, serijos numeris, būklė) ir paskolos (kuri įranga, kuris studentas, išdavimo data, grąžinimo terminas, grąžinimo data).
CRUD įrangai:
- Sukurti: darbuotojai prideda naują kamerą su jos serijos numeriu. Taisyklė: serijos numeriai turi būti unikalūs.
- Skaityti: visos įrangos sąrašas, filtruojamas pagal tipą ir pagal „šiuo metu laisva“; detalių puslapis, rodantis vieno daikto paskolų istoriją.
- Atnaujinti: pakeisti būklę į „reikia remonto“.
- Ištrinti: paprastai ne tikras trynimas. Jei kamera su 30 praeities paskolų ištrinama, tos paskolų įrašai praranda ryšį. Vietoj to pažymėkite ją „išimta iš apyvartos“, kad ji dingtų iš laisvų sąrašo, bet istorija liktų. Tai vadinama minkštu trynimu.
CRUD paskoloms:
- Sukurti: išduoti daiktą studentui. Taisyklė: negalima išduoti daikto, kuris jau paskolintas.
- Skaityti: „pavėluotos paskolos“ – sąrašas, kur grąžinimo terminas praėjo ir nėra grąžinimo datos.
- Atnaujinti: įrašyti grąžinimo datą, kai daiktas grįžta.
- Ištrinti: tik darbuotojams, klaidingai įvestoms paskoloms.
Leidimai. Studentai gali skaityti, kas yra laisva; tik darbuotojai gali kurti, atnaujinti ar ištrinti. Šias patikras atlieka serveris, o ne tik paslėpti mygtukai.
Tai visa programa. Įdomios dalys – jokio dvigubo išdavimo, pavėluotų paskolų sąrašas, istorija kiekvienam daiktui – yra taisyklės ir užklausos virš paprasto CRUD.
Pagrindiniai terminai
- Įrašas (eilutė): vienas daiktas, pavyzdžiui, vienas tiekėjas ar viena paskola.
- Esybė / išteklius: įrašų tipas, pavyzdžiui, „tiekėjai“. Kiekvienas paprastai turi savo lentelę ir savo CRUD ekranų rinkinį.
- Tikrinimas: įvesties patikros – privalomi laukai, galiojantis el. paštas, teigiamas kiekis. Atlikite jas formoje patogumui ir serveryje saugumui.
- Minkštas trynimas: įrašo pažymėjimas kaip ištrinto ar archyvuoto, o ne pašalinimas, kad istorija ir ryšiai išliktų.
- Puslapiavimas: ilgo sąrašo rodymas po puslapį, kad programa išliktų greita.
- Audito žurnalas: įrašas, kas, ką ir kada sukūrė, pakeitė ar ištrynė.
- Administravimo skydelis: CRUD ekranų rinkinys, skirtas darbuotojams tvarkyti programos duomenis.
Dažnos klaidos ir klaidingi įsitikinimai
- Vieno iš keturių pamiršimas. Programos dažnai išleidžiamos su kūrimu ir skaitymu, bet be redagavimo, todėl kiekviena klaida reiškia trynimą ir įvedimą iš naujo. Patikrinkite visus keturis kiekvienai esybei.
- Trynimas, kuris sugadina viską. Ištrynus klientą, turintį sąskaitų, gali likti našlaičių sąskaitų arba dingti istorija. Nuspręskite kiekvienai esybei: uždrausti trynimą, minkštai trinti arba trinti ir susijusius įrašus.
- Leidimai tik sąsajoje. Paslėpus mygtuką „Ištrinti“, vis tiek galima išsiųsti
DELETEužklausą. Serveris turi patikrinti, kas prašo. - Atnaujinimas pagal ID be nuosavybės tikrinimo. Jei naudotojas A gali redaguoti
/api/notes/42pakeisdamas numerį URL, jis gali redaguoti naudotojo B užrašą. Kiekvienas atnaujinimas ir trynimas turi patvirtinti, kad įrašas priklauso prašytojui. - Be patvirtinimo trinant. Vienas netikslus paspaudimas neturėtų sunaikinti duomenų. Reikalaukite patvirtinimo žingsnio arba atšaukimo.
- „CRUD reiškia paprasta, todėl nevertas kurti.“ Daugelis vertingų produktų yra CRUD programos, geriau tinkančios darbo eigai nei bendrinis įrankis.
Ko paprašyti iš DI kūrėjo
Naudokite šį šabloną kiekvienai esybei, po vieną:
Sukurk tiekėjų funkciją su sąrašu, kūrimu, redagavimu ir trynimu. Laukai: pavadinimas (privalomas), kontaktinis el. paštas (galiojantis el. paštas), telefonas, kategorija (viena iš: maistas, pakuotė, valymo priemonės), pastabos. Sąrašo rodinys su paieška pagal pavadinimą ir filtru pagal kategoriją, po 20 įrašų puslapyje. Prieš trynimą reikalauk patvirtinimo; jei tiekėjas turi užsakymų, archyvuok vietoj trynimo. Kurti, redaguoti ar archyvuoti gali tik prisijungę darbuotojai – įgyvendink tai serveryje.
Tada išbandykite visas keturias operacijas: kaip leidžiamas naudotojas ir kaip žmogus, kuris neturi prieigos. Kai viena esybė veikia, pridėkite kitą. Kaip sukurti vidinį įrankį parodo, kaip CRUD ekranai tampa pilnu administravimo skydeliu, o kas yra Postgres paaiškina duomenų bazę, ant kurios dauguma tokių programų stovi.
CRUD programos Mythex
CRUD programos yra vienas dalykų, kuriuos DI programų kūrėjai daro geriausiai, ir Mythex čia nėra išimtis. Pokalbyje paprašykite esybės ir jos laukų – Mythex projektui prijungia Postgres duomenų bazę, sukuria lentelę ir peržiūros aplinkoje sukuria sąrašo, formos ir detalių ekranus; tada galite paleisti /test, kad patikrintumėte srautą. Dokumentacijoje yra CRUD programos receptas su pradine užklausa, o vidinių įrankių kūrėjas ir skydelių šablonai – geros vietos pradėti.
Klausimai
Ką reiškia CRUD?
CRUD reiškia sukurti (create), skaityti (read), atnaujinti (update) ir ištrinti (delete): pridėti naują įrašą, peržiūrėti įrašus, pakeisti įrašą ir pašalinti vieną. Beveik kiekviena programa, kuri saugo duomenis, sukurta iš šių keturių operacijų.
Kas yra CRUD programa?
CRUD programa – tai programa, kurios pagrindinis darbas – tvarkyti įrašus per formas, sąrašus ir detalių puslapius, pavyzdžiui, CRM, inventoriaus sekimo įrankis, rezervacijų administravimas ar darbo skelbimų lenta. Dauguma vidinių įrankių ir administravimo skydelių yra CRUD programos.
Kaip CRUD susijęs su REST API?
Tipiniame REST API kūrimui naudojama POST užklausa, skaitymui – GET, atnaujinimui – PUT arba PATCH, o trynimui – DELETE. Tada serveris atlieka atitinkamą duomenų bazės operaciją: INSERT, SELECT, UPDATE arba DELETE.
Ar CRUD programa per paprasta, kad būtų vertinga?
Ne. Daug naudingos verslo programinės įrangos yra CRUD su gerom taisyklėmis, leidimais ir ataskaitomis. Vertė slypi gerai modeliuojant duomenis ir pritaikant darbo eigą, o ne neįprastoje technologijoje.