CRUD ‑ акроним, обозначающий четыре базовые функции, используемые при работе с базами данных: создание (англ. create), чтение (read), модификация (update), удаление (delete). Введён Джеймсом Мартином (англ. James Martin) в 1983 году как классификация функций по манипуляции данными [2].
Этим функциям соответствуют следующие реализации: «Insert» (вставка новой строки), «Select» (выполняет функцию выборки данных), «Update» (позволяет редактировать записи и последняя операция) и «Delete» (позволяет удалять записи). Системы, реализующие доступ к базе данных через API в стиле REST. Такие функции реализуются зачастую, но не обязательно, через HTTP-протоколы PUT, GET, PATCH и DELETE.
Рассмотрим подробнее процесс создания новой записи. Функция «Create» предназначена для добавления новых строк в таблицу. Это можно сделать с помощью команды INSERT INTO.
Она начинается с INSERT INTO ‑ ключевого слова, за которым следует название таблицы. Далее указываются имена столбцов и значения, которые нужно вставить. Использовать функцию «INSERT INTO» возможно в двух вариантах (листинг 1). Функция «INSERT INTO» добавит новые строки в таблицу, и каждой созданной записи будет присвоен свой уникальный идентификатор [1].
Листинг 1 – Примеры запросов на добавление записи
INSERT INTO table_name
VALUES (value1, value2, value3, ...);
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
Функция «READ», она же функция чтения, похожа на функцию поиска, потому что также позволяет извлекать определенные записи и считывать их значения. Ниже приведен пример такого запроса (листинг 2).
Листинг 2 – Пример запроса вывода данных
SELECT * FROM table
Этот запрос не внесет никаких изменений в таблицу, а отобразит все существующие записи в этой таблице. Также можно указать критерий поиска записей посредством добавления секции where (листинг 3)
Листинг 3 – Пример запроса вывода данных с условием
SELECT * FROM table
WHERE NAME LIKE ‘%a’
Обновление «UPDATE» — данная операция позволяет обновлять раннее добавленные записи. То есть существует возможность использовать метод для изменения в базе данных существующих записей. При выполнении операции «UPDATE» необходимо определить целевую таблицу и столбцы, которые необходимо обновить (листинг 4). Также необходимо указать условие, по которому будут выбираться строки для обновления. В противном случае будут обновлены все указанные столбы таблицы. Рекомендуется ограничить количество строк, это помогает избежать проблем с параллелизмом [4].
Операция «DELETE» используется для удаления записи из таблицы (листинг 5). В SQL реализована возможность удаления, как одной конкретной записи, посредством указания соответствующего, так и удаление всех записей, содержащихся в таблице.
Если рассматривать некоторые приложения управления реляционных баз данных, то можно заметить, что некоторые могут разрешать жесткое удаление, то есть безвозвратное удаление или мягкое удаление [3].
Листинг 4 – Примеры запроса на обновление
UPDATE table
SET column1 = value1, column2 = value2, ...
WHERE ID = 3;
Листинг 5 – Пример запроса на удаление
DELETE FROM table
WHERE ID = 3;
Благодаря функциям чтения, создания, обновления и удаления удается организовать простое и правильное взаимодействие с хранимыми данными. Также позволяя разграничивать доступ пользователей по группам. Для одной группы разрешать только чтение записей, а другой предоставлять доступ к созданию и обновлению, удалению записей. Операции CRUD являются минимально необходимыми как для взаимодействия пользователей с системой, так и для разработчиков системы.
Список использованных источников
CRUD-проверка базы данных с помощью пользовательского интерфейса и примеры тестовых случаев. – Режим доступа: https://www.start-it.ua/post/crud-проверка-базы-данных-с-помощью-пользовательского-интерфейса-и-примеры-тестовых-случаев (Дата обращения 11.12.2021).
Основы построения баз данных: учебное пособие : [16+] / Д. В. Чмыхов, А. С. Сазонова, А. А. Тищенко [и др.]. – Москва ; Берлин : Директ-Медиа, 2021. – 124 с. : ил., табл. – Режим доступа: по подписке. – URL: https://biblioclub.ru/index.php?page=book&id=602227 (дата обращения: 19.12.2021). – Библиогр. в кн. – ISBN 978-5-4499-2428-5. – Текст : электронный.
Сидорова, Н. П. Базы данных: практикум по проектированию реляционных баз данных: учебное пособие: [16+] / Н. П. Сидорова; Технологический университет, Институт техники и цифровых технологий, Факультет инфокоммуникационных систем и технологий. – Москва; Берлин: Директ-Медиа, 2020. – 93 с. : ил. – Режим доступа: по подписке. – URL: https://biblioclub.ru/index.php?page=book&id=575080 (дата обращения: 19.12.2021). – Библиогр.: с. 85. – ISBN 978-5-4499-0799-8. – Текст : электронный.
Что такое CRUD-операции. – Режим доступа: https://bestprogrammer.ru/izuchenie/chto-takoe-crud-operatsii (Дата обращения 11.10.2021).