Another option for storing tree structures is the closure table [1]. It acts as a sort of "many-to-many" junction table between the tree nodes, storing the relationships between each.
[1] https://coderwall.com/p/lixing/closure-tables-for-browsing-t...