Re: foundations of relational theory?

From: Dawn M. Wolthuis <dwolt_at_iserv.net>
Date: 9 Oct 2003 13:42:03 -0700
Message-ID: <6db906b2.0310091242.1a34e83_at_posting.google.com>


"Bob Badour" <bbadour_at_golden.net> wrote in message news:<xSXcb.199$vQ6.25394285_at_mantis.golden.net>...
> "Ryan Gaffuri" <rgaffuri_at_cox.net> wrote in message
> news:1efdad5b.0309260259.393522ae_at_posting.google.com...
> > Did it all start with Codd or did he build on other people's work?
>
> Codd built on thousands of years of mathematical development in the field of
> logic and set theory as well as early developments in data management.
>

Codd is the person who decided to take the mathematics of relations and apply that to the persistence of data. I just did a talk where I argued that he took what was logically good thinking and then made a key statement of religious zeal that we have been living with for decades now. The short version of my arguement is this: Codd stated in one of his books, "data can be classified into two types: atomic and compound" "In the relational model there is only one type of compound data: the relation." "Why focus on just one type of compound data? The main reason is that any additional types of compound data add complexity without adding power." The last statement of these has no mathematical backing to it. Mathematical relations may certain include elements that are relations. In my opinion, that would be like stating that English propositions should be written without compound subjects or predicates because it can be and making it more complex adds complexity without adding power. There is no mathematics that suggests that data should be stored in first normal form. There are several other myths in RDBMS theory and implementations as well.

>
> > Have current relational databases changed much from the initial
> > relational principles put forward by Codd?
>
> The principles have not changed at all. Areas of controversy relate to
> issues for which we have no theory based solution such as missing
> information. The most important developments have simply been direct
> applications of Codd's logical data model to specific problems such as Ron
> Fagin's work on higher normal forms in the 1970's.
>
>
> > also are analytical functions part of relational theory?
>
> They are an orthogonal issue. The relational model depends on data types and
> on a rich and robust set of operations on those types for effective data
> management, but the choice of the types and operations is independent of the
> relational model per se.
>
>
> > Arent they in
> > SQL99? Or are they just a vendor add-on?
>
> SQL does not define the relational model. In fact, it deviates significantly
> from the relational model, and SQL99 basically abandons the relational model
> outright.

And for good reason, although I'd suggest that it is time to abandon not only the relational model, but also the SQL language, even with the -99 extensions. I have an old book for teaching secretaries that states "Unfortunately, files are thought of first as places to put papers, not places to find papers. Yet the criterion for judging any file system is findability, and the efficient secretary makes her decisions about where to put material after asking herself, 'How will it be requested?' or 'How can I find it?' ...she must understand her employer's need for a file so that she will not burden him with 250 pages when he wants only 10 – but the right 10." (Hanna, Popham, Tilton; Secretarial Procedures and Administration; South-Western Publishing Co., 1973, p. 307)

I quoted this in a talk not only because the pronouns are great, but also because going back to the ideas of how one files papers when talking about how to file and retrieve information might be enlightening.

I have a master's degree in mathetmatics, and it seems to me that Codd's use of simple relations for persisting language propositions is flawed at its core. The mathematics of language is much more complex and if one were to try to make it simple for the purpose of databases, making it simple by using simple mathematics is not nearly as productive an approach as making it simple by using simple language.

Since I have not spoken in this forum before, I hestiate to post twice in one day, but you can likely tell that I'm becoming passionate about this subject and decided to start making noise. It's time to kill the relational model and gain some agility back into the development process -- right? Cheers! --dawn Received on Thu Oct 09 2003 - 22:42:03 CEST

Original text of this message