Re: A good book



Chris Smith wrote:

Bob Badour <bbadour@xxxxxxxxxxxxxxxx> wrote:

Chris Smith wrote:

I'm suggesting that you've yet to establish the connection between:

(a) predicate calculus and elegant code
(b) databases and predicate calculus

Relational calculus = 1st order predicate calculus

Am I missing something?


No, you're almost certainly not missing something. Nevertheless, what I'm asking for ought to be relatively simple, so I'll try to explain it another way.

As is pointed out here several times every five minutes (okay, not that often...), database design and programming is rather frequently and unfortnuately performed from very little theoretical basis at all. At the same time, it's frequently stated that relational databases operate on a solid mathematical foundation. That's a useful statement if and only if that mathematical foundation provides tools that are useful in practice for reasoning about behavior, transformations, correctness, etc. of the code written in relational languages. If this connection is not made, then all this talk about predicate calculus is pointless. I am looking for the sources that explain how this connection is made. Are there theorems of relational theory that suggest certain program transformations, or certain criteria for correctness? You made a comment in another thread that suggested that features added to relational databases can be traced back to the mathematical model; where's a source that explains how? Although it's not a specialty of mine, I have a pretty solid layman's knowledge of systems of logic, including predicate calculus, but it's entirely non-obvious to me how this would effect my use of or implementation of a database system. This is what I'm asking for. Or at least, that's the theoretical part of what I'm asking for, which I called (b). The practical part is (a), but I imagine it will largely follow from the theoretical understanding.

If you want a concise statement of the theoretical understanding, I gave it above. I repeat it here:

Relational calculus = 1st order predicate calculus

If you want further elaboration of the theoretical foundation, I suggest you start with Codd's 1970 paper.


Life is too short to go digging for it, but one EWD stands out in regard to elegance where EWD provided a proof without iteration for something previously proved using iteration. He used it as an example of greater elegance.

Hopefully, I've explained why this isn't what I want.
.



Relevant Pages

  • Re: A good book
    ... predicate calculus and elegant code ... it's frequently stated that relational databases operate on a solid mathematical foundation. ... That's a useful statement if and only if that mathematical foundation provides tools that are useful in practice for reasoning about behavior, transformations, correctness, etc. of the code written in relational languages. ... He used it as an example of greater elegance. ...
    (comp.databases.theory)
  • Re: A good book
    ... predicate calculus and elegant code ... it's frequently stated that relational databases operate on a solid mathematical foundation. ... That's a useful statement if and only if that mathematical foundation provides tools that are useful in practice for reasoning about behavior, transformations, correctness, etc. of the code written in relational languages. ... He used it as an example of greater elegance. ...
    (comp.databases.theory)
  • Re: A good book
    ... predicate calculus and elegant code ... it's frequently stated that relational databases operate ... practice for reasoning about behavior, transformations, correctness, ... Are there theorems of relational theory that suggest certain program ...
    (comp.databases.theory)
  • Re: A good book
    ... predicate calculus and elegant code ... it's frequently stated that relational databases operate ... Are there theorems of relational theory that suggest certain program ... to elegance where EWD provided a proof without iteration for something ...
    (comp.databases.theory)
  • Re: A good book
    ... predicate calculus and elegant code ... don't think Dijkstra does except in certain domains that involve certain *uses* of predicate calculus to ensure the correctness of application code, which are not relevant to databases inr eadily apparent ways; and I don't think he does at all. ... Life is too short to go digging for it, but one EWD stands out in regard to elegance where EWD provided a proof without iteration for something previously proved using iteration. ...
    (comp.databases.theory)