Re: Lucid statement of the MV vs RM position?
Date: Thu, 04 May 2006 17:34:48 +0200
Message-ID: <e3d6um$6bg$1_at_orkan.itea.ntnu.no>
dawn wrote:
> Jon Heggland wrote:
>> 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.
No, rather a clever workaround of a too-restrictive type system. The logical model ideally shouldn't have to be limited by the capabilities of the implementation system.
If I design a logical model with boolean attributes, and implement them in SQL using numbers or characters, is the logical model incorrect? Or in what sense is the implementing-lists-using-strings model incorrect?
> Yes,
> there are plenty of examples of non-1NF structures in tag-delimited
> attributes within SQL-DBMS's.
Which goes to show that trad1NF is not a formal question of data types, but an informal one of usage. A string can be seen as a list of characters, but if you never use it as such, everyone is content to regard it as simple/atomic. UDTs and/or built-in RVAs/LVAs doesn't change anything but the level of convenience in this regard.
> 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.
Counter-intuitive to me, but YMMV. :)
>> 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.
Really? Not since he rejected trad1NF, I'd think. Anyway, "normalized" (note tense) and "in 1NF" might be said to be somewhat synonymous, but since it is pretty clear that you can normalize a normalized relation further, that usage ought to have died in the early seventies.
> When a term is redefined
> frequently enough it is hard to know what anyone means by it.
Exactly. That's why each one of us has to be careful to define our terms. 1NF is particularly dangerous, since it was vaguely defined to begin with, and has at least three widespread definitions now. You have to specify exactly which one you criticise---and if it's one of the two vague ones, it's inherently difficult to discuss it.
>> Relational theory isn't religion.
>
> Seems to be.
I think *you* are one of them who treats it as religion, albeit from the role of a heathen. You say "This is the eternal unchanging relational truth, as handed down from Codd, and I reject it!".
>> And for Codd's sake, read Date.
>
> I have, I do. I read almost all of 8e, feeling I should after paying
> for it.
Don't stop there. Read the Relational Database Writings, and above all The Third Manifesto. If 3VL and lack of RVAs/LVAs are your main objections to relational theory, TTM might convince you. :)
>> (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
What? Date is the least "religious" writer I know of in that he always explains the rational arguments behind his viewpoints (and actually changes his mind if those arguments don't hold up on closer inspection). Can you provide any examples of his spouting religion?
> (I'm not trying to give
> religion a bad name, mind you, just i this context).
I use "religion" here in the sense of arbitrary beliefs stubbornly held in spite of empirical evidence or rational argument, so it has an inherently bad name in my book. :)
>> 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,
I find a relation { dice value, count } much more natural for that.
>> You stubbornly insist on a 37 year old rather vague definition,
>
> I want to be precise.
1NF/normalized just isn't precise. You can't use those terms without specifying exactly what you mean, even if you really really want to.
> Given that in 2006 there are many, many
> practitioners who start with the-concept-once-known-as-1NF when doing
> data modeling.
Perhaps, but do they agree on what it means? I think not. It makes sense only if you squint a little and don't think too hard about it. Besides, since SQL systems typically support only numbers, strings and dates/times, the concept formerly known as 1NF isn't really an issue at all. I actually don't think your many, many practitioners bother much with normal forms at all, since the typical semantic modelling (e.g. E/R) produces BCNF relations anyway.
> You might have moved on, but there are even some on this
> list who have not,
Perhaps I'll leave you to argue with them, then. :)
> not to mention the myriads of developers who have
> been taught AND ARE STILL BEING TAUGHT to start with what was once
> called 1NF.
Really? I would have thought they are taught to start with E/R modelling. Like I have said before, the textbooks I'm familiar with don't spend much time on 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 am fine with LVAs in the sense that they don't break anything; in fact, I don't think they affect relational theory as such at all---types are orthogonal to the RM. However, I would use them with caution, if at all, and I have reasons for that---which are not religious in nature. You might still disagree with them, of course.
>> I have no interest in >> defending trad1NF, but neither do I reject relational theory.
>
> OK, does that include the IP?
I don't reject the Information Principle, if that's what you mean, but I find it a little too open to interpretation for my taste.
> Is there a feature that could be added to a DBMS that would prompt it
> to go from relational to non-relational?
Sure. Duplicate tuples is the first thing that leaps to mind. Attribute ordering, nameless attributes or attributes with duplicate names, hidden attributes, tuple ordering, persistent variables that aren't relations... Actually, I believe most (if not all) of these follow from the IP as I interpret it.
>> 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
Perhaps, but not in using RVAs (or special cases thereof:) in relational systems.
>> 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
-- JonReceived on Thu May 04 2006 - 17:34:48 CEST