Re: Database design, Keys and some other things

From: JOG <>
Date: 29 Sep 2005 10:23:45 -0700
Message-ID: <>

I will try and reply civilly in spite of the vitriol.

> You ride in here on King Milindi's chariot, make some
> vague ominous claims about set theory bolstered only by trite
> anecdotes about "identity", ignore my efforts to engage you,
> and at the first sign of my impatience, start in with the
> personal attacks? And you call *me* "unconstructive?" So far
> I rate your contribution to the newsgroup as negative. If you
> want a "database theory discussion" then you have to actually
> have one.

No, I said your last post was unconstructive, which it plainly was. You say you're brusqueness was borne of impatience but hey, noones forcing you to read the thread and a few posts of mine among the many here shouldn't cause you so much distress for you to lose your cool.

Either way, I certainly have said nothing about you - I don't know you and absolutely would not personally attack you. In fact, the opposite, I would love to engage with you, as I want to come to a conclusion myself. I am certainly not waltzing about saying anything like I've got it right - I'm just offering a possible opinion for discussion, in an area that is of interest. I have also not ignored you and endeavoured to reply to every one of your posts in an attempt to clarify (If I've failed to do so then just let me know and I can try and rectify that):

Your very first comment:
> What's a VIN, then? Are we all imagining them? Are they somehow
> outside of the real world? Is your bank account id somehow
> Not Of This Earth? If you bank account didn't have an id,
> would it be enough to identify it just by the balance?
> "There is a bank account that is a checking account, with
> $1,000,000.00 in it." Could I then authenticate myself to
> the bank by saying, yeah, I'm the guy with the million
> dollars in the bank. If you forgot your balance, would
> that mean you lost access to your money?

Someone else replied in between my reading the boards:

Your next comment:
> Definitely! But artificial isn't the same as "not part of the real
> world." The claim was made that the real world didn't contain
>predicates that included artificial keys. So I guess that
> means VIN, bank account number, and SSN are supernatural! Spooky!

I replied to you:
> The claim was that if you are modelling the real world you should not have
> to add new imaginary keys, you're encoded predicate pretending as
> though they were properties of the real world statement,
> just for the database to work.

You then justifiably asked:
> If you're saying artificial identifiers
> are okay but invisible universal ids are not, I'm not clear
> what the distinction is.

A VIN exists in the real world, and as such is part of the proposition we are encoding. A surrogate key is an artifice of the database, does not exist in the world you are modelling, and is implemented to get your system working. This seems a very clear distinction to me. I attempted to highlight this with an example. VC then helped me rid the example of weak terminology and Gene emphasised the difference between the observer within the example, and the creator of the tuple. Then finally you chime in with what reads a very terse post, which adds nothing at all. Again, I am unclear as to how this engendered so much aggrievement for you.

Nonetheless I hope you can see you have got the wrong end of the stick in this case and I welcome discussion with you. I disagree wholeheartedly with you that the philosophy of what information actually is, and the consequences that may have for encoding and manipulation of it, is irrelevant to database theories. After all it is Codd's information Principle that is at the heart of what we are really debating here - and that is the philosophical viewpoint, upon which his mathematical model is based.

James. Received on Thu Sep 29 2005 - 19:23:45 CEST

Original text of this message