Какво е CRUD? Създаване, четене, актуализиране, изтриване, обяснено
CRUD означава create, read, update and delete – създаване, четене, актуализиране и изтриване: четирите основни неща, които приложението прави със съхранени данни. Добавянето на нов клиент е създаване, преглеждането на списъка с клиенти е четене, промяната на телефонния му номер е актуализиране, а премахването му е изтриване. Повечето бизнес приложения – CRM системи, системи за резервации, проследяване на инвентар, административни панели – са в голямата си част CRUD с правила и добро оформление отгоре.
Защо е важно, когато създаваш с ИИ
CRUD е речникът, който превръща неясна идея за приложение в точна заявка. „Приложение за управление на нашите доставчици“ оставя ИИ да гадае. „Създаване, списък, редакция и изтриване на доставчици, с тези полета“ му казва точно кои екрани, операции в базата данни и сървърни маршрути да изгради.
Това ви дава и контролен списък за тестване. За всеки вид запис във вашето приложение можете да зададете четири въпроса: мога ли да добавя такъв, да ги виждам, да променя един и да премахна един – и може ли това да прави само правилният човек? Учудващо голям брой приложения, създадени с ИИ, могат да създават записи, но не и да ги редактират, или позволяват на всеки да изтрие всичко.
Ежедневна аналогия: кутия с рецепти
Представете си кутия с картички с рецепти на кухненски рафт.
- Създаване: напишете нова картичка и я приберете.
- Четене: прелиствате кутията или извадите тази за лазаня.
- Актуализиране: зачертавате „200 г сирене“ и пишете „250 г“.
- Изтриване: вадите картичка и я изхвърляте.
Сега добавете правила: само главният готвач може да изхвърля картички, всяка картичка трябва да има заглавие и никой не може да прибере две картички със същото име. Това е CRUD приложение с валидация и права за достъп – а именно такива са повечето реални приложения.
Как CRUD се проявява във всеки слой
Всяка операция се появява на екрана, на сървъра и в базата данни. Когато ги видите една до друга, много неща за това как се строят приложенията става ясно.
| Операция | На екрана | API заявка (REST) | SQL в базата данни |
|---|---|---|---|
| Създаване | Бутон „Нов“ и формуляр | POST /api/suppliers | INSERT |
| Четене | Списък с търсене и филтри; страница с подробности | GET /api/suppliers и GET /api/suppliers/42 | SELECT |
| Актуализиране | Формуляр „Редактиране“ или редакция на място | PUT или PATCH /api/suppliers/42 | UPDATE |
| Изтриване | Бутон „Изтрий“ с потвърждение | DELETE /api/suppliers/42 | DELETE (или маркиране на реда като изтрит) |
Екранът е frontend-ът, API заявката е начинът, по който frontend-ът комуникира с backend-а, а SQL е начинът, по който backend-ът комуникира с базата данни. Ако тези думи са нови за вас, вижте какво е API и какво е база данни.
Практически пример: проследяване на заеми на техника
Медийният отдел на едно училище дава камери и микрофони на ученици и постоянно губи следа от тях. Искат просто приложение.
Записите. Два вида неща: техника (име, тип, сериен номер, състояние) и заеми (коя техника, на кой ученик, дата на вземане, краен срок, дата на връщане).
CRUD за техниката:
- Създаване: персоналът добавя нова камера със серийния ѝ номер. Правило: серийните номера трябва да са уникални.
- Четене: списък на цялата техника, филтруем по тип и по „налична сега“; страница с подробности, показваща историята на заемите на един артикул.
- Актуализиране: смяна на състоянието на „нуждае се от ремонт“.
- Изтриване: обикновено не е истинско изтриване. Ако камера с 30 минали заема бъде изтрита, тези записи за заеми губят връзката си. Вместо това я маркирайте като „изведена от употреба“, така че да изчезне от списъка с налични, но историята ѝ да остане. Това се нарича меко изтриване (soft delete).
CRUD за заемите:
- Създаване: записване на артикул за заем към ученик. Правило: не може да се вземе артикул, който вече е на заем.
- Четене: „просрочени заеми“ – списък, в който крайният срок е минал и няма дата на връщане.
- Актуализиране: записване на датата на връщане, когато артикулът се върне.
- Изтриване: само персоналът, за заеми, въведени по грешка.
Права за достъп. Учениците могат да четат какво е налично; само персоналът може да създава, актуализира или изтрива. Тези проверки се изпълняват на сървъра, а не само чрез скриване на бутони.
Това е цялото приложение. Интересните части – без двойно заемане, списък с просрочените, история за всеки артикул – са правила и заявки отгоре на обикновения CRUD.
Ключови термини
- Запис (ред): един елемент, например един доставчик или един заем.
- Същност / ресурс: вид запис, например „доставчици“. Обикновено всяка получава своя таблица и свой набор от CRUD екрани.
- Валидация: проверки на въведеното – задължителни полета, валиден имейл, положително количество. Правете я във формуляра за удобство и на сървъра за сигурност.
- Меко изтриване (soft delete): маркиране на запис като изтрит или архивиран вместо премахването му, така че историята и връзките да се запазят.
- Странициране (pagination): показване на дълъг списък по една страница наведнъж, така че приложението да остане бързо.
- Одитен журнал: запис на това кой какво е създал, променил или изтрил и кога.
- Административен панел: набор от CRUD екрани, с които персоналът управлява данните на приложението.
Чести грешки и заблуди
- Забравяне на една от четирите операции. Приложенията често се пускат със създаване и четене, но без редакция, така че всяка грешка в изписването означава изтриване и повторно въвеждане. Проверете и четирите за всяка същност.
- Изтривания, които чупят неща. Изтриването на клиент, който има фактури, може да остави фактури без връзка или да изтрие историята. Решете за всяка същност: блокиране на изтриването, меко изтриване или изтриване и на свързаните записи.
- Права само в интерфейса. Скриването на бутона „Изтрий“ не спира някого да изпрати
DELETEзаявката. Сървърът трябва да проверява кой пита. - Актуализиране по идентификатор без проверка на собствеността. Ако потребител А може да редактира
/api/notes/42, като смени число в адреса, той може да редактира бележката на потребител Б. Всяка актуализация и всяко изтриване трябва да потвърждава, че записът принадлежи на заявителя. - Без потвърждение при изтриване. Едно погрешно натискане не бива да унищожи данни. Изисквайте стъпка за потвърждение или възможност за отмяна.
- „CRUD означава базово, затова не си заслужава да се строи.“ Много ценни продукти са CRUD приложения, които се вписват в работен процес по-добре от общ инструмент.
Какво да поискате от вашия ИИ инструмент
Използвайте този шаблон за всяка същност, една по една:
Създай функционалност suppliers (доставчици) със списък, създаване, редакция и изтриване. Полета: име (задължително), имейл за контакт (валиден имейл), телефон, категория (една от: храна, опаковки, почистване), бележки. Списък със търсене по име и филтър по категория, по 20 на страница. Потвърди преди изтриване; ако доставчикът има поръчки, архивирай вместо да изтриваш. Само влезли служители могат да създават, редактират или архивират – наложи това на сървъра.
После тествайте и четирите операции – като потребител с право на достъп и като някой, който не трябва да има достъп. След като една същност работи, добавете следващата. Как да създадете вътрешен инструмент показва как CRUD екраните се превръщат в пълноценно административно приложение, а какво е Postgres обяснява базата данни, върху която стоят повечето от тези приложения.
CRUD приложения в Mythex
CRUD приложенията са едно от нещата, които ИИ инструментите за създаване на приложения вършат най-добре, и Mythex не прави изключение. Поискайте в чата същността и нейните полета, а Mythex прикачва към проекта база Postgres, създава таблицата и изгражда екраните със списък, формуляр и подробности в живо преглеждане; после можете да пуснете /test, за да проверите потока. Документацията има рецепта за CRUD приложение със стартов промпт, а генераторът на вътрешни инструменти и шаблоните за табла са добри места за начало.
Въпроси
Какво означава CRUD?
CRUD означава създаване, четене, актуализиране и изтриване: добавяне на нов запис, преглеждане на записи, промяна на запис и премахване на един. Почти всяко приложение, което съхранява данни, е изградено от тези четири операции.
Какво е CRUD приложение?
CRUD приложение е приложение, чиято основна задача е управлението на записи чрез формуляри, списъци и страници с подробности, например CRM, проследяване на инвентар, административен панел за резервации или задна част на сайт за обяви за работа. Повечето вътрешни инструменти и административни панели са CRUD приложения.
Как CRUD се свързва с REST API?
В типичен REST API създаването използва POST заявка, четенето – GET, актуализирането – PUT или PATCH, а изтриването – DELETE. След това бекендът изпълнява съответната операция в базата данни: INSERT, SELECT, UPDATE или DELETE.
Прекалено проста ли е CRUD апликацията, за да е ценна?
Не. Голяма част от полезния бизнес софтуер е CRUD с добри правила, права за достъп и отчети отгоре. Стойността е в доброто моделиране на данните и в съобразяването с работния процес, а не в необичайна технология.