Mối quan hệ tự tham chiếu, còn được gọi là mối quan hệ đệ quy hoặc mối quan hệ tự tham gia, xảy ra trong bối cảnh cơ sở dữ liệu quan hệ khi một bảng chứa khóa ngoại tham chiếu trở lại khóa chính của cùng một bảng. Loại mối quan hệ này phổ biến trong nhiều tình huống thực tế khác nhau, chẳng hạn như cấu trúc dữ liệu phân cấp, sơ đồ tổ chức và các mối phụ thuộc cha-con, trong đó một thực thể có liên quan đến chính nó, trực tiếp hoặc gián tiếp. Việc thực hiện mối quan hệ tự tham chiếu đòi hỏi sự hiểu biết sâu sắc về các nguyên tắc thiết kế cơ sở dữ liệu quan hệ và sử dụng hiệu quả các ràng buộc cũng như quy tắc toàn vẹn tham chiếu.
Ví dụ: hãy xem xét bảng Nhân viên trong cơ sở dữ liệu của công ty lưu trữ thông tin về từng nhân viên, bộ phận, chức danh công việc của họ và các dữ liệu liên quan khác. Một trong những khía cạnh quan trọng của hệ thống phân cấp tổ chức là mối quan hệ giữa người quản lý và cấp dưới. Thay vì tạo một bảng riêng cho người quản lý, mối quan hệ tự tham chiếu có thể được thiết lập trong bảng Nhân viên bằng cách thêm cột khóa ngoài Manager_ID tham chiếu trở lại cột khóa chính của Nhân viên_ID. Trong trường hợp này, nhân viên là người quản lý có ID nhân viên của riêng họ là Manager_ID và nhân viên báo cáo với người quản lý có Nhân viên_ID của người quản lý tương ứng là Manager_ID của họ.
Tạo mối quan hệ tự tham chiếu trong hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) như PostgreSQL bao gồm việc xác định các cột khóa chính và khóa ngoài trong lược đồ bảng và đặt các ràng buộc và quy tắc thích hợp để duy trì tính toàn vẹn tham chiếu. Trong ví dụ về bảng Nhân viên, các câu lệnh SQL sau có thể được sử dụng để tạo lược đồ bảng và thiết lập mối quan hệ tự tham chiếu:
TẠO BẢNG Nhân viên ( Nhân viên_ID INT KHÓA CHÍNH, First_NameVARCHAR(50), Họ_Tên VARCHAR(50), Sở VARCHAR(50), Người quản lý_ID INT, Ràng buộc fk_Manager KHÓA NGOÀI (Manager_ID) TÀI LIỆU THAM KHẢO Nhân viên (Employee_ID) );
Hiểu được tầm quan trọng của việc duy trì tính toàn vẹn tham chiếu là rất quan trọng khi làm việc với các mối quan hệ tự tham chiếu. Điều này liên quan đến việc thiết lập các quy tắc CASCADE, SET NULL hoặc SET DEFAULT thích hợp cho các mệnh đề ON DELETE và ON UPDATE. Các quy tắc này chỉ định các hành động được thực hiện khi giá trị khóa chính được cập nhật hoặc xóa.
Ví dụ: hãy xem xét trường hợp trong đó Nhân viên_ID của người quản lý thay đổi hoặc người quản lý bị xóa khỏi bảng Nhân viên. Để duy trì tính toàn vẹn tham chiếu, các quy tắc SET NULL hoặc SET DEFAULT có thể được sử dụng cho mệnh đề ON DELETE, đồng thời đảm bảo rằng các giá trị Manager_ID mới được đặt phù hợp cho cấp dưới bị ảnh hưởng. Tương tự, quy tắc CASCADE có thể được sử dụng cho mệnh đề ON UPDATE để tự động cập nhật giá trị Manager_ID cho tất cả cấp dưới có liên quan khi Staff_ID của người quản lý thay đổi.
Trong AppMaster, nền tảng no-code mạnh mẽ, người dùng có thể tạo trực quan các mối quan hệ tự tham chiếu trong mô hình dữ liệu của mình khi thiết kế các ứng dụng phụ trợ. Nền tảng này cho phép người dùng xác định các cột khóa chính và khóa ngoại, chỉ định các ràng buộc và quy tắc toàn vẹn tham chiếu cũng như quản lý trực quan lược đồ cơ sở dữ liệu. Giao diện trực quan của AppMaster giúp người dùng dễ dàng tạo và quản lý các mối quan hệ đệ quy phức tạp trong ứng dụng của họ, cho dù đó là hệ thống phân cấp tổ chức, hệ thống phân loại sản phẩm nhiều cấp hay bất kỳ tình huống nào khác liên quan đến mối quan hệ tự tham chiếu.
Bằng cách tích hợp các mối quan hệ tự tham chiếu trong các ứng dụng phụ trợ dựa trên Go được tạo, AppMaster đảm bảo khả năng mở rộng và hiệu suất trong việc giải quyết các trường hợp sử dụng doanh nghiệp và tải trọng cao. Hơn nữa, nền tảng này có thể tái tạo liền mạch các ứng dụng từ đầu khi yêu cầu thay đổi, loại bỏ nợ kỹ thuật và hợp lý hóa quy trình phát triển.
Là một môi trường phát triển tích hợp (IDE) toàn diện, AppMaster cho phép người dùng thiết kế, xây dựng và triển khai các ứng dụng web, di động và phụ trợ mạnh mẽ và có thể mở rộng, kết hợp các cấu trúc và mối quan hệ dữ liệu phức tạp như các mối quan hệ tự tham chiếu. Bằng cách tận dụng các khả năng mở rộng của AppMaster, người dùng có thể nhanh chóng phát triển và triển khai các ứng dụng phục vụ nhu cầu kinh doanh đa dạng, giúp quy trình nhanh hơn gấp 10 lần và tiết kiệm chi phí gấp 3 lần.