Из Википедии, свободной энциклопедии
  (Перенаправлено из CRUD )
Перейти к навигации Перейти к поиску

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

Концепция [ править ]

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

Прежде чем место хранения можно будет использовать для чтения или обновления, его необходимо создать , выделить и инициализировать с помощью согласованного содержимого. После того, как место хранения было использовано, его необходимо уничтожить , завершить работу и освободить. Эти операции создания и удаления являются двумя другими основными операциями в хранилище.

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

Приложения баз данных [ править ]

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

В HTTP методы GET (чтение), PUT (создание и обновление) и DELETE (удаление) являются операциями CRUD, поскольку они имеют семантику управления хранилищем, что означает, что они позволяют пользовательским агентам напрямую манипулировать состояниями целевых ресурсов . С другой стороны, метод POST - это не операция CRUD, а операция процесса, которая имеет семантику, зависящую от целевого ресурса, за исключением семантики управления хранилищем, поэтому он не позволяет пользовательским агентам напрямую манипулировать состояниями целевых ресурсов. [4] [5] В отличие от операций CRUD, метод POST не обязательно идемпотентен.

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

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

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

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

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

Другие варианты [ править ]

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

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

См. Также [ править ]

  • Передача репрезентативного состояния (REST)
  • Шаблон активной записи
  • Язык манипулирования данными
  • Ввод, вывод
  • КИСЛОТА
  • Запрос по примеру
  • Разделение команд и запросов
  • Scaffold (программирование)

Ссылки [ править ]

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