Re: does a table always need a PK?

From: Tony Douglas <tonyisyourpal_at_netscape.net>
Date: 1 Sep 2003 03:59:05 -0700
Message-ID: <bcb8c360.0309010259.41a03bb3_at_posting.google.com>


Hi Heikki,

"Heikki Tuuri" <Heikki.Tuuri_at_innodb.com> wrote in message news:<gZG3b.333$st4.19_at_read3.inet.fi>...
> in computer science people usually think that a formal definition has to be
> mechanically verifiable, at least in principle.
>

Indeed, and where possible this should be the approach taken. The big challenge is, how do you get mathematics to say something in any way useful about things which are partially policy (backup) and partially down to greasy bits of machinery (tape drives) ? And what do you do in the mean time ?  

> Formal proofs of program correctness are too difficult for big programs,
Mmmm....

> but
> I have seen that for some details, writing a partial specification and
> proving the correctness in a mathematical fashion has uncovered bugs.
>

Absolutely. How's about this then; try implementing an RDBMS using Haskell. It's a functional programming language, therefore just some syntax sugar for the lambda calculus, and the act of doing this would probably force someone to come up with a mathematical model of what an RDBMS is. To some extent, anyway - you could probably express something about concurrency, transaction recovery and the like, but still not extend out as far as backups. (Alternatively, you could just specify the concurrent assignment of Tutorial D and do away with transactions ... :) )

It would also make MySql 6 a *truly* ground-breaking product, rather than more-and-less-of-the-same-old-thing.

  • Tony
Received on Mon Sep 01 2003 - 12:59:05 CEST

Original text of this message