Generalization hierarchies

Concepts

Hierarchies describe a supertype and its specialised subtypes.

Categories

Categories state completeness and exclusivity.

Nested hierarchies

A subtype can be the supertype of another hierarchy.

Identity

Identity maps each subtype to a table with the inherited key.

Rolldown

Rolldown maps each leaf subtype to a table.

Rollup

Rollup combines subtype fields in the root table.

Reverse recognition

Shared-primary-key foreign keys can be recognised as identity layouts.

Compare and migration

Transformation changes are compared and rendered as ordered migrations.

Lint

Lint identifies missing discriminators, cycles and incompatible inherited fields.

Text format

Use a hierarchy declaration with category and subtype lines.

JSON

JSON version 6 carries hierarchy declarations and target transformations.

Diagrams

Category nodes connect the supertype to its subtypes.

Browser editing

The browser editor can create, edit, synchronise and delete hierarchies.

Limitations

Multiple inheritance and custom discriminator expressions are not supported.