Table-per-type (TPT) is a mapping strategy used in the object-relational mapping (ORM) to represent inheritance in a relational database.
In TPT, each subtype of an inheritance hierarchy is represented as its table in the database, and the base type is represented as a separate table.
A separate table is used to represent each type in the inheritance chain, including abstract types.
Tables that represent derived types like Cars and Motorcycles are related to their base type via foreign keys.