Re: Relational Databases and Their Guts

From: Paul Vernon <paul.vernon_at_ukk.ibmm.comm>
Date: Tue, 24 Jun 2003 11:53:42 +0100
Message-ID: <bd9ao7$13qa$1_at_gazette.almaden.ibm.com>


"Todd Bandrowsky" <anakin_at_unitedsoftworks.com> wrote in message news:af3d9224.0306231111.fd73ac6_at_posting.google.com...
> > Yes. Empty sets. E.g an empty relation.
>
> Ooh, I like that.
>
> > View updating is another issue. I (happen to) disown the concept. Views
are
> > relational expressions, they are not variables and hence they are not
> > updatable. End of story.
>
> I like that even better!
>
> >
> > View updatability is a (somewhat) wrong headed way to provide logical data
> > independence.
>
> And better still!

:-)

> Of all DBMS systems I've seen, only MS Access had really good and
> consistent view updateability, and I believe that at one point MS
> claimed that Access was a true RDBMS for that reason. In practical
> terms, for C/S systems updateable views are nearly impossible to work
> because of all the transaction and connection semantics.
>
> Now, what in your mind means logical data independence?

Strictly I think of it as:

    The ability to interact with a database via any information equivalent database schema.

> > [maybe we need a new thread on view updatability :-) ]
>
> Maybe.
>
> > Nice try, but wrong on two counts. View updatability is not a fundamental
> > requirement of a relational database.
>
> Ok. I thought from reading Codd's rules that it was. Evidently there
> is some new thinking on this? I've also read that at the time Codd
> wrote the 1985 rules, he wasn't fully aware that not all views can be
> updateable.

Although it pains me to say it, Codd's 12 rules are "mostly crap".

> > At best it has only ever been a 'nice to
> > have'. Second, you don't need nulls to represent something that is empty,
you
> > just need something that is empty, such as an empty set, or empty list, or
> > empty array, or empty relation...
>
> I'll take that.
>
> >
> > BTW, if you do pick up Chris Date's 1NF article, then see the section
titled
> > "RVA's Make Outer Join Unnecessary" for some insight here. As he says, "to
> > represent an empty set by an empty set seems like an obviously good
idea!".
> > :-)
>
> I went to the link to look for the article, and I'm going to read it
> at home tonight. I also went out and bought the 3rd Manifesto.

Yehaa!

> I'm
> really interested in seeing what he has to say about mapping objects
> to the relational model, in particular,

> what to do with primary keys that are ranges.

Ignoring the danger inherent in any OO discussion ;-), what do you mean by 'ranges'? Sets of an interval type? (E.g. a set of time periods ??!)

Regards
Paul Vernon
Business Intelligence, IBM Global Services Received on Tue Jun 24 2003 - 12:53:42 CEST

Original text of this message