On degenerate TTM relation values, and their schemas
Quote from AntC on August 29, 2019, 7:40 amRM Pro 5 "relations with no attributes are respectable and interesting" along with RM Pre 9 "A heading H is a set ..." and RM Pre 10 b. "The body of [relation value} r shall be a set ..." makes clear that
DUM
andDEE
are valid relation values; so there could be a valid database schema consisting wholly of relvars whose headings are empty. (The Shop and Alarm database.)If the database contains relvars with non-empty headings, each attribute must have a type [RM Pre 9 again]. For scalar attribute types, RM Pre 1 says "any given scalar type T shall be accompanied by a specification of an example value of that type."
- So every scalar type must include at least one value? Must it have more than one value?
- RM Pre 9 also mentions "the system defined empty type omega ...". Is omega allowed as an attribute type in a relvar definition? Do I need to read the inheritance model?
If
DUM
andDEE
are "respectable" values for base relvars; how about base relvars with an attribute type allowing only one value? How about base relvars with an attribute type that's omega (if allowed)?
- If omega's allowed as an attribute type, any relvar with that type for one of its attributes could only have one possible value (empty). Then the whole relvar is redundant.
- If a singleton scalar type is allowed as an attribute type, that attribute would appear to be redundant: for any relvar with a non-empty content, that attribute must be that value. (The power of RM Pro 4 banning
NULL
.) Whatever information that attribute conveys could be equally conveyed by the relvar's value being empty or not.Then could I say without loss of generality that there's only one relation schema for which there are as few as two valid instances, namely the empty heading with instances
DUM, DEE
? For any other relation schema, there must be at least three valid instances.Presumably it's valid to have a database schema consisting wholly of relvars whose attribute types are RVAs with no attributes(?) -- i.e. exactly two values in the type. This seems much richer than single-value or zero-value types.
RM Pro 5 "relations with no attributes are respectable and interesting" along with RM Pre 9 "A heading H is a set ..." and RM Pre 10 b. "The body of [relation value} r shall be a set ..." makes clear that DUM
and DEE
are valid relation values; so there could be a valid database schema consisting wholly of relvars whose headings are empty. (The Shop and Alarm database.)
If the database contains relvars with non-empty headings, each attribute must have a type [RM Pre 9 again]. For scalar attribute types, RM Pre 1 says "any given scalar type T shall be accompanied by a specification of an example value of that type."
- So every scalar type must include at least one value? Must it have more than one value?
- RM Pre 9 also mentions "the system defined empty type omega ...". Is omega allowed as an attribute type in a relvar definition? Do I need to read the inheritance model?
If DUM
and DEE
are "respectable" values for base relvars; how about base relvars with an attribute type allowing only one value? How about base relvars with an attribute type that's omega (if allowed)?
- If omega's allowed as an attribute type, any relvar with that type for one of its attributes could only have one possible value (empty). Then the whole relvar is redundant.
- If a singleton scalar type is allowed as an attribute type, that attribute would appear to be redundant: for any relvar with a non-empty content, that attribute must be that value. (The power of RM Pro 4 banning
NULL
.) Whatever information that attribute conveys could be equally conveyed by the relvar's value being empty or not.
Then could I say without loss of generality that there's only one relation schema for which there are as few as two valid instances, namely the empty heading with instances DUM, DEE
? For any other relation schema, there must be at least three valid instances.
Presumably it's valid to have a database schema consisting wholly of relvars whose attribute types are RVAs with no attributes(?) -- i.e. exactly two values in the type. This seems much richer than single-value or zero-value types.