Сделайте постоянную копию дерева (C ++)

Я думаю об использовании этой STL-подобной древовидной библиотеки для C ++ http://tree.phi-sci.com/ хранить иерархические данные (думаю, организационная структура).

В моем случае дерево содержит только структуру, «полезная нагрузка» каждого узла хранится в другом месте. Так что это, вероятно, в конечном итоге tree<int> или tree<simple_class_containing_a_couple_of_ints>

Я хотел бы найти лучший способ сохранить дерево. Чтобы быть более конкретным, я хотел бы найти лучший способ сохранить дерево в базе данных SQL, чтобы при загрузке его можно было загрузить обратно в приложение.

Итак, мой вопрос: как я могу сохранить дерево, содержащееся в контейнере tree.hh, в базе данных SQL?

Примечание. Нет необходимости хранить его в виде древовидной структуры в базе данных (то есть нет необходимости во вложенном множестве, списке смежности). Нет необходимости запрашивать базу данных, так как все дерево будет загружено в память.

ОБНОВИТЬ:

Я нашел этот класс в качестве альтернативы tree.hh здесь: http://stlplus.sourceforge.net/stlplus3/docs/ntree.html
Я пока не могу комментировать какие-либо различия в производительности, но он в основном реализует то, что мне нужно, и имеет класс постоянства (извините, нет ссылки, так как недостаточно репутации), который я могу выгрузить в BLOB. Я еще не ввел это как ответ, потому что я все еще заинтересован в любых альтернативных решениях.

-1

Решение

Я бы сохранил каждый узел в одной таблице SQL (по одной строке на узел) и, возможно, каждый узел -> родственное отношение в другой таблице.
Я не уверен, что SQL — лучший способ сохраниться. Вы можете рассмотреть возможность использования JSON.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]