Re: Database design, Keys and some other things

From: Marshall Spight <marshall.spight_at_gmail.com>
Date: 29 Sep 2005 22:11:28 -0700
Message-ID: <1128057088.233421.297080_at_z14g2000cwz.googlegroups.com>


JOG wrote:
> ... I would love to engage with you, ...

I'll take you at your word.

> 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.

Perhaps we have different definitions of surrogate keys. The VIN may be something that's not a surrogate key in database A, but it's certainly a surrogate key in *some* database, and hence I don't see any particular difference between it and any other made-up identifiers. SOMEone, some database, made up the VIN out of thin air; we could well say they "implemented [it] to get [their] system working." So I still don't see the distinction you're drawing here.

> 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.

I don't believe I ever took that position.

However, there is a definite trap in this general area, which is the trap of thinking that there is anything profound to be said about the relationship between the internal and the external predicate. That relationship, between the database and the world it models, exists only in the minds of the users of the system, and it is wholly an illusion, if you will. This is an important point, and it is also a philosophical one.

Marshall Received on Fri Sep 30 2005 - 07:11:28 CEST

Original text of this message