Re: Lucid statement of the MV vs RM position?

From: dawn <dawnwolthuis_at_gmail.com>
Date: 4 May 2006 06:43:04 -0700
Message-ID: <1146750184.681278.318010_at_g10g2000cwb.googlegroups.com>


Jon Heggland wrote:
> 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.

Whether a type is user-defined is irrelevant, but the fact that there are now UDT's means that there can be list-valued attributes, for example. Please re-read and see that my reasoning was good and terminology precise (in this case) even if not complete.

> (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).

Yes, that is precisely what I meant by this.

> 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.

But that would be considered an incorrect logical data model. Yes, there are plenty of examples of non-1NF structures in tag-delimited attributes within SQL-DBMS's.

> 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,

My daughter told me she tells people that one example of her mom's personality is that she has a company named Tincat Group and she is the only employee in it.

> 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.

I think Date has often made it clear that "normalize" and 1NF were synonyms when trying to be precise, but OK. When a term is redefined frequently enough it is hard to know what anyone means by it.

> > "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.

I'm sure he would have agreed with that too.

> Relational theory isn't religion.

Seems to be.

> And for Codd's sake, read Date.

I have, I do. I read almost all of 8e, feeling I should after paying for it.

> (That goes for everybody.:) You may
> disagree with him, but he is a paragon of clear and precise thinking.

I read him because it is easy to see when he is being precise and mathematical and when he is spouting religion (I'm not trying to give religion a bad name, mind you, just i this context).

> 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.)

E.g. Other than obvious ones like rolls of a dice where you don't care whether something is the 5th roll or the 10th, perhaps a history of toggles, such as Active, Inactive, Active, Pending, Inactive. Granted these are typically date stamped.

> > 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,

I want to be precise. Given that in 2006 there are many, many practitioners who start with the-concept-once-known-as-1NF when doing data modeling. I'm trying to help us move past that. The theory might be past that, but changing the terms to mean something else rather than making it crystal clear causes a problem.

> and when
> some of us say that relational theory has moved on, you respond with
> "then it's not the RM anymore" (iirc).

Yes, I'm sure I've said that. I'm good with the moving on part, not the part about only "scalars" (meaning atomic, no lists, etc) and "relations." You might have moved on, but there are even some on this list who have not, not to mention the myriads of developers who have been taught AND ARE STILL BEING TAUGHT to start with what was once called 1NF.

> 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.

If you are fine with LVAs, then perhaps it is only the terminology that is getting in the way. Apologies if I am misunderstanding.

> I have no interest in
> defending trad1NF, but neither do I reject relational theory.

OK, does that include the IP? Is there a feature that could be added to a DBMS that would prompt it to go from relational to non-relational?

> > 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.

That is a good point. Because the RM is often taught using SQL, we end up with 1NF because the books often don't have other SQL examples.

> All that said, if you ask when it is reasonable (or "best practise",
> though there is afaik little practise in the area)

there is a ton of practice in using NF2 structures

> to use RVAs in
> relational modelling, my short answer is "when there is no other
> choice"---cf. GUNF.

Then that is a point where we differ. Later. --dawn Received on Thu May 04 2006 - 15:43:04 CEST

Original text of this message