Re: Relational Databases and Their Guts

From: Todd Bandrowsky <anakin_at_unitedsoftworks.com>
Date: 23 Jun 2003 12:11:19 -0700
Message-ID: <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?

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

> 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. 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. Received on Mon Jun 23 2003 - 21:11:19 CEST

Original text of this message