No matter how deep or how many tables in cluster, you can use two methods to get there:
Option 1: (1) Create a standard table for each layer, in-dependant of each other; create a relationship table to contain their relationship, such as who owns whom (or who belongs to whom).
Option 2: Create cluster tables - this can be two types: (1) using index: for example, the first table contains header number (key) and descriptions, the second table contains header number (key) and item number (key) and other non-key info. Now the relationship between header and item is established. (2) using pointer: for example, the first table contains header number (key), item table id, and descriptions. Note: item table id is not a real table but a pointer here, it points to the item table.
No matter what db tables, not much different.