Вы упомянули наиболее часто реализуемый список смежности:
https://blogs.msdn.microsoft.com/mvpawardprogram/2012/06/25/hierarchies-convert-adjacency-list-to-nested-sets
Существуют и другие модели, включая материализованные пути и вложенные множества:
http://communities.bmc.com/communities/docs/DOC-9902
Джо Селко написал книгу на эту тему, которая является хорошим справочным материалом с общей точки зрения SQL (она упоминается в ссылке на статью о вложенном множестве выше).
Кроме того, Ицик Бен-Ганн имеет хороший обзор наиболее распространенных вариантов в своей книге «Внутри Microsoft SQL Server 2005: запросы T-SQL».
Основные моменты, которые следует учитывать при выборе модели:
1) Частота изменения структуры - как часто изменяется фактическая структура дерева. Некоторые модели обеспечивают лучшие характеристики обновления структуры. Однако важно отделить структурные изменения от других изменений данных. Например, вы можете смоделировать организационную структуру компании. Некоторые люди будут моделировать это как список смежности, используя идентификатор сотрудника, чтобы связать сотрудника с его руководителем. Обычно это неоптимальный подход. Подход, который часто работает лучше, состоит в том, чтобы смоделировать структуру организации отдельно от самих сотрудников и сохранить сотрудника в качестве атрибута структуры. Таким образом, когда сотрудник уходит из компании, организационная структура сама по себе не нуждается в изменениях, просто связь с ушедшим сотрудником.
2) Является ли дерево тяжелым при записи или тяжелым при чтении - некоторые структуры работают очень хорошо при чтении структуры, но требуют дополнительных затрат при записи в структуру.
3) Какие типы информации вам нужно получить из структуры - некоторые структуры преуспели в предоставлении определенных видов информации о структуре. Примеры включают в себя поиск узла и всех его дочерних элементов, поиск узла и всех его родителей, определение количества дочерних узлов, удовлетворяющих определенным условиям, и т. Д. Вам необходимо знать, какая информация потребуется из структуры, чтобы определить структуру, которая будет наилучшим образом соответствовать ваши потребности.