Re: Do Data Models Need to built on a Mathematical Concept?

From: Marshall Spight <mspight_at_dnai.com>
Date: Sat, 26 Apr 2003 19:36:22 GMT
Message-ID: <WcBqa.632745$L1.180197_at_sccrnsc02>


"Paul Vernon" <paul.vernon_at_ukk.ibmm.comm> wrote in message news:b8eg1v$1pbo$1_at_gazette.almaden.ibm.com...
>
> "Is it time to consider a more democratic structuring principle, similar
> to what they have in relational databases?"

Absolutely.

> Unbeliveable! Why have computer scientists taken 30 years to to consider this?
> Where have they been? His next words just confim this.

The model I have for the relationship that the relational world has with the rest of the programming world is that of the Indian subcontinent's drift into Asia: inexorable but very slow, and causing chaos on a Himmalayan scale.

> To me, this lecture shows that the wider academic community never really *got*
> the Relational Model. They got the relational algebra/calculus (albeit mostly
> restricting themselves to binary relations), they could see the benefit of
> data independence, but they missed the equally important *application
> independence* that relationally defined data can provide.

While I agree, I think there's still more. For example, the fact that relational data is content-addressable is huge. Lots of other things, too.

By the way, I thought the file system example [not quoted] was interesting. Date's fond of saying that many things that are modeled as hierarchies aren't really hierarchies, and the example I always use is the filesystem. It seems to me that filesystem design reflects the thinking of the standard modern programmer. The basic meme is that there are only two data structures: list and tree. If you can't make a list work, use a tree. So we model the filesystem as a tree. But then, hey, you have to have *hard links* don't you? And you also need soft links, right? So you end up with a graph, but everyone insists on pretending that it's a tree. (There's gotta be a line about "can't see the forest" in here somewhere.) Modern application programmers use a tree structure for almost everything more complex than a list, whether it's appropriate or not. Witness the ascendance of XML.

> Note how Jayadev said "...similar to what *they* have in relational
> databases". Why did he not say "what *we* have"? Why does he not consder
> relational databases as part of his heratige?

Well, because it's not. The database world has been off in a corner all this time. Database programming is a definite ghetto.

> To conclude, I think there is still a big gap in understanding between the
> 'programming community' - the academic side typified by Jayadev - and the
> 'database community' - the academic side being represented in it's seeming
> absence in the universities by outsiders such as Chirs Date.

Totally agree.

> To bridge this gap, I am thinking that there needs to be bridging of
> functional programming with relational programming.

Why functional programming? Why not imperative programming as well? It seems to me that an imperative programming language with first-class relational support, and a type system a la ML would be Most Excellent. (I've been kicking this idea around for about a year now. I have some primitive notes, and of course I've read TTM a few times. Still wrestling with my OOP heritage, though.)

Marshall Received on Sat Apr 26 2003 - 21:36:22 CEST

Original text of this message