R1125 - modelint/shlaer-mellor-metamodel GitHub Wiki

R1125 / Generalization

Type is a Scalar, Class, or Table


We take the relational theory approach of distinguishing between relational and non-relational types. Non-relational types are Scalars. The internal definition of such types are opaque to the relational model as well as our metamodel.

The structure of a non-Scalar is visible since such a type is nothing more than an empty table definition. The supported operations are the relational operations. For the purposes of our metamodel, we make a further distinction between Class and Table types. See the relevant subclass class descriptions for more details.