Wspominasz o najczęściej wdrażanym, jakim jest Lista sąsiedztwa:
https://blogs.msdn.microsoft.com/mvpawardprogram/2012/06/25/hierarchies-convert-adjacency-list-to-nested-sets
Istnieją również inne modele, w tym zmaterializowana ścieżka i zestawy zagnieżdżone:
http://communities.bmc.com/communities/docs/DOC-9902
Joe Celko napisał książkę na ten temat, która jest dobrym punktem odniesienia z ogólnej perspektywy SQL (wspomina o tym link do zagnieżdżonego artykułu powyżej).
Ponadto Itzik Ben-Gann w swojej książce „Inside Microsoft SQL Server 2005: T-SQL Querying” ma dobry przegląd najczęściej używanych opcji.
Najważniejsze kwestie do rozważenia przy wyborze modelu to:
1) Częstotliwość zmian struktury - jak często zmienia się faktyczna struktura drzewa. Niektóre modele zapewniają lepszą charakterystykę aktualizacji struktury. Ważne jest jednak, aby oddzielić zmiany struktury od innych zmian danych. Na przykład możesz chcieć modelować schemat organizacyjny firmy. Niektóre osoby modelują to jako listę kontaktów, używając identyfikatora pracownika do powiązania pracownika z jego przełożonym. Jest to zwykle podejście nieoptymalne. Podejściem, które często działa lepiej, jest modelowanie struktury organizacyjnej oddzielonej od samych pracowników i utrzymywanie pracownika jako atrybutu struktury. W ten sposób, kiedy pracownik odchodzi z firmy, sama struktura organizacyjna nie musi się zmieniać, a jedynie skojarzenie z pracownikiem, który odszedł.
2) Czy drzewo jest ciężkie do zapisu, czy do odczytu - niektóre struktury działają bardzo dobrze podczas odczytywania struktury, ale powodują dodatkowe obciążenie podczas zapisywania do struktury.
3) Jakie rodzaje informacji musisz uzyskać ze struktury - niektóre struktury są doskonałe w dostarczaniu pewnego rodzaju informacji o strukturze. Przykłady obejmują znalezienie węzła i wszystkich jego elementów podrzędnych, znalezienie węzła i wszystkich jego rodziców, znalezienie liczby węzłów podrzędnych spełniających określone warunki itp. Musisz wiedzieć, jakie informacje będą potrzebne ze struktury, aby określić strukturę, która najlepiej pasuje Twoje potrzeby.