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.