Sampo Syreeni wrote:
> On 2006-10-05, Hugo Kornelis wrote:
>
>> In that case, you should model it as such - in a relational table, you
>> add a column "CanLayEggs" with a domain consisting of the values Yes
>> and No.
>
>
> After that you have a form of redundancy in the table, because only
> knowing CanLayEggs=No allows you to fully determine eggs_laid. From the
> point of view of information content, fields that are fully determined
> are not informative and they shouldn't be included. Or, from another
> point of view, you've essentially made eggs_laid optional, i.e. a
> repeating group which occurs from zero to one times. Even if that
> doesn't formally make the table non-1NF, in spirit you still have
> polymorphic records which is almost as bad.
>
> Also, how do you then enforce the constraint that camels always have
> CanLayEggs=No?
With a well-formed formula. Duh.
>> Don't try to make NULL mean "there may not be a value here" - it
>> doesn't mean that. The *only* meaning NULL has is "value is missing".
>
> That depends on whom you ask, how many different kinds of nulls you
> think there really are, and whether you're happy with using a "value
> missing" null in a union view where the base relations couldn't have a
> value for a given field.
The idea that a single indicator can handle every case is just plain
stupid, which is what ultimately undermines your whole position.
Received on Sat Oct 07 2006 - 07:22:44 CDT