Presenting a real hierarchical data that is fully nested recursively present many challenges.
The database design with self referencing table is easy, but then:
- querying the table with recursive query
- display a recursive data? It can’t be done with simple repeater because it is all nested so you need a tree like component
- the the maintaining of the data - you shouldn’t have deadlocks in the self references otherwise your query’s will go forever
- what happens if you delete a branch does all children go with it?
These are just a few of the challenges you will encounter when working with fully recursive hierarchical data.
And the worst is that your users actually don’t understand the complex structure and will often make mistakes of maintaining it - kike crating deadloops per mistake.
So saying all this and saving you a lot of trouble it is better to keep hierarchies up to 2-3 levels max and make them usable.