Я планирую использовать рекурсивную таблицу в моей модели данных, чтобы я мог поддерживать неопределенное число детей, которые могут жить под родителем.Мой пример - Оглавление, где я не знаю, насколько глубоко мои подразделы будут находиться под главой.
Проблема, над которой я спотыкаюсь, состоит в том, какие методы люди используют для заполнения там БД после того, как они определили рекурсивную таблицу?Под этим я подразумеваю, если у меня есть список элементов, которые ссылаются на главу -> Раздел -> Подраздел ... когда я загружаю главу, раздел и подраздел в модель, мне нужно идентифицировать самый низкий уровень иерархии и назначитьэто значение для элемента, который я загружаю (внешний ключ - я бы предположил), чтобы я всегда мог получить всю информацию об этом элементе.
Так, например:
Элемент: 2A-GHI: Глава: 2 Раздел: Подраздел: GHI
Если мои данные загружены как
ID|TOCID|TOC_VALUE|PARENT_ID
1|Chapter|2|-1
2|Section|A|1
3|SubSection|GHI|2
Как мне привязать элемент к GHI, чтобы я мог установить FK наРекурсивная таблица для этого элемента?Используете ли вы все три значения в качестве ключа и задаете его в качестве другого столбца в таблице, чтобы при загрузке вы могли идентифицировать самый низкий уровень?
Как и так:
ID|TOCID|TOC_VALUE|PARENT_ID|Key
1|Chapter|2|-1|2
2|Section|A|1|2_A
3|SubSection|GHI|2|2_A_GHI
Я могу загрузить рекурсивную таблицу, и я использую CTE для рекурсии данных, но я не уверен, что лучший способ - загрузить рекурсивные данныеи свяжите эти данные в модель, чтобы мой элемент имел FK к данным оглавления.