Re: abnormal forms
Date: Sun, 16 Apr 2006 21:03:03 GMT
Marshall Spight wrote:
>>Asssuming that sva means an attribute with any type not a relation, an >>rva and an sva have different types. One is a relation and the other >>isn't. Thus one can never express an rva as an sva, and cardinality is >>meaningless for a generic sva.
> Please allow me to propose a subtle adjustment to the above sentence.
> Rather than say cardinality is "meaningless" for a generic sva, I would
> say rather that it is a compile-time constant of value 1. While the
> two are mostly synonymous, the second opens up the possibility
> for generic code parameterized on cardinality to work on svas.
I see no reason to pretend that a property of a relation type is a property of any type defined to be 'not a relation type'. As illustration, square root is a property of a complex number. I see no reason to pretend that character strings have square roots defined by some compile-time constant, which is the direct analog of your suggestion.
From the perspective of a relation containing either an rva or an sva, either is a single value. Cardinality of the rva is simply a numeric function defined on the type. Since we defined an sva as any type that is not a relation type, and since the cardinality is the count of the number of tuples in a relation value, the count of the number of tuples of an sva is meaningless.
That's not to say no sva exists that has a Cardinality operator defined as something other than the count of tuples in a relation value. In fact, any type defined as a set has a cardinality operator very similar to a relation type. Received on Sun Apr 16 2006 - 23:03:03 CEST