Thiết kế cơ sở dữ liệu cho các ứng dụng hiếm khi hoàn thành nếu không tạo mối quan hệ giữa các bảng. Trình chỉnh sửa cơ sở dữ liệu AppMaster cho phép bạn tạo mối quan hệ như vậy chỉ bằng một thao tác đơn giản. Bạn chỉ cần vẽ một đường liên kết giữa các bảng, sau đó chọn loại quan hệ (một-một, một-nhiều, nhiều-nhiều) và, nếu cần, tên của các trường. Nhưng nếu bảng phải tham chiếu đến chính nó thì sao?
Hãy phân tích tình huống khi cần duy trì một nhật ký hồ sơ nhất định. Đồng thời, nó được tổ chức theo cách mà các bản ghi được tạo ra theo một chuỗi chặt chẽ. Mỗi mục phải được liên kết với mục trước đó và mục tiếp theo (tất nhiên là ngoại trừ mục đầu tiên và mục cuối cùng). Do đó, toàn bộ chuỗi có thể được theo dõi cho từng bản ghi riêng lẻ và hệ thống nhận được sự bảo vệ bổ sung chống lại những thay đổi trái phép.
Thiết kế cơ sở dữ liệu
Trước tiên, chúng ta cần tạo mô hình trong trình thiết kế cơ sở dữ liệu. Hãy đặt tên là Journal và thêm một trường văn bản, record .
Bước tiếp theo là tạo kết nối. Để thực hiện việc này, nhấp chuột phải vào bất kỳ đâu trên khung vẽ và chọn Create relation .
Bước tiếp theo là thiết lập kết nối. Để thực hiện việc này, bạn cần chọn cùng một mô hình với Source và Target (trong trường hợp này là Journal ), đặt tên trường ( next và previous ) và loại kết nối ( has_one ).
Quá trình thiết lập bảng tự tham khảo đã hoàn tất. Bạn có thể bắt đầu tạo quy trình kinh doanh và thiết kế mặt trước.
Tạo quy trình nghiệp vụ
Hãy tạo một quy trình kinh doanh phụ trợ để thêm các mục mới vào nhật ký. Nó sẽ nhận văn bản của mục mới làm tham số đầu vào. Thao tác này sẽ tìm kiếm mục nhập mới nhất trong cơ sở dữ liệu để liên kết nó với mục nhập mới. Để tìm kiếm, bạn có thể đặt _Limit = 1 (vì chỉ cần một bản ghi cuối cùng), như vậy là đủ vì theo mặc định, các bản ghi sẽ được sắp xếp theo ID và được cấp theo thứ tự chúng được thêm vào cơ sở dữ liệu, bắt đầu bằng kỷ lục cuối cùng.
Kết quả tìm kiếm sẽ là một mảng bao gồm một phần tử. Chúng ta cần trích xuất nó bằng cách sử dụng khối Array Element có index 0 và tạo một mục nhật ký mới ( Make Journal ). Bước cuối cùng chỉ là ghi vào cơ sở dữ liệu ( DB: Create Journal ) và hoàn tất quy trình nghiệp vụ.
Quy trình công việc này có thể được sử dụng cho điểm cuối mặc định để tạo bản ghi cơ sở dữ liệu mới.
Thiết kế mặt trước
Đối với giao diện người dùng của một ứng dụng web, chỉ cần thêm ba yếu tố vào trang là đủ.
- Trường văn bản để nhập nội dung của mục nhập mới
- Nút để thêm một mục
- Bảng để hiển thị tất cả các mục.
Đối với nút "ADD Journal Record" , bạn cũng cần tạo một quy trình kinh doanh đơn giản. Khi nhấp vào nút, văn bản từ trường nhập liệu sẽ được gửi đến điểm cuối để tạo bản ghi mới và một nút khác sẽ được nhấp để cập nhật nội dung của bảng dưới dạng hành động cuối cùng.
Đối với bản thân bảng, cũng đáng để thiết lập các quy trình kinh doanh, nhưng trong bài học này, chúng ta sẽ không đi sâu vào vấn đề này. Tất cả các thông tin cần thiết có thể được tìm thấy trong bài học về thiết lập bảng . Điều đáng chú ý duy nhất là khi lấy dữ liệu, bạn cần chỉ định _with tham số để lấy dữ liệu từ các bảng có liên quan (mặc dù trong trường hợp của chúng tôi, bảng có liên quan đến chính nó).
Chúng tôi có thể xuất bản ứng dụng, thêm một vài mục nhập và xác minh rằng mọi thứ đều hoạt động chính xác. Mỗi mục thực sự liên quan đến các mục trong cùng một bảng. Ví dụ: đối với một mục có ID 3, có một liên kết đến mục trước đó (ID 2) và mục tiếp theo (ID 4).