Hướng dẫn

CRUD là gì? Tạo, đọc, cập nhật, xóa giải thích dễ hiểu

CRUD là viết tắt của create (tạo), read (đọc), update (cập nhật) và delete (xóa), bốn việc cơ bản mà một ứng dụng làm với dữ liệu đã lưu. Thêm một khách hàng mới là create, xem danh sách khách hàng là read, đổi số điện thoại của họ là update, và xóa họ đi là delete. Hầu hết các ứng dụng kinh doanh, như CRM, hệ thống đặt lịch, công cụ theo dõi kho hàng hay bảng quản trị, phần lớn đều là CRUD cộng thêm các quy tắc và bố cục tốt.

Vì sao điều này quan trọng khi bạn xây dựng bằng AI

CRUD là bộ từ vựng biến một ý tưởng ứng dụng mơ hồ thành yêu cầu chính xác. "Một ứng dụng để quản lý nhà cung cấp" khiến AI phải đoán. "Tạo, liệt kê, sửa và xóa nhà cung cấp, với các trường sau" cho AI biết chính xác những màn hình, thao tác cơ sở dữ liệu và route trên server cần xây dựng.

Nó cũng cho bạn một danh sách kiểm tra để thử nghiệm. Với mỗi loại bản ghi trong ứng dụng, bạn có thể hỏi bốn câu: tôi có thể thêm một bản ghi không, xem chúng không, sửa một bản ghi và xóa một bản ghi không, và chỉ những người đúng mới làm được từng việc đó sao? Khá nhiều ứng dụng xây bằng AI có thể tạo bản ghi nhưng không sửa được, hoặc cho phép bất kỳ ai xóa bất cứ thứ gì.

Một ví dụ đời thường: hộp thẻ công thức nấu ăn

Hãy hình dung một hộp thẻ công thức nấu ăn trên kệ bếp.

  • Create: viết một thẻ mới và xếp vào hộp.
  • Read: lật qua hộp, hoặc rút ra thẻ lasagne.
  • Update: gạch "200g phô mai" và viết "250g".
  • Delete: rút một thẻ ra và vứt đi.

Bây giờ thêm quy tắc: chỉ bếp trưởng được vứt thẻ, mỗi thẻ phải có tiêu đề, và không ai được lưu hai thẻ cùng tên. Đó là một ứng dụng CRUD có kiểm tra dữ liệu và phân quyền, và đó chính là hình dạng của hầu hết ứng dụng thực tế.

CRUD xuất hiện ở từng tầng như thế nào

Mỗi thao tác đều xuất hiện ở màn hình, ở server và ở cơ sở dữ liệu. Đặt chúng cạnh nhau sẽ giải thích được nhiều điều về cách ứng dụng được xây dựng.

Thao tácTrên màn hìnhYêu cầu API (REST)SQL trong cơ sở dữ liệu
CreateNút "Mới" và một biểu mẫuPOST /api/suppliersINSERT
ReadDanh sách có tìm kiếm và bộ lọc; trang chi tiếtGET /api/suppliers và GET /api/suppliers/42SELECT
UpdateBiểu mẫu "Sửa" hoặc chỉnh sửa trực tiếpPUT hoặc PATCH /api/suppliers/42UPDATE
DeleteNút "Xóa" kèm xác nhậnDELETE /api/suppliers/42DELETE (hoặc đánh dấu hàng là đã xóa)

Màn hình là frontend, yêu cầu API là cách frontend nói chuyện với backend, còn SQL là cách backend nói chuyện với cơ sở dữ liệu. Nếu những từ này còn mới với bạn, hãy xem API là gì và cơ sở dữ liệu là gì.

Ví dụ minh họa: ứng dụng theo dõi cho mượn thiết bị

Phòng truyền thông của một trường học cho sinh viên mượn máy quay và micro, nhưng thường xuyên không theo dõi được chúng. Họ muốn một ứng dụng đơn giản.

Các bản ghi. Có hai loại: thiết bị (tên, loại, số seri, tình trạng) và lượt mượn (thiết bị nào, sinh viên nào, ngày mượn, ngày hạn trả, ngày trả).

