Structured type hierarchies
This section provides information about the structured type hierarchies.
It is certainly possible to model objects such as people using
traditional relational tables and columns. However, structured types
offer an additional property of inheritance. That is,
a structured type can have subtypes that reuse all of
its attributes and contain additional attributes specific to the subtype.
The original type is the supertype. For example, the
structured type Person_t might contain attributes
for Name, Age, and Address.
A subtype of Person_t might be Employee_t that
contains all of the attributes Name, Age,
and Address and, in addition, contains attributes
for SerialNum, Salary, and BusinessUnit.

A set of subtypes based (at some level) on the same supertype is
known as a type hierarchy. For example, a data model might need to
represent a special type of employee called a manager. Managers have
more attributes than employees who are not managers. The Manager_t type
inherits the attributes defined for an employee, but also is defined
with some additional attributes of its own, such as a special bonus
attribute that is only available to managers.

In Figure 2, the person type Person_t is
the root type of the hierarchy. Person_t is
also the supertype of the types below it--in this case, the type named Employee_t and
the type named Student_t. The relationships among
subtypes and supertypes are transitive; this means that the relationship
between subtype and supertype exists throughout the entire type hierarchy.
So, Person_t is also a supertype of types Manager_t and Architect_t.
The department type, BusinessUnit_t is considered
a trivial type hierarchy. It is the root of a hierarchy with no subtypes.