2008-08-26 36 views
5

Cho đến nay tôi đã gặp phải danh sách kề, các tập lồng nhau và các khoảng lồng nhau như các mô hình để lưu trữ cấu trúc cây trong cơ sở dữ liệu. Tôi biết những điều này đủ tốt và đã di chuyển cây từ người này sang người khác.Mô hình lưu trữ cấu trúc cây là gì và đặc điểm của chúng là gì?

Mô hình phổ biến khác là gì? Đặc điểm của chúng là gì? Tài nguyên tốt (sách, web, v.v.) về chủ đề này là gì?

Tôi không chỉ tìm kiếm bộ nhớ db mà còn muốn mở rộng kiến ​​thức của mình trên cây nói chung. Ví dụ: tôi hiểu rằng các tập hợp/khoảng lồng nhau đặc biệt thuận lợi cho việc lưu trữ cơ sở dữ liệu quan hệ và đã tự hỏi mình, chúng thực sự là một sự lựa chọn xấu trong các ngữ cảnh khác?

Trả lời

1

Nguồn tài nguyên chính cho điều này là các chương 28-30 của SQL for Smarties.

(Tôi đã đề nghị cuốn sách này rất nhiều Tôi tìm Celko nợ tôi tiền bản quyền bởi bây giờ!)

2

Biến thể là nơi bạn sử dụng biểu diễn phân cấp trực tiếp (nghĩa là liên kết gốc trong nút), nhưng cũng lưu trữ giá trị đường dẫn.

tức là. cho một cây thư mục bao gồm các nội dung sau:

C:\ 
    Temp 
    Windows 
     System32 

Bạn sẽ có các nút sau

Key  Name  Parent  Path 
1  C:     *1* 
2  Temp  1  *1*2* 
3  Windows 1  *1*3* 
4  System32 3  *1*3*4* 

Đường dẫn được lập chỉ mục, và sẽ cho phép bạn nhanh chóng thực hiện một truy vấn mà nhặt một nút và tất cả của nó trẻ em, mà không cần phải thao tác phạm vi.

tức là. để tìm C: \ Temp và tất cả các con của nó:

WHERE Path LIKE '*1*2*%' 

đại diện này là nơi duy nhất tôi có thể nghĩ về nơi lưu trữ id của trong một chuỗi như thế này là ok.

+0

Đó sẽ là sự kết hợp giữa Danh sách Adjacency và Đường dẫn vật hoá, đúng không? Kịch bản nào sẽ được sử dụng? Dường như với tôi rằng việc nhận tất cả trẻ em với một truy vấn sẽ được phục vụ tốt hơn với Nested Sets/Khoảng thời gian và tôi không thấy những gì bạn muốn lưu trữ danh sách kề cũng như là tốt? –

0

@lassevk: This article cuộc đàm phán về cách tiếp cận của bạn một cách chi tiết hơn và cung cấp đoạn mã.

Hy vọng điều này sẽ hữu ích.

Các vấn đề liên quan