а зачем эти кастыли? Если у тебя графы то лучше графовую базу брать. А если деревья с уровнем вложенности пара десятков - просто adjacency list + ну если ооооочень надо оптимизировать какие-то выборки materialized path.
можно еще много чего придумывать, например хранить всех предков в jsonb. если нужно оч быстро находить всех детей такого предка. Но это от СУБД зависит