Tôi đã sử dụng chúng để làm cho việc làm việc với cây (chẳng hạn như các chủ đề bình luận) dễ dàng hơn. Bạn có thể lưu trữ đường dẫn từ gốc của cây đến một nút duy nhất trong một mảng, mỗi số trong mảng là số nhánh của nút đó. Sau đó, bạn có thể làm những việc như sau:
SELECT id, content
FROM nodes
WHERE tree = X
ORDER BY path -- The array is here.
PostgreSQL sẽ so sánh các mảng theo từng phần tử theo kiểu tự nhiên nên ORDER BY path
sẽ đổ cây theo một thứ tự hiển thị tuyến tính hợp lý; sau đó, bạn kiểm tra độ dài của path
để tìm ra độ sâu của nút và điều đó cung cấp cho bạn thụt lề để hiển thị đúng.
Cách tiếp cận trên đưa bạn từ cơ sở dữ liệu đến trang được kết xuất với một lần chuyển dữ liệu.
PostgreSQL cũng có kiểu hình học , đơn giản các loại khóa / giá trị và hỗ trợ xây dựng nhiều loại kết hợp khác nhau khác nhau .
Thông thường, tốt hơn là sử dụng các bảng kết hợp truyền thống nhưng không có gì sai khi có nhiều công cụ hơn trong hộp công cụ của bạn.