Defines the basic properties of every data value. This is an abstract type, meaning that no value can be just a data value without belonging to any concrete type. Every concrete type is a specialization of this general abstract DataValue type.
If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.