Subject RE: [IB-Architect] Table Inheritance
Author Mark Shapiro
>wrong thing. Java dump it in favor of single inheritance
>plus implementation of interfaces (polymorphism without
>representation). What is the minimal feature set we can live

Isn't that against the Constitution of the US?

My take on trigger templates and table inheritance:

>Question 1: Does table inheritance simply mean attribute (fields,
>triggers, primary keys, indexes) inheritance, or does it mean a
>a unified semantic model? We could, of course, have both, but
>for the sake of elegance, lets assume one or the other.

I would say attribute inheritance be a higher priority than a unified
semantic model. If both are implemented, the create table syntax should
allow for explicit syntax for selecting either model, in addition to the
"extends" or similar syntax. The default option should be attribute
inheritance.


>Question 2: Are primary key inherited? Choices: a) yes, b) no,
>c) declared primary key of extension table appended to primary
>key of base table (problem is that uniqueness of base table is
>problematic).

Primary keys are inherited, but may be overridden by either replacing the
key, removing the key, or appending to the key (possibly with the base key
being optionally before or after the key in the new table).

Removing the key could possibly be done in the Create Table syntax, or by
dropping the key after the table is created. This would of course not work
if the table were created with the unified semantic model, but would work if
attributes were inherited.


> Question 3: Is multiple inheritence necessary? Most language

No. Make interface tables, instead. :-]

--
Mark Shapiro
Software Engineer
Segue Technologies, Inc.
http://www.seguetech.com/