A | B |
only one table is created independent of the number of subtypes | supertype implementation |
the single table gets a column for all the attributes of the supertype with the original optionality | supertype implementation |
unique identifiers transform into primary and unique keys | supertype implementation |
relationships at the supertype level transform as usual. relationships at the subtype level are implemented as optional foriegn key columns. | supertype implementation |
A check constraint is needed to ensure that for each particular subtype, all columns that come from mandatory attributes are not null | supertype implementation |
one table per first level subtype | subtype implementation |
each table gets a column for all attributes of the supertype with the original optionality | subtype implementation |
the primary UID at the supertype level creates a primary key for each table. Secondary UID's of the supertype become unique keys in each table. | subtype implementation |
all tables get a foriegn key for a relationship at the supertype level, with original optionality | subtype implementation |
as many tables are created as there are subtypes as well as one for the supertype | arc implementation |
each table gets a column for all attributes of the entity it is based on, with the original optionality | arc implementation |
the primary UID of the supertype creates a primary key for each of the tables. All other unique identifiers become unique keys in thier corresponding tables. | arc implementation |
all tables get a foriegn key for a relevant relationship at the entity level, with original optionality | arc implementation |
two additional columns are created in the table based on the supertype. They are foriegn key colums referring to the tables that implement the subtypes. the columns are optional because the foriegn keys are in an arc. Additional check constraintsare neededto implement the arc. | arc implementation |