> Strictly speaking, you're (again ;)) right of course.
There must be something about me being (again) right around here. You
guys talk behind my back? ;-)
> But i can imagine situations where you're iterating over cities
> records and want to do something "capitals specific", for instance,
> show the state, when a record is a capital. Maybe this is the user's
> problem: he could just request the full capitals record using the
> specific record's primary key when needed. But there still needs to be
> a way to find out which cities records are capitalsrecords..
I agree that might be nice. But how can you do that with plain
Postgres, e.g. from pgAdmin III ? Can you somehow select "both" cities
and capitals? As Sander stated, the implementation in Postgres is
probably not done by an implicit join, even if that seems to be the
simplest canonical implementation of inheritance. So when selecting
"both" cities and capitals, with a normalised schema, I'd just outer
join the capitals to the cities, and the resulting "type" would
contain both, including the state column, where applicable.
Another interesting point is this one:
"A table can inherit from more than one parent table, in which
case it has the union of the columns defined by the parent tables."
This simple statement will prevent any type of inheritance-mapping
between SQL and Java, as Java does not support multiple inheritance.
In this case, I'm pretty glad it doesn't, as the power of multiple
inheritance is only exceeded by its mystery, as my coworkers say ;-)