CRUD cho thiết bị:

  • Create: nhân viên thêm một máy quay mới với số seri của nó. Quy tắc: số seri phải duy nhất.
  • Read: danh sách tất cả thiết bị, lọc theo loại và theo "đang rảnh"; một trang chi tiết hiển thị lịch sử mượn của từng món.
  • Update: đổi tình trạng thành "cần sửa chữa".
  • Delete: thường không phải xóa thật. Nếu một máy quay có 30 lượt mượn trong quá khứ bị xóa, các bản ghi mượn sẽ mất liên kết. Thay vào đó, đánh dấu là "đã thanh lý" để nó biến khỏi danh sách rảnh nhưng lịch sử vẫn được giữ lại. Đây được gọi là soft delete (xóa mềm).

CRUD cho lượt mượn:

  • Create: ghi nhận một thiết bị được mượn cho một sinh viên. Quy tắc: không thể mượn một thiết bị đang được cho mượn.
  • Read: "các lượt mượn quá hạn" — danh sách những lượt đã qua hạn trả và chưa có ngày trả.
  • Update: ghi ngày trả khi thiết bị được mang về.
  • Delete: chỉ nhân viên được xóa, dành cho các lượt mượn nhập nhầm.

Phân quyền. Sinh viên có thể đọc những gì đang rảnh; chỉ nhân viên mới được tạo, cập nhật hoặc xóa. Các kiểm tra này chạy trên server, không chỉ bằng cách ẩn nút.

Đó là toàn bộ ứng dụng. Những phần thú vị, như không cho mượn trùng, danh sách quá hạn, lịch sử theo từng món, đều là các quy tắc và truy vấn xây thêm trên nền CRUD đơn thuần.

Thuật ngữ quan trọng

  • Bản ghi (hàng): một mục, như một nhà cung cấp hoặc một lượt mượn.
  • Thực thể / tài nguyên (entity / resource): một loại bản ghi, như "nhà cung cấp". Mỗi loại thường có bảng riêng và bộ màn hình CRUD riêng.
  • Kiểm tra dữ liệu (validation): kiểm tra đầu vào, như trường bắt buộc, email hợp lệ, số lượng dương. Nên làm ở biểu mẫu cho tiện, và ở server để an toàn.
  • Soft delete (xóa mềm): đánh dấu bản ghi là đã xóa hoặc lưu trữ thay vì gỡ bỏ, để lịch sử và các liên kết vẫn tồn tại.
  • Phân trang (pagination): hiển thị một danh sách dài từng trang một, để ứng dụng luôn nhanh.
  • Nhật ký kiểm toán (audit log): bản ghi ai đã tạo, thay đổi hoặc xóa cái gì, và khi nào.
  • Bảng quản trị (admin panel): tập hợp các màn hình CRUD để nhân viên quản lý dữ liệu của ứng dụng.

Lỗi thường gặp và những hiểu lầm

  • Quên một trong bốn thao tác. Ứng dụng thường có create và read nhưng không có edit, nên mỗi lỗi chính tả đều phải xóa và nhập lại. Hãy kiểm tra cả bốn thao tác cho mỗi thực thể.
  • Xóa làm hỏng mọi thứ. Xóa một khách hàng có hóa đơn có thể để lại hóa đơn mồ côi hoặc làm mất lịch sử. Hãy quyết định cho từng thực thể: chặn việc xóa, xóa mềm, hoặc xóa cả các bản ghi liên quan.
  • Phân quyền chỉ nằm ở giao diện. Ẩn nút Xóa không ngăn được ai đó gửi yêu cầu DELETE. Server phải kiểm tra người đang yêu cầu là ai.
  • Cập nhật theo ID mà không kiểm tra quyền sở hữu. Nếu người dùng A có thể sửa /api/notes/42 bằng cách đổi một con số trên URL, họ có thể sửa ghi chú của người dùng B. Mọi thao tác cập nhật và xóa đều phải xác nhận bản ghi thuộc về người yêu cầu.
  • Không có xác nhận khi xóa. Một lần chạm nhầm không được phá hủy dữ liệu. Hãy yêu cầu bước xác nhận hoặc khả năng hoàn tác.
  • "CRUD nghĩa là cơ bản, không đáng xây dựng." Nhiều sản phẩm có giá trị là ứng dụng CRUD khớp với quy trình làm việc hơn là một công cụ đa dụng.

Nên yêu cầu công cụ xây dựng AI của bạn điều gì

Dùng mẫu này cho từng thực thể, lần lượt từng cái một:

Tạo tính năng nhà cung cấp với danh sách, tạo, sửa và xóa. Các trường: tên (bắt buộc), email liên hệ (email hợp lệ), điện thoại, danh mục (một trong: thực phẩm, bao bì, vệ sinh), ghi chú. Danh sách có tìm kiếm theo tên và lọc theo danh mục, 20 mục mỗi trang. Xác nhận trước khi xóa; nếu nhà cung cấp có đơn hàng, hãy lưu trữ thay vì xóa. Chỉ nhân viên đã đăng nhập mới được tạo, sửa hoặc lưu trữ — hãy bắt buộc điều này trên server.

Sau đó kiểm thử cả bốn thao tác, với một người dùng được phép và với một người không nên có quyền truy cập. Khi một thực thể hoạt động ổn, hãy thêm thực thể tiếp theo. Cách xây dựng công cụ nội bộ cho thấy màn hình CRUD trở thành một ứng dụng quản trị hoàn chỉnh ra sao, và Postgres là gì giải thích cơ sở dữ liệu mà hầu hết các ứng dụng này dựa trên.

Ứng dụng CRUD trên Mythex

Ứng dụng CRUD là một trong những thứ mà các công cụ xây dựng ứng dụng bằng AI làm tốt nhất, và Mythex cũng không ngoại lệ. Yêu cầu trong chat về thực thể và các trường của nó, Mythex sẽ gắn một cơ sở dữ liệu Postgres vào dự án, tạo bảng, rồi xây dựng các màn hình danh sách, biểu mẫu và chi tiết trong bản xem trước trực tiếp; sau đó bạn có thể chạy /test để kiểm tra luồng. Tài liệu có công thức ứng dụng CRUD kèm một prompt khởi đầu, và trình tạo công cụ nội bộ cùng mẫu bảng điều khiển là những nơi tốt để bắt đầu.

Câu hỏi thường gặp

CRUD là viết tắt của gì?

CRUD là viết tắt của create (tạo), read (đọc), update (cập nhật) và delete (xóa): thêm một bản ghi mới, xem các bản ghi, thay đổi một bản ghi và gỡ bỏ một bản ghi. Hầu hết ứng dụng lưu dữ liệu đều được xây dựng từ bốn thao tác này.

Ứng dụng CRUD là gì?

Ứng dụng CRUD là ứng dụng có công việc chính là quản lý bản ghi thông qua các biểu mẫu, danh sách và trang chi tiết, ví dụ CRM, theo dõi kho hàng, quản trị đặt lịch hoặc phần back office của một trang tuyển dụng. Hầu hết công cụ nội bộ và bảng quản trị đều là ứng dụng CRUD.

CRUD liên quan đến REST API như thế nào?

Trong một REST API điển hình, create dùng yêu cầu POST, read dùng GET, update dùng PUT hoặc PATCH, và delete dùng DELETE. Sau đó backend chạy thao tác cơ sở dữ liệu tương ứng: INSERT, SELECT, UPDATE hoặc DELETE.

Ứng dụng CRUD có quá đơn giản để có giá trị không?

Không. Nhiều phần mềm kinh doanh hữu ích chính là CRUD với các quy tắc tốt, phân quyền và báo cáo bổ sung. Giá trị nằm ở việc mô hình hóa dữ liệu tốt và khớp với quy trình làm việc, chứ không nằm ở công nghệ lạ.

Mythex · Pricing · Xây dựng mọi thứ với AI · Mẫu website và ứng dụng · So sánh Mythex · Thuật ngữ xây dựng ứng dụng bằng AI · Công cụ miễn phí để xây dựng ứng dụng bằng AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو 简体中文 繁體中文(香港) 繁體中文(台灣)