Re: Lucid statement of the MV vs RM position?

From: Jon Heggland <jon.heggland_at_idi.ntnu.no>
Date: Thu, 04 May 2006 10:41:24 +0200
Message-ID: <e3ceni$o9j$1_at_orkan.itea.ntnu.no>


dawn wrote:
> Jon Heggland wrote:

>> Whether a type is user-defined or not is
>> supremely irrelevant.

>
> I completely agree. I know I'm coming from a different perspective and
> try my best to do all of the translation so that you don't have to cut
> me slack, but for any you are willing to give me, I thank you.

I don't see what perspective and translation has to do with it. I agree that traditional 1NF and its related concepts are confusing and ill-defined; that's why I reject them. UDTs is a different matter; if you completely agree that they are irrelevant, bringing them up is (at best) writing without thinking.

(Although UDTs can be said to be relevant in an oblique way: If a system allows you to make any type you want, it can hardly prevent you from making a "non-simple" one (whatever that may mean). Thus, the system cannot possible enforce the traditional 1NF anyway. But of course, you can do this with just strings; you don't even need UDTs. I see this as yet another nail in the coffin of traditional 1NF: It's an informal design guideline, not a normal form.)

>> (BTW, what "group" is "repeated" in a list of (say) integers?)

>
> A group with arity = 1?

Ah. Not much of a group then, but fair enough. Needless to say, I don't like that term either. :)

> "normalize" makes people
> think of higher normal forms than that-which-was-known-as-1NF;

The title of Codd's 1972 paper "Further normalization of the database relational model" might have given you a hint that "normalization" doesn't stop at 1NF.

> "nonsimple domains" is no more precise than use of the terms scalar or
> atomic; "repeating groups" seemed worth injecting in hopes of
> clarifying.
>
> So, Jon, I appreciate you discussing this with me without even if my
> perspective and terminology might be different, but it would be most
> helpful if you could give me a term that works for you that relates to
> what Codd termed "normalization" in his 1970 paper.

No such term exists; traditional 1NF does not work for me (but see below). I suggest you try think for yourself about the justifications and ramifications of the various 1NF "definitions", and not just accept dogma. Codd in 1970 wasn't infallible. Relational theory isn't religion. And for Codd's sake, read Date. (That goes for everybody.:) You may disagree with him, but he is a paragon of clear and precise thinking.

To modify my stance on the "normalization" of 1970: I might be able to discuss it in terms of RVAs or no RVAs; treating lists and sets (and perhaps even tuples, but I'll have to be careful about that; cf. my discussion with Marshall some time ago:) as special cases of relations. (Bags too, if I must. But I don't see the point of those.)

> Too many times I
> have been asked to clarify, been called an "idiot" (and yes, that does
> wear on me), or had to have this same conversation, so I clearly need
> to learn the vocabularly that will work for you and others with your
> perspective. Would you possibly consider helping me out on this one?

I don't mean to be too insulting, but I don't think the vocabulary is the problem---it's the understanding of the concepts that is lacking. You stubbornly insist on a 37 year old rather vague definition, and when some of us say that relational theory has moved on, you respond with "then it's not the RM anymore" (iirc). When you discuss with those of us that don't subscribe to the traditional 1NF, yet treat us as if we do, you are effectively arguing against straw men. I have no interest in defending trad1NF, but neither do I reject relational theory.

> What is the "feature" of SQL-92 and before that is/was taught as a key
> component of relational theory in college courses,

I don't think it (trad1NF) is a key component, nor is it being taught as such. It is mentioned in passing, with little explanation or justification. And of course, most courses primarily teach SQL, not relational theory---and SQL's minimal data type support justifies trad1NF and vice versa.

All that said, if you ask when it is reasonable (or "best practise", though there is afaik little practise in the area) to use RVAs in relational modelling, my short answer is "when there is no other choice"---cf. GUNF.

-- 
Jon
Received on Thu May 04 2006 - 10:41:24 CEST

Original text of this message