"In fact, consider data describing a real apple tree. Putting all the structural data of a tree into a relational database is like cutting the tree into a million pieces, with every part severed from every other part. Each leaf is cut off and given an ID number, with a set of attributes of that leaf, like size, number of lobes, etc. Similarly, all apples, twigs and branches are cut off. Then a set of tables is included to show which leaves went on which twigs, with other tables showing which twigs go on which branches, etc. With the resultant set of many tables it becomes quite a task to reassemble the tree. The good news is that if you want to build a hut from this tree, you can write the computer code to reassemble all the pieces to build a hut, or a anything else, perhaps with the leaves all stuck directly to the trunk, and the apples forming a heart on the door, which is made of branches. But if all you want is to reassemble it back into a tree, and in fact, if you never really wanted to cut up anything but only wanted to understand the tree better, then it might have been better not to cut it all up to start with! "