recursion

The Recursion component is a table that manages the relationships between members of the same Class. The Recursion component belongs in the Enterprise Database.

Recursion resolves the intra-table, many-to-many relationships that exist within a Class. These recursive relationships may be either hierarchical or network. This is done by assigning the second occurrence of the Class table as an Alias in SQL:

Corporate structures and alliances (Organization), family trees (Person), work breakdown structures (Activity), businesses located at a mall (Property), bill of materials (Item) and referenced documents (Document) are all managed by the Recursion table. The description normally takes the passive voice, i. e., Child is a Description of Parent, for example:

    • Mega Corporation Finance is a "Division" of Mega Corporation.
    • Bill Smith is the "Son" of Michael Smith.
    • Data Modeling is a "Step" within the Architectural Phase.
    • The Photovoltaic Array is a "Component" of the Space Station.

This is what if looks like as a model and in SQL:

        SELECT * FROM Person, PersonPerson, Person_1 Where Person.Name = 'Bill Smith'

Person and Person_1 are the same Class (physical table).