Whether you build your own forum, threaded comments, or categorization system, there will be a moment when you need to save hierarchical structures in the database. Although the tables of relational databases (such as MySQL and PostgreSQL) are of a flat manner, there is a fast and effective way to store hierarchical structures. It is called Modified Preorder Tree Traversal (MPTT). MPTT allows you to read the tree structures without recursive calls to the database.
At first, let's get familiar with the terminology of the tree structures. A tree data structure is a nested collection of nodes, starting at the root node and having references to child nodes. There is a restriction that no node references back to create a loop and no reference is duplicated. The following are some other terms to learn:
- Parent is any node that has references to child nodes.
- Descendants...