Re: Proposal: 6NF

From: Sampo Syreeni <decoy_at_iki.fi>
Date: Sat, 7 Oct 2006 16:11:17 +0300
Message-ID: <Pine.SOL.4.62.0610071540480.20588_at_kruuna.helsinki.fi>


On 2006-10-07, Bob Badour wrote:

>> Also, how do you then enforce the constraint that camels always have
>> CanLayEggs=No?
>
> With a well-formed formula. Duh.

After that it makes more sense to drop the CanLayEggs attribute and enforce the constraint directly on eggs_laid. My point about the record type becoming de facto polymorphic and so more or less as bad as a non-1NF one still stands.

Furthermore, earlier you referred to updatable views as something that would solve my problem. Could you expand a little bit on that? I mean, view updates are still an open problem in the general case, but the view I was suggesting seems to solve my problem and is also unconditionally updatable because you can always determine the (null-free) base table(s) the update is supposed to be done against from the position of the nulls. In effect the nulls are working as tuple marks, and the horizontal decomposition I've done reduces the base tables precisely far enough to remove the polymorphism that is encoded by the nulls in the view.

> The idea that a single indicator can handle every case is just plain
> stupid, which is what ultimately undermines your whole position.

I never said I was talking about the SQL definition of NULL, or that a single type of null would be enough to handle every possible case of missing information. It's just that in most cases all nulls behave the same, so that it makes sense to talk about them collectively: they don't for example compare as equal in a join.

Also, you should by now be able to see that I'm not especially comfortable with the mess that that sort of reasoning gets one into: I've gone to rather extreme lengths to get rid of nulls in the base relations and only applied them in views in a manner which preserves updatability and can be interpreted as a tuple mark on top of a single type of nulls.

-- 
Sampo Syreeni, aka decoy - mailto:decoy_at_iki.fi, tel:+358-50-5756111
student/math+cs/helsinki university, http://www.iki.fi/~decoy/front
openpgp: 050985C2/025E D175 ABE5 027C 9494 EEB0 E090 8BA9 0509 85C2
Received on Sat Oct 07 2006 - 15:11:17 CEST

Original text of this message