Ми щодня взаємодіємо з інформацією: читаємо стрічки в соцмережах, дивимося стріми, створюємо записи в блогах, надсилаємо повідомлення в месенджерах. Якщо потрібно щось додати, ми можемо відредагувати записи, а якщо щось стало непотрібним — видаляємо зайві дані.
Загалом, робота з інформацією зводиться якраз до чотирьох основних операцій:
Ці ж операції можна виконати з даними в базі даних або іншій системі управління інформацією.
Зміст
CRUD — це скорочення від англійських слів, що позначають ці чотири операції:
Create
(створювати);Read
(читати);Update
(оновлювати);Delete
(видаляти).CRUD
Операції CRUD становлять основу для багатьох застосунків та систем управління інформацією, даючи змогу користувачам взаємодіяти з даними та змінювати їх відповідно до потреб.
Розглянемо ці функції та приклади їх використання докладніше.
Коли у фірму приймаються на роботу нові співробітники, застосунок для управління інформацією про них має давати можливість створити записи про цих співробітників. Запис про співробітника містить такі дані, як ім’я, домашня адреса, номер телефону, адреса електронної пошти тощо.
Операцію CRUD Create
можна реалізувати в застосунку у вигляді форми з полями для введення тексту, чисел, адрес електронної пошти, вибору елементів у списку, а також із кнопкою Відправити для надсилання інформації в базу даних.
Після натискання цієї кнопки надсилається HTTP-запит POST до API нашого застосунку. У застосунку виконується функція, яка відправляє до бази даних запит на додавання нового запису.
Ми використовуємо операцію Create
, щоб створити:
Коли на сайті магазину електронної комерції ви відкриваєте сторінку продукту, з бази даних читається найменування продукту, його опис, ціна, характеристики та інші дані. Також ви можете відібрати кілька продуктів за певними критеріями.
Операція Read
дає змогу переглядати записи. Вона не змінює дані, але над її результатами можна здійснювати дії, наприклад, фільтрувати список продуктів за вказаними критеріями.
Операція Read
використовується, щоб прочитати:
Якщо інформація про клієнта застаріває або виявляється неповною, ви використовуєте операцію Update
, щоб оновити її
Спочатку ви змінюєте дані у формі, а потім натискаєте кнопку Відправити, щоб записати оновлені відомості в базу даних.
Операція Update
застосовується, щоб:
Припустимо, з фірми звільняється кілька співробітників, і вам більше не потрібна інформація про них. Для видалення окремих записів використовується операція Delete
.
У багатьох випадках операції видалення проводяться каскадно, тобто видаляється кілька записів. Під час видалення облікового запису клієнта видаляється не тільки обліковий запис, а й пов’язані з ним дані, такі як інформація про рахунки, транзакції тощо.
Ця операція може також бути використана для видалення даних про фінансові операції, якщо це необхідно відповідно до політики банку.
Операція Delete
використовується, наприклад, коли:
Застосовуючи операції CRUD, організації можуть керувати своїми даними набагато швидше. Завдяки можливості миттєво створювати, читати, оновлювати та видаляти дані, вони будуть впевнені, що ці дані впорядковані та актуальні.
Операції CRUD допомагають організаціям підвищити продуктивність. Більше не потрібно вводити дані вручну, тому ви позбудетеся людських помилок. Коли дані впорядковані, можна ухвалювати більш обґрунтовані рішення та розвивати бізнес.
У міру зростання організації зростає й кількість операцій CRUD. Їхня універсальність спрощує масштабування відповідно до потреб зростаючого бізнесу.
Завдяки операціям CRUD організації можуть позбутися важких для розуміння процесів управління даними. Вони користуються простим та зрозумілим інтерфейсом, який дає змогу членам команди отримувати необхідну їм інформацію та керувати даними.
За допомогою операцій CRUD організації можуть забезпечити безпеку своїх конфіденційних даних. Засоби управління даними діють так, що тільки авторизовані користувачі можуть додавати, читати, змінювати або видаляти інформацію. Так забезпечується безпека зберігання персональних даних та роботи з ними.
Спільна робота з операціями CRUD ведеться без труднощів, оскільки багато користувачів можуть одночасно отримувати доступ до даних та змінювати їх. Це покращує командну роботу та підвищує швидкість виконання проєкту.
Операції CRUD покликані забезпечити максимальну ефективність. Вони спрощують завдання управління даними, автоматизуючи їх та скорочуючи витрати часу та грошей.
Завдяки операціям CRUD організації можуть легко знаходити, змінювати та видаляти дані, що спрощує резервне копіювання та відновлення даних. Регулярне резервне копіювання даних організації та можливість швидкого відновлення в разі аварії або втрати даних забезпечує постійну доступність даних організації.
CRUD та REST — це два різні підходи до управління даними у вебзастосунках.
Основна відмінність між CRUD та REST у тім, що:
CRUD — це цикл із чотирьох основних команд для роботи з базою даних. Це не архітектурна система.
Для кожного окремо взятого вебсайту існує багато циклів CRUD. Незважаючи на те, що CRUD спочатку призначався для баз даних, зараз він відповідає принципам проектування динамічних застосунків.
У багатьох протоколах та мовах програмування існують реалізації CRUD, хоча назви команд та принцип їхньої роботи можуть трохи відрізнятися. Найяскравіший приклад — мова SQL, у якій реалізовано ці чотири команди.
Цикл CRUD використовується на динамічних вебсайтах. Наприклад, на сайті електронної комерції можна створити обліковий запис, переглянути інформацію, оновити її та видалити продукти з кошика.
Ці сайти створюються за допомогою спеціальних платформ для різних мов програмування, у тому числі:
REST (Representational State Transfer) — це архітектурний стиль, який використовується для створення вебсервісів. Він заснований на протоколі HTTP та встановлює стандарти для обміну даними між клієнтом та сервером.
Рой Філдінг
Творець REST Рой Філдінг (Roy Fielding) визначає цей протокол як «абстракцію архітектурних елементів у розподіленій системі гіпермедіа».
Принципи REST було викладено в його кандидатській дисертації 2000 року. До цього у веброзробників не було стандарту, відповідно до якого можна було б розробити інтернет-API та навіть скористатися ним.
У той час використовувалося багато протоколів, але їх було занадто складно дотримуватися. Для вирішення цієї проблеми Рой Філдінг та його колеги розробили протокол REST. Цей протокол дав змогу двом серверам обмінюватися інформацією незалежно від того, в якій точці світу вони перебувають.
Системи, сумісні з REST, називаються RESTful-системами. Вони характеризуються відокремленням роботи сервера від роботи клієнта та діють без збереження стану.
REST спирається на архітектуру RESTful, яка підтримує HTTP для реалізації вебінтерфейсу, а CRUD можна співвіднести з DDS, SQL або HTTP-методами.
Зараз протоколом REST користується безліч компаній, зокрема такі гіганти, як eBay та Amazon.
CRUD — це дія, яку виконують для запису даних у базу даних, а REST сумісний із будь-яким об’єктом або ресурсом: від медіафайлу до вебсайту або документа тощо.
REST-сервіси можуть реалізовувати CRUD-операції, використовуючи різні HTTP-методи, як-от:
Create
);Read
);Update
);Delete
).Але REST також підтримує інші методи, наприклад, HEAD, OPTIONS, PATCH тощо.
REST — це надійна архітектура, що охоплює ресурси та гіпермедіа за протоколом HTTP. CRUD — це цикл обслуговування записів, які зберігаються в системах управління базами даних.
Таким чином CRUD та REST — дві різні концепції, але REST-сервіси можуть використовувати CRUD-операції для управління даними, що робить їх взаємопов’язаними.
Якщо перед розробниками стоїть завдання вибору між CRUD та REST, вони обирають CRUD для реалізації функцій постійного сховища. Нижче наведено деякі параметри, що забезпечують надійність REST:
Розглянемо, який вигляд може мати приклад роботи з користувачем у CRUD.
Припустимо, є сайт example.com, який приймає запити до API та надсилає відповіді у вигляді коду JSON.
Read
(читання списку користувачів): системі надсилається запит на отримання списку користувачів, після чого вона завантажує цей список із бази даних та надсилає список у форматі JSON.
Для цього надсилається запит GET на URL-адресу http://example.com/users. У разі його успішного виконання сервер надсилає HTTP-відповідь 200 із даними:
{ "users": [ { "id": 1, "name": "John Doe", "email": "johndoe@example.com", "password": "Qw12h%63h" }, { "id": 2, "name": "Jane Doe", "email": "janedoe@example.com", "password": "Ue7^4ls7$6" }, ... ] }
Другий приклад. Системі надсилається запит на отримання відомостей про користувача, після чого система завантажує інформацію про його профіль із бази даних та надсилає користувачеві відповідь.
Наприклад, для отримання користувача з ідентифікатором 1
надсилається запит GET на URL-адресу http://example.com/users/1. У разі його успішного виконання сервер надсилає HTTP-відповідь 200 із даними:
{ "id": 1, "name": "John Doe", "email": "johndoe@example.com", "password": "Qw12h%63h" }
Create
(створення користувача): користувач заповнює форму з необхідними полями (ім’я, прізвище, адреса електронної пошти, пароль тощо), потім ці дані відправляються на сервер. Сервер зберігає дані користувача в базі даних та надсилає відповідь, повідомляючи користувачеві, що його обліковий запис було успішно створено.
Наприклад, щоб додати користувача з ім’ям Jack Smith
, адресою jacksmith@example.com
та паролем hKP*%8b3;
, надсилається запит POST на URL-адресу http://example.com/users/add з відповідними даними:
{ "name": "Jack Smith", "email": "jacksmith@example.com", "password": "hKP*%8b3;"
Update
(оновлення інформації про користувача): користувач заходить на сторінку свого профілю та вносить необхідні зміни в поля форми (наприклад, змінює адресу електронної пошти). Після натискання на кнопку Зберегти дані надсилаються на сервер, який оновлює інформацію про користувача в базі даних та надсилає відповідь, повідомляючи користувачеві, що його профіль було успішно оновлено.
Наприклад, щоб змінити адресу електронної пошти користувача з ідентифікатором 1
на johndoejr@example.com
, на адресу http://example.com/users/1 надсилається запит PUT зі зміненими даними:
{ "email": "johndoejr@example.com" }
Delete
(видалення користувача): користувач заходить на сторінку свого профілю та натискає кнопку Видалити обліковий запис. Після підтвердження видалення система надсилає запит на сервер, який видаляє дані користувача з бази даних та надсилає відповідь, повідомляючи користувачеві, що його обліковий запис було успішно видалено.
Наприклад, для видалення користувача з ідентифікатором 3
надсилається запит DELETE за адресою http://example.com/users/3.
Якщо після цієї операції надіслати за цією адресою запит GET, буде отримано код 404, який означає, що запитаних даних немає.
CRUD (Create
, Read
, Update
, Delete
) — це основні операції, які використовуються для управління даними в більшості вебзастосунків та систем управління інформацією. Ці операції дають змогу працювати з базою даних, тобто створювати, читати, оновлювати та видаляти дані.
Операції CRUD можуть бути використані з будь-якою базою даних, незалежно від того, яка технологія використовується для її створення.
Це дає змогу розробникам швидко створювати застосунки та системи управління інформацією, використовуючи наявні бази даних.
Але для більш складних систем управління інформацією або вебзастосунків операцій CRUD може виявитися недостатньо. У таких випадках потрібні складніші архітектурні патерни та технології.
Операції CRUD — важливий та невід’ємний елемент під час розроблення вебзастосунків та систем управління інформацією, який гарантує простоту та універсальність управління даними.
Резиденти Дія.City сплатили до бюджету понад 8 млрд грн податків в І кварталі 2025 року.…
У Китаї закликають офісних працівників не працювати надто багато — держава сподівається, що вільний час…
Експерти звертають увагу на тривожну тенденцію: люди все частіше використовують ChatGPT, щоб визначити місцезнаходження, зображене…
Компанія JetBrains випустила нову версію мультимовного середовища розробки IntelliJ IDEA 2025.1. Оновлена IDE отримала численні…
Платформа обміну миттєвими повідомленнями Discord впроваджує функцію перевірки віку за допомогою сканування обличчя. Зараз вона…
Wikipedia намагається захистити себе від тисяч різноманітних ботів-скрейперів, які сканують дані цієї платформи для навчання…