Quassnoi nói:
Bạn nên sử dụng một trong hai bộ lồng nhau hoặc mô hình cha-con.
Tôi đã từng triển khai cả hai. Những gì tôi có thể nói là:
Sử dụng kiến trúc bộ lồng nhau nếu bảng danh mục của bạn không thay đổi thường xuyên, bởi vì trên mệnh đề chọn nhanh và chỉ có một yêu cầu bạn có thể nhận được toàn bộ nhánh của hệ thống phân cấp cho một mục nhất định . Nhưng trên mệnh đề chèn hoặc cập nhật, phải mất nhiều thời gian hơn mô hình con cha mẹ để cập nhật các trường bên trái và phải (hoặc thấp hơn và phía trên trong ví dụ bên dưới).
Một điểm khác, khá tầm thường tôi phải thừa nhận, nhưng:
Rất khó để thay đổi thứ bậc bằng tay trực tiếp trong cơ sở dữ liệu (Có thể xảy ra trong quá trình phát triển). Vì vậy, hãy chắc chắn để thực hiện đầu tiên một giao diện để chơi với các bộ lồng nhau (thay đổi nút cha, di chuyển một nút chi nhánh, xóa một nút hoặc toàn bộ chi nhánh, vv)
Dưới đây là hai bài viết về đề tài này:
điều cuối cùng, tôi đã không thử nó, nhưng tôi đọc ở đâu đó rằng bạn có thể hav e nhiều hơn một cây trong một bảng tập hợp lồng nhau, tôi có nghĩa là một số rễ.
Nguồn
2009-05-29 14:48:10
trùng lặp? http://stackoverflow.com/questions/317322/optimized-sql-for-tree-structures –
https://stackoverflow.com/questions/17081951/my-sql-multiple-category-subcategory-subcategory – Calvin