Frequency of structure change; Write- heavy and read- heavy tree; and obtained information form the database structure; These 3 things need to consider on better database structure. It is important to SEPARATE STRUCTURE CHANGES from other DATA CHANGES however.
Let's say it for a company's organisational chart. It may be done as an adjacency list, using the employee ID to link an employee to their supervisor. This is usually a sub-optimal approach. An approach that often works better is to model the org structure separate from employees themselves, and maintain the employee as an attribute of the structure. This way, when an employee leaves the company, the organisational structure itself does not need to be changes, just the association with the employee that left.
Also it may be, some structures work very well when reading the structure, but incur additional overhead when writing to the structure.
some structures excel at providing certain kinds of information about the structure. Examples include finding a node and all its children, finding a node and all its parents, finding the count of child nodes meeting certain conditions, etc.
Just checked the database graphs which you have shared. Basically it is 3- tier architecture With Main data type. folder name, object name and value and reference name and value be stored. user can add folder or object or reference as well. Please ping me.