Посібники

Що таке CRUD? Create, Read, Update, Delete пояснено

CRUD означає create, read, update, delete (створити, прочитати, оновити, видалити) — чотири базові дії застосунку зі збереженими даними. Додати нового клієнта — це create, перегляд списку клієнтів — read, зміна його номера телефону — update, а видалення — delete. Більшість бізнес-застосунків — CRM, системи бронювання, трекери складу, адмін-панелі — здебільшого є CRUD із правилами та гарним інтерфейсом зверху.

Чому це важливо, коли ви створюєте з ШІ

CRUD — це словник, який перетворює розпливчасту ідею застосунку на точний запит. «Застосунок для керування нашими постачальниками» залишає ШІ гадати. «Створюй, показуй у списку, редагуй і видаляй постачальників із такими полями» точно говорить, які екрани, операції з базою даних і серверні маршрути побудувати.

Це також дає вам чекліст для тестування. Для кожного типу запису у вашому застосунку можна поставити чотири запитання: чи можна додати запис, побачити їх, змінити один і видалити — і чи можуть це робити лише потрібні люди? Напрочуд багато застосунків, створених з ШІ, дозволяють створювати записи, але не редагувати їх, або дозволяють будь-кому щось видаляти.

Повсякденна аналогія: картотека з рецептами

Уявіть коробку з картками рецептів на кухонній полиці.

  • Create: написати нову картку і покласти її в коробку.
  • Read: переглянути коробку або витягнути картку з лазаньєю.
  • Update: закреслити «200 г сиру» і написати «250 г».
  • Delete: дістати картку й викинути її.

Тепер додайте правила: лише головний кухар може викидати картки, кожна картка має мати назву, і ніхто не може покласти дві картки з однаковою назвою. Це CRUD-застосунок з валідацією та правами доступу — а більшість реальних застосунків саме такі.

Як CRUD проявляється на кожному рівні

Кожна операція з'являється в інтерфейсі, на сервері і в базі даних. Побачивши їх поруч, легше зрозуміти, як побудовані застосунки.

ОпераціяНа екраніЗапит API (REST)SQL у базі даних
CreateКнопка «Новий» і формаPOST /api/suppliersINSERT
ReadСписок з пошуком і фільтрами; сторінка деталейGET /api/suppliers і GET /api/suppliers/42SELECT
UpdateФорма «Редагувати» або редагування прямо в спискуPUT або PATCH /api/suppliers/42UPDATE
DeleteКнопка «Видалити» з підтвердженнямDELETE /api/suppliers/42DELETE (або позначення рядка як видаленого)

Інтерфейс — це фронтенд, запит API — спосіб, яким фронтенд розмовляє з бекендом, а SQL — спосіб, яким бекенд розмовляє з базою даних. Якщо ці слова для вас нові, див. що таке API і що таке база даних.

Практичний приклад: трекер позичання обладнання

Медіавідділ школи позичає камери та мікрофони студентам і постійно втрачає їх із виду. Їм потрібен простий застосунок.

Записи. Два типи речей: обладнання (назва, тип, серійний номер, стан) і позички (яке обладнання, якому студенту, дата видачі, дата повернення, фактична дата повернення).

CRUD для обладнання:

  • Create: співробітники додають нову камеру із серійним номером. Правило: серійні номери мають бути унікальними.
  • Read: список усього обладнання з фільтрами за типом і «доступно зараз»; сторінка деталей з історією позичань конкретної одиниці.
  • Update: змінити стан на «потребує ремонту».
  • Delete: зазвичай не справжнє видалення. Якщо камеру з 30 минулими позичками видалити, записи позичок втратять зв'язок. Натомість її позначають як «списано», щоб вона зникла зі списку доступних, а історія залишилася. Це називається м'яким видаленням (soft delete).

CRUD для позичок:

  • Create: видати обладнання студенту. Правило: не можна видати річ, яка вже на руках.
  • Read: «прострочені позички» — список, де термін минув, а дати повернення немає.
  • Update: записати дату повернення, коли річ повертається.
  • Delete: лише співробітники, для позичок, внесених помилково.

Права доступу. Студенти можуть читати, що доступно; створювати, оновлювати чи видаляти може лише персонал. Ці перевірки виконуються на сервері, а не лише через приховані кнопки.

Ось і весь застосунок. Цікаві частини — ніяких подвійних позичок, список прострочених, історія для кожної речі — це правила й запити поверх звичайного CRUD.

