Re: Theory IS Practical.

From: Laconic2 <laconic2_at_comcast.net>
Date: Sat, 9 Oct 2004 13:32:00 -0400
Message-ID: <TKmdnXO-4_05vfXcRVn-pw_at_comcast.com>


"Kenneth Downs" <firstinit.lastname_at_lastnameplusfam.net> wrote in message news:jks8kc.9nv.ln_at_mercury.downsfam.net...
>
> I am glad you brought this up. I have been meaning to ask the question
> "what is the relationship between theory and practice in computer
science?"
> It seems to me that there are some very large unstated assumptions in this
> group about this relationship, which perhaps should come to light.

Let me break it into parts:

How much theory should you know in order to build a good DBMS?

How much theory should you know in order to create a good database, given a good DBMS and good requirements?

How much theory should you know in order to write a program that loads a good database with good data, and reacts gracefully to bad data?

How much theory should you know in order to write a query against a good database that has been loaded with good data?

I claim that each of these steps requires less theory than the one before it. If fact, I think people should learn these steps in the reverse order. I've never built a good DBMS, so I wouldn't be conversant with that level of theory. Some of the discussions in here are at exactly that level, or at least at the level of critiquing the DBMSes that have been built.

> Finally we have the third relationship, which I posit is not valid but
which
> we see here. This relationship jumps straight from free-floating
axiomatic
> systems to bridges. A simplified example of this jump is "The RDM
requires
> sets instead of bags, and your system allows duplicate indistinguishable
> row, ergo your system is *bad* *engineering*." Huh?

The only part I disagree with is the very last part. How about "ergo your system will be unable to distinguish between duplicate filled orders, and duplicate data entry of one order. Ergo, you will either lose money or alienate your good customers"? Isn't that more relevant?

>
> The mismatch is because the axiomatic system, RDM, aims only to remain
> internally consistent (what mathematicians want), while the database
system
> aims to satisfy human motives.
>
> This is not to say that RDM is irrelevant. It's appeal is that it gives a
> framework for determining data correctness, which satisfies a human
motive.
> But if it is not complete (hierarchies?) then we will end up choosing to
> combine it with other models to enhance our ability to store information
> about the world.

TIMTOWTDI. You can make many logical designs for a database that are equally internally consistent. Of those, the one that is the most relevant is probably the one that will lead to the best created database.

> Mostly the programmers are so smart that they get to work through the
night,
> on the weekends, and over the holidays. No thanks, I don't want to be
that
> smart anymore.
>

When I was less than half my current age, I was charmed by programming for its own sake. I might have wasted a few evenings and weekends.

Ah, but I was so much older then. I'm younger than that now.
> >

> How about the third half? This is information that cannot be stored in a
3NF
> database such that information meaningful to human beings can be retrieved
> without procedural code, such as hierarchies or the bipartite matching
> problem?

I guess I cop out on this one. I store data in a database, not information. I don't expect people who need information to go looking in a database. I expect processes that add value by turning data into information. I know that's a corny phrase, but I think it has real meaning.

>
> I find myself coming back over and over to the issue of derived data, such
> as extended price = price * qty. If I am trying to satisfy a mathematical
> theory, I will leave this out, but if I am trying to satisfy human motives
> of convenience and correctness, I will find a way to store it on save so
> that downstream users have a better time of it.

Ok, here I go again! I harp on the subject of Star schemas as much as Dawn harps on 1NF. But I'm going to recommend that you look into one of Ralph Kimball's works on data warehousing, star schema, and the dimensional model. I thought I wouldn't find much of anything deep in there. I was wrong. Received on Sat Oct 09 2004 - 19:32:00 CEST

Original text of this message