In this case, an instance of capitals inherits all attributes (name, population, and
altitude) from its parent, cities. The type of the attribute name
is text, a native Postgres type for variable length ASCII
strings. The type of the attribute population is float, a native Postgres type for double precision floating
point numbers. State capitals have an extra attribute, state, that
shows their state. In Postgres, a
class can inherit from zero or more other classes, and a query can
reference either all instances of a class or all instances of a
class plus all of its descendants.

Note: The inheritance hierarchy is a actually a
directed acyclic graph.

For example, the following query finds all the cities
that are situated at an attitude of 500ft or higher:

Here the "*" after cities indicates that the query should be
run over cities and all classes below cities in the inheritance
hierarchy. Many of the commands that we have already discussed --
SELECT, UPDATE and
DELETE -- support this "*" notation, as do
others, like ALTER TABLE.