Здравствуйте, ha_sash, Вы писали:
_>Хочу узнать мнение людей с опытом,
_>на сколько недостатки подобного способа хранения, перевешивают его достоинства
_>
)) (вот сказнул)
_>и вообще хранят ли деревья таким образом?
С точки зрения удобства работы с деревьями, хранящимися как куча элементов с ссылкой на родителя, все зависит от СУБД (ИМХО).
По крайней мере в Oracle можно написать вот такую штуку и она выберет все поддерево вершины с id = Param:
select *
from table_name
start with id = Param
connect by prior id = parent_id
Учите матчасть

.
Транзитивное замыкание вместе с уровнем вложенности хранить тоже можно. В некоторых случаях полезно (например, когда надо быстро узнавать ответ на вопрос "Содержится ли А в поддереве Б") и дает выигрыш по скорости, если правильно построить потом индексы. Проблемы с ним, действительно, такие, что надо очень аккуратно следить за поддержкой этой структуры, например, с помощью триггера на основной таблице.
Короче, хорошо-плохо (приемлимо-неприемлимо) еще очень зависит от конкретной задачи, что потом надо будет делать с данными.