Ключові терміни

  • Запис (рядок): один елемент, наприклад одного постачальника або одну позичку.
  • Сутність / ресурс: вид запису, наприклад «постачальники». Зазвичай кожна сутність має власну таблицю і власний набір CRUD-екранів.
  • Валідація: перевірки вхідних даних — обов'язкові поля, коректна електронна пошта, додатна кількість. Робіть її у формі для зручності і на сервері для безпеки.
  • М'яке видалення (soft delete): позначення запису як видаленого або архівного замість фактичного видалення, щоб історія та зв'язки збереглися.
  • Пагінація: показ довгого списку по сторінках, щоб застосунок лишався швидким.
  • Журнал аудиту: запис того, хто що створив, змінив або видалив, і коли.
  • Адмін-панель: набір CRUD-екранів, за допомогою яких персонал керує даними застосунку.

Поширені помилки та хибні уявлення

  • Забути одну з чотирьох операцій. Застосунки часто мають створення і читання, але без редагування, тож кожна помилка друку означає видалити й вводити заново. Перевіряйте всі чотири для кожної сутності.
  • Видалення, що ламає речі. Видалення клієнта, який має рахунки, може залишити «осиротілі» рахунки або стерти історію. Вирішуйте для кожної сутності: заборонити видалення, м'яко видалити або видалити пов'язані записи теж.
  • Права лише в інтерфейсі. Приховання кнопки «Видалити» не завадить комусь надіслати запит DELETE. Сервер має перевіряти, хто запитує.
  • Оновлення за ID без перевірки власності. Якщо користувач А може редагувати /api/notes/42, змінивши число в URL, він може редагувати нотатку користувача Б. Кожне оновлення і видалення має підтверджувати, що запис належить тому, хто робить запит.
  • Немає підтвердження видалення. Один випадковий дотик не повинен знищувати дані. Потрібен крок підтвердження або можливість відміни.
  • «CRUD означає базовий, тож його не варто будувати». Багато цінних продуктів — це CRUD-застосунки, які краще підходять робочому процесу, ніж універсальний інструмент.

Що просити у вашого ШІ-конструктора

Використовуйте цей шаблон для кожної сутності, по одній:

Створи функцію постачальників зі списком, створенням, редагуванням і видаленням. Поля: назва (обов'язкове), контактна електронна пошта (коректний формат), телефон, категорія (одна з: продукти, упаковка, засоби для прибирання), примітки. Список з пошуком за назвою і фільтром за категорією, по 20 на сторінку. Підтвердження перед видаленням; якщо в постачальника є замовлення, архівуй замість видалення. Створювати, редагувати чи архівувати можуть лише авторизовані співробітники — забезпеч це на сервері.

Потім перевірте всі чотири операції — від імені дозволеного користувача і від імені того, хто не повинен мати доступу. Коли одна сутність працює, додайте наступну. Як створити внутрішній інструмент показує, як CRUD-екрани перетворюються на повноцінну адмін-панель, а що таке Postgres пояснює базу даних, на якій здебільшого працюють такі застосунки.

CRUD-застосунки в Mythex

CRUD-застосунки — одна з речей, які ШІ-конструктори роблять найкраще, і Mythex не є винятком. Попросіть у чаті сутність і її поля, і Mythex прикріпить до проєкту базу Postgres, створить таблицю і побудує екрани списку, форми та деталей у живому прев'ю; потім ви можете запустити /test, щоб перевірити сценарій. У документації є рецепт CRUD-застосунку зі стартовим промптом, а конструктор внутрішніх інструментів і шаблони дашбордів — хороший початок.

Запитання

Що означає CRUD?

CRUD означає create (створити), read (читати), update (оновити) і delete (видалити): додати новий запис, переглядати записи, змінити запис і видалити його. Майже кожен застосунок, що зберігає дані, побудований на цих чотирьох операціях.

Що таке CRUD-застосунок?

CRUD-застосунок — це застосунок, основна задача якого — керувати записами через форми, списки та сторінки деталей, наприклад CRM, облік складу, адмін-панель бронювань або бекофіс сайту з вакансіями. Більшість внутрішніх інструментів і адмін-панелей є CRUD-застосунками.

Як CRUD пов'язаний із REST API?

У типовому REST API створення використовує запит POST, читання — GET, оновлення — PUT або PATCH, а видалення — DELETE. Потім бекенд виконує відповідну операцію з базою даних: INSERT, SELECT, UPDATE або DELETE.

Чи занадто простий CRUD-застосунок, щоб мати цінність?

Ні. Значна частина корисного бізнес-софту — це CRUD з добрими правилами, правами доступу та звітами поверх. Цінність у тому, щоб добре змоделювати дані й відповідати робочому процесу, а не в незвичайних технологіях.

Mythex · Pricing · Створюйте що завгодно з ШІ · Шаблони сайтів і застосунків · Порівняння Mythex · Глосарій створення застосунків за допомогою ШІ · Безкоштовні інструменти для створення застосунків за допомогою ШІ · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)