Создавать, читать, обновлять и удалять - Create, read, update and delete

В компьютерное программирование, создавать, читать, обновлять и удалять[1] (CRUD) являются четырьмя основными функциями постоянного хранения.[2] Альтернативные слова иногда используются при определении четырех основных функций CRUD, Такие как забрать вместо читать, модифицировать вместо Обновить, или же разрушать вместо Удалить. CRUD также иногда используется для описания пользовательский интерфейс соглашения, упрощающие просмотр, поиск и изменение Информация, часто используя компьютерные формы и отчеты. Этот термин, вероятно, был впервые популяризирован Джеймс Мартин в его книге 1983 года Управление средой базы данных.[1][3] Акроним может быть расширен до CRUDL, чтобы охватить листинг больших наборов данных, которые создают дополнительную сложность, например разбивка на страницы когда наборы данных слишком велики, чтобы их можно было легко хранить в памяти.

Концепция

Данные можно поместить в место расположения (площадь) склада. Фундаментальной особенностью хранилища является то, что он имеет читаемый и обновляемый содержание (государственный). Эти читать и Обновить операции - это две основные операции с хранилищем, известные как пара загрузка – обновление (LUP).[4]

Прежде чем место хранения можно будет прочитать или обновить, оно должно быть доступно. Место хранения может быть доступно или недоступно для использования. Эти Создайте и Удалить операции - это две другие основные операции с хранилищем.

Вместе они составляют четыре основных операции управление хранилищем (прямое манипулирование содержимым мест хранения пользователями), известное как CRUD: Создайте, читать, Обновить, и Удалить. CRUD операции идемпотент, что означает, что несколько приложений, выполняющих одну и ту же операцию, оказывают такое же влияние на хранилище, как и одно приложение.

Приложения базы данных

Аббревиатура CRUD относится ко всем основным функциям, реализованным в реляционная база данных Приложения. Каждая буква в аббревиатуре может соответствовать стандартному Структурированный язык запросов (SQL) оператор, Протокол передачи гипертекста (HTTP) метод (обычно используется для создания RESTful API[5]) или же Служба распространения данных (DDS) операция:

CRUDSQLHTTPDDS
СоздайтеВСТАВЛЯТЬПОЛОЖИТЬзаписывать
читатьВЫБРАТЬПОЛУЧАТЬчитать
ОбновитьОБНОВИТЬПОЛОЖИТЬзаписывать
УдалитьУДАЛИТЬУДАЛИТЬизбавляться

В ПОЧТОВЫЙ в HTTP не является операцией CRUD, как методы PUT, GET и DELETE, которые имеют семантика управления хранилищем, что означает, что они позволяют пользовательские агенты напрямую манипулировать состояниями цели Ресурсы. Это технологическая операция, которая семантика целевого ресурса исключая семантику управления хранилищем, поэтому он не позволяет пользовательским агентам напрямую манипулировать состояниями целевых ресурсов.[6][7] В отличие от операций CRUD, метод POST не обязательно идемпотентен.

Хотя реляционная база данных предоставляет общие слой устойчивости в программных приложениях существует множество других уровней сохраняемости. Функциональность CRUD может быть реализована, например, с объектные базы данных, Базы данных XML, простые текстовые файлы или пользовательские форматы файлов. Некоторые системы (большие данные) не реализуют UPDATE, а имеют только INSERT с меткой времени (ведение журнала), фактически сохраняя новую версию объекта. Как следствие, у них тоже нет транзакций, и они могут пропустить последовательность.

Пользовательский интерфейс

CRUD также актуален на уровне пользовательского интерфейса большинства приложений. Например, в адресная книга программное обеспечение, базовая единица хранения - индивидуальный контакт Вход. Как минимум, программное обеспечение должно позволять пользователю

  • создавать или добавлять новые записи;
  • читать, извлекать, искать или просматривать существующие записи;
  • обновлять или редактировать существующие записи;
  • удалить, деактивировать или удалить существующие записи.

Без хотя бы этих четырех операций программное обеспечение нельзя считать законченным. Поскольку эти операции настолько фундаментальны, они часто документируются и описываются под одним всеобъемлющим заголовком, таким как «управление контактами», «управление контентом» или «обслуживание контактов» (или «управление документами» в целом, в зависимости от базовой единицы хранения для конкретное приложение).

Другие варианты

Другие варианты CRUD включают:

  • ХЛЕБ (просматривать, читать, редактировать, добавлять, удалять)[8]
  • ДЕЙВ (удалить, добавить, просмотреть, изменить)[9]
  • CRAP (создание, репликация, добавление, обработка)[10]

Смотрите также

Рекомендации

  1. ^ а б Управление средой базы данных, п. 381, в Google Книги
  2. ^ Хеллер, Мартин (29 января 2007 г.). "REST и CRUD: несоответствие импеданса". Мир разработчиков. InfoWorld.
  3. ^ Мартин, Джеймс (1983). Управление средой базы данных. Энглвуд Клиффс, Нью-Джерси: Прентис-Холл. п.381. ISBN  0-135-50582-8.
  4. ^ Стрейчи, Кристофер (2000). «Основные понятия языков программирования». Вычисление высшего порядка и символическое вычисление. Kluwer Academic Publishers. 13 (1/2): 11–49. CiteSeerX  10.1.1.332.3161. Дои:10.1023 / А: 1010000313106. ISSN  1388-3690.
  5. ^ Том Спенсер (2014). "Уиппету нет отдыха".
  6. ^ Филдинг, Рой (июнь 2014 г.). «Протокол передачи гипертекста (HTTP / 1.1): семантика и содержание, раздел 4». IETF. Инженерная группа Интернета (IETF). RFC  7231. Получено 2018-02-14.
  7. ^ Рой Т. Филдинг (20 марта 2009 г.). "Можно использовать POST". roy.gbiv.com. Получено 2020-04-14.
  8. ^ Пол М. Джонс (2008). "ХЛЕБ, а не сыр".
  9. ^ Макгоу, Джеймс (21 июня, 2010 г.). Начало электронной коммерции Django. п. 41. ISBN  9781430225362.
  10. ^ «CRAP и CRUD: от базы данных к Datacloud - Direct2DellEMC». Direct2DellEMC. 2012-11-13. Получено 2018-01-30.