CRUD

Trong lập trình máy tính, CRUD (viết tắt các chữ cái đầu của Create-Read-Update-Delete, nghĩa là "tạo, đọc, cập nhật, xoá") là bốn chức năng cơ bản của lưu trữ liên tục.[1] Các từ thay thế đôi khi được sử dụng khi xác định bốn chức năng cơ bản của CRUD, chẳng hạn như retrieve (truy xuất) thay cho read; modify (sửa đổi) thay cho update; destroy (hủy) thay cho delete. CRUD đôi khi cũng được sử dụng để mô tả các quy ước giao diện người dùng để tạo điều kiện thuận lợi cho việc xem, tìm kiếm và thay đổi thông tin, thường sử dụng các biểu mẫu và báo cáo của máy tính. Thuật ngữ này được cho là phổ biến lần đầu tiên bởi James Martin trong cuốn sách Managing the Data-base Environment (Quản lý Môi trường Cơ sở Dữ liệu) năm 1983.[2][3] Từ viết tắt có thể mở rộng thành CRUDL để bao gồm thao tác List (liệt kê danh sách) các tập dữ liệu lớn nhưng đổi lại mang thêm các yếu tố phức tạp như phân trang khi các tập dữ liệu quá lớn để có thể dễ dàng lưu trữ trong bộ nhớ.

Ứng dụng cho cơ sở dữ liệu

[sửa | sửa mã nguồn]

Từ CRUD đề cập đến tất cả các chức năng chính được thực hiện trong các ứng dụng cơ sở dữ liệu quan hệ. Mỗi chữ cái trong từ viết tắt có thể viết tương ứng tới mỗi câu lệnh Ngôn ngữ truy vấn có cấu trúc (SQL) tiêu chuẩn, hoặc phương thức trong các giao thức truyền tải siêu văn bản (HTTP) (điều này thường được sử dụng để xây dựng các API RESTful)[4] hoặc thao tác trong Dịch vụ phân phối dữ liệu (DDS):

CRUD Nghĩa SQL HTTP DDS
create tạo INSERT POST write
read đọc SELECT GET read
update cập nhật UPDATE PUT write
delete xoá DELETE DELETE dispose

Phương thức POST trong HTTP không phải là một thao tác của CRUD như các phương thức PUT, GET và DELETE, bởi các phương thức kia có ngữ nghĩa quản lý lưu trữ, nghĩa là chúng cho phép các tác nhân người dùng thao tác trực tiếp trạng thái của tài nguyên đích. Phương thức POST mặt khác nó là một quy trình hoạt động có ngữ nghĩa cụ thể của tài nguyên đích không bao gồm ngữ nghĩa quản lý lưu trữ, vì vậy nó không cho phép tác nhân người dùng thao tác trực tiếp trạng thái của tài nguyên đích.[5][6] Trái ngược với các thao tác của CRUD, phương thức POST không nhất thiết phải thay đổi giá trị.

Giao diện người dùng

[sửa | sửa mã nguồn]

CRUD cũng có mặt ở cấp giao diện người dùng của hầu hết các ứng dụng. Ví dụ, trong phần mềm sổ địa chỉ, đơn vị lưu trữ cơ bản là một mục nhập liên hệ riêng lẻ. Ở mức tối thiểu, phần mềm phải cho phép người dùng

  • tạo hoặc thêm các mục mới;
  • đọc, truy xuất, tìm kiếm hoặc xem các mục hiện có;
  • cập nhật hoặc chỉnh sửa các mục hiện có;
  • xóa, hủy kích hoạt hoặc xóa các mục hiện có.

Nếu thiếu ít nhất bốn thao tác này, phần mềm không thể được coi là hoàn thiện. Bởi vì các hoạt động này rất cơ bản, chúng thường được ghi lại và mô tả dưới một tiêu đề toàn diện, chẳng hạn như "quản lý liên hệ", "quản lý nội dung" hoặc "bảo trì liên hệ" (hoặc "quản lý tài liệu" nói chung, tùy thuộc vào đơn vị lưu trữ cơ bản cho mỗi ứng dụng).

Các biến thể khác

[sửa | sửa mã nguồn]

Các biến thể khác của CRUD bao gồm:

  • ABCD (add, browse, change, delete) - "thêm, duyệt, thay đổi, xóa"
  • CRUDL (create, read, update, delete, list) - "tạo, đọc, cập nhật, xoá, liệt kê"
  • BREAD (browse, read, edit, add, delete) - "duyệt, đọc, sửa, thêm, xóa" [7]
  • DAVE (delete, add, view, edit) - "xóa, thêm, xem, sửa"[8]
  • CRAP (create, replicate, append, process) - "tạo, sao chép, nối thêm, xử lý"[9]

Tham khảo

[sửa | sửa mã nguồn]
  1. ^ Heller, Martin (ngày 29 tháng 1 năm 2007). “REST and CRUD: the Impedance Mismatch”. Developer World. InfoWorld.
  2. ^ Managing the Data-base Environment tại Google Books
  3. ^ Martin, James (1983). Managing the Data-base Environment. Englewood Cliffs, New Jersey: Prentice-Hall. tr. 381. ISBN 0-135-50582-8.
  4. ^ Tom Spencer (16 tháng 9 năm 2014). “No REST for the whippet”. Truy cập ngày 2 tháng 4 năm 2021.
  5. ^ Fielding, Roy (tháng 6 năm 2014). “Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content, Section 4”. IETF. Internet Engineering Task Force (IETF). RFC 7231. Truy cập ngày 14 tháng 2 năm 2018.
  6. ^ Roy T. Fielding (20 tháng 3 năm 2009). “It is okay to use POST”. roy.gbiv.com. Truy cập ngày 14 tháng 4 năm 2020.
  7. ^ Paul M. Jones (2008). “BREAD, not CRUD”.
  8. ^ McGaw, James (ngày 21 tháng 6 năm 2010). Beginning Django E-Commerce. tr. 41. ISBN 9781430225362.
  9. ^ “CRAP and CRUD: From Database to Datacloud - Direct2DellEMC”. Direct2DellEMC (bằng tiếng Anh). ngày 13 tháng 11 năm 2012. Truy cập ngày 2 tháng 4 năm 2021.
Chúng tôi bán
Bài viết liên quan
Jujutsu Kaisen chương 264: Quyết Chiến Tại Tử Địa Shinjuku
Jujutsu Kaisen chương 264: Quyết Chiến Tại Tử Địa Shinjuku
Tiếp diễn tại chiến trường Shinjuku, Sukuna ngạc nhiên trước sự xuất hiện của con át chủ bài Thiên Thần với chiêu thức “Xuất Lực Tối Đa: Tà Khứ Vũ Thê Tử”.
Tóm lược time line trong Tensura
Tóm lược time line trong Tensura
Trong slime datta ken có một dòng thời gian khá lằng nhằng, nên hãy đọc bài này để sâu chuỗi chúng lại nhé
Cậu ngày hôm nay là tất cả đáng yêu (phần 4)
Cậu ngày hôm nay là tất cả đáng yêu (phần 4)
Cậu ngày hôm nay là tất cả đáng yêu - 今天的她也是如此可爱. phần 4
Những bộ anime nhất định phải xem trong thập kỉ vừa qua
Những bộ anime nhất định phải xem trong thập kỉ vừa qua
Chúng ta đã đi một chặng đường dài của thế kỉ 21, khép lại thập kỉ đầu tiên cùng với hàng trăm bộ anime được ra mắt công chúng