Relationship between type and table hierarchies

Every table in a table hierarchy must be assigned to a named row type in a corresponding type hierarchy. The following figure shows an example of the relationships that can exist between a type hierarchy and table hierarchy.
Figure 1: Example of the relationship between type hierarchy and table hierarchy

Two hierarchies of three items each are shown side-by-side. One is the type hierarchy and the other is the table hierarchy. In the hierarchies parents are on top of children. The type hierarchy is, from top to bottom: "person_t", "employee_t", and "sales_rep_t". The table hierarchy is, from top to bottom: "person", "employee", and "sales_rep". There are two directional arrows matching each item in the type hierarchy to exactly one item in the table hierarchy. "person_t" is matched with "person". "employee_t" is matched with "employee". "sales_rep_t" is matched to "sales_rep".

However, you can also define a type hierarchy in which the named row types do not necessarily have a one-to-one correspondence with the tables in a table hierarchy. The following figure shows how you might create a type hierarchy for which only some of the named row types have been assigned to tables.
Figure 2: Example of an inheritance hierarchy in which only some types have been assigned to tables

Two hierarchies are shown side-by-side. One is the type hierarchy and has 4 items in it. The other is the table hierarchy and has two items in it. In the hierarchies parents are on top of children. The type hierarchy is, from top to bottom: "person_t", "customer_t", "retail_customer_t", and "whlsale_customer_t". The table hierarchy is, from top to bottom: "retail_customer", and "whlsale_customer". There are two directional arrows matching the bottom two items in the type hierarchy to exactly one item in the table hierarchy. "retail_customer_t" is matched with "retail_customer". "whlsale_customer_t" is matched with "whlsale_customer". Neither "person_t" nor "customer_t" are matched with anything.