CRUD là gì?
CRUD là viết tắt của bốn từ tiếng Anh: Tạo (Create), Đọc (Read), Cập Nhật (Update), và Xóa (Delete). Chính nhờ vào những tính năng này, chúng ta có thể làm việc với cơ sở dữ liệu của một trang web một cách hiệu quả.
Giả sử bạn có một trang web tin tức. Vậy CRUD có tác dụng gì trên trang web tin tức của bạn? CRUD có liên quan đến phần Front-End, Back-End hay cơ sở dữ liệu của trang web? Và tại sao chúng ta cần giao diện CRUD trên trang web?
1. CREATE – Tạo mới bài viết, người dùng
Để tạo mới một bài viết, người quản trị trang web sẽ nhập thông tin từ giao diện HTML. Sau đó, thông tin sẽ được gửi lên máy chủ thông qua một biểu mẫu HTML, và được xử lý và lưu trữ vào cơ sở dữ liệu.
Máy chủ sẽ thực hiện công việc phức tạp như kiểm tra tính hợp lệ và sự trùng lặp của thông tin, sau đó lưu trữ một bài viết mới vào cơ sở dữ liệu. Quá trình lưu trữ một bản ghi mới lên cơ sở dữ liệu được gọi là tính năng CREATE trong CRUD.
Ví dụ về tính năng CREATE trong CRUD:
- Khi người dùng đặt mua hàng trên một trang web thương mại điện tử, quá trình tạo đơn hàng trên cơ sở dữ liệu để lưu trữ thông tin của người mua hàng và các sản phẩm đã mua.
- Khi người dùng đăng một bình luận trên Facebook, Facebook sẽ tạo mới một dòng dữ liệu trên cơ sở dữ liệu của họ.
2. READ – Đọc nội dung bài viết, thông tin người dùng, thông tin đơn hàng, xem sản phẩm
Sau khi đã tạo mới một bài viết trong quá trình CREATE, chúng ta đã lưu trữ bài viết đó vào cơ sở dữ liệu. Tính năng READ sẽ là tính năng cho phép chúng ta xem lại bản ghi đó, hay nói cách khác, đọc thông tin từ bản ghi đó.
Theo một cách đơn giản, tính năng READ là khi người dùng xem một bài viết hoặc xem một thông tin từ cơ sở dữ liệu. Giao diện hiển thị sẽ do chúng ta đảm nhận. Người dùng sẽ gửi yêu cầu đến máy chủ và xem bài viết đã được lưu trữ trong cơ sở dữ liệu.
Tính năng READ trong CRUD là quá trình lấy ra một bản ghi từ cơ sở dữ liệu. Nói cách khác, đọc bản ghi từ cơ sở dữ liệu hoặc xem bản ghi từ cơ sở dữ liệu.
Ví dụ về tính năng READ trong CRUD:
- Khi người dùng bấm vào một liên kết bài viết, máy chủ sẽ trả về một bài viết cụ thể. Bài viết sẽ được đọc từ cơ sở dữ liệu và hiển thị theo thiết kế của người lập trình trang web.
- Khi người dùng xem thông tin chi tiết về sản phẩm, bao gồm kích thước và giá của sản phẩm.
- Khi người dùng xem trang chủ của trang web tin tức, tất cả các tiêu đề bài viết và hình ảnh sẽ được sắp xếp và hiển thị. Đây cũng là tính năng READ trong CRUD.
- Khi người dùng duyệt New Feeds trên Facebook, đây chính là tính năng READ trong CRUD.
3. UPDATE – Chỉnh sửa bài viết, cập nhật giá sản phẩm, người dùng đổi mật khẩu
Tính năng UPDATE trong CRUD chính là cập nhật thông tin bản ghi đã được lưu trữ từ trước. Điều này không tạo ra bản ghi mới, mà chỉ thay đổi dữ liệu đã có.
Cập nhật thông tin trong cơ sở dữ liệu có thể dựa trên một số đặc điểm. Có thể dựa trên id hoặc các đặc tính chung như chuyên mục, loại,… Các dữ liệu trong cơ sở dữ liệu có thể được cập nhật từ một hoặc nhiều bản ghi, tùy thuộc vào tính năng của trang web.
Ví dụ về tính năng UPDATE trong CRUD:
- Người quản trị trang web chỉnh sửa thông tin của bài viết đã được tạo trước đó.
- Người dùng trang web chỉnh sửa bình luận của họ.
- Người dùng Facebook chỉnh sửa bài đăng của mình.
4. DELETE – Xóa bài viết, xóa bình luận, xóa đơn hàng lỗi
Qua tính năng DELETE trong CRUD, chúng ta có thể xóa bỏ một bản ghi đã tồn tại trong cơ sở dữ liệu thông qua giao diện người dùng. Quá trình xóa bản ghi đã có được thực hiện bởi lập trình viên back-end.
Tính năng DELETE trong CRUD là loại bỏ dữ liệu đã tồn tại, dữ liệu đã được tạo từ quá trình CREATE.
Trong dự án thực tế, xóa dữ liệu người dùng thông qua giao diện người dùng là không hiển thị. Nguyên tắc này cho phép chúng ta khôi phục dữ liệu trong trường hợp cần thiết.
Ví dụ về tính năng DELETE trong CRUD:
- Người quản trị trang web xóa bài viết đã đăng.
- Người dùng xóa bình luận của mình.
CRUD là gì? CRUD là tổ hợp của bốn tính năng quan trọng để làm việc với cơ sở dữ liệu. Hầu hết mọi tính năng trên trang web đều liên quan đến CRUD.
Một tính năng đơn giản trên trang web có thể bao gồm quá trình CREATE và READ, hoặc CREATE và UPDATE. Các sự kết hợp này phụ thuộc vào logic của tính năng và dự án.
Xem thêm về thực tiễn của CRUD tại Dnulib
Được ví như viết bài cho bạn thân, tôi tự tin rằng các thông tin trên đây sẽ giúp bạn hiểu rõ hơn về CRUD trong lập trình website. Hy vọng các bạn sẽ áp dụng thành công cùng Dnulib.