Great. Now that you got the basics, we will learn some real-world examples.
Let's say we have a company with a hierarchical structure, i.e. each employee has a superior (except for the boss). An employee has precisely one superior, but one superior may have multiple inferiors. An example structure may look as follows:
In computer science, we call such a structure a tree, where each node (employee) has a parent node (superior), except for the root (boss), which has no parent node.
How can we store these hierarchical relations in a database? It's quite simple: each employee is represented with a row that has a column
superior_id with the ID of their superior.
Take a look at our table.