Re: Natural keys vs Aritficial Keys

From: Michael Schuerig <michael_at_schuerig.de>
Date: Thu, 21 May 2009 19:02:18 +0200
Message-ID: <gv41ek$bc6$1_at_newsreader2.netcologne.de>


Bob Badour wrote:

> Michael Schuerig wrote:
>
>> Bob Badour wrote:

>>>Mindless, automatic use of a numeric id without regard to the logical
>>>requirements is NEVER the lesser evil.
>> 
>> Where do you get the "mindless"? Innuendo instead of argument, I
>> gather.

>
> Where is the mindfulness in "Rails requires all tables to contain a
> column called 'id'" ?

You wrote your accusation in response to a message where I refered to an extension that makes composite primary keys available in Rails. If you want that limitation lifted so bad, just use this extension.

>> If you're sure you are right, I'd like to know your reasoning why it
>> is always bad to use a tool that encourages numeric ids,
>> notwithstanding the advantages that tool might provide in other
>> regards.

>
> First, we are not talking about a tool that "encourages" numeric ids.
> We are talking about a tool that mindlessly requires them.

See above.

> The appropriate tool for data management is a data management system.
> Among the principal functions of a data management system are the
> integrity function and the manipulation function. Compensating for the
> loss of the integrity function is a tall order that neither rails nor
> any ORM even begin to fill.

Would you say that these principal functions are essential for, say, blogs, wikis, or social networking sites such as Flickr?

> Your suggestion that these products have anything that even remotely
> begins to compensate for the loss of the integrity function merely
> tells us you are ignorant of that function in the first place and
> confirms the OP's suggestion regarding a lack of understanding.

No, we're talking at cross-purposes and you're unwilling to acknowledge it, insisting that your constraints apply always and everywhere.

There are application domains where quick development is more important than 100% data integrity. There are applications, where high performance is more important than immediate global consistency. You put down your technical considerations categorically, whereas in practice they tend to be toned down by business considerations. Like it or not, and whether I like it or not, for that matter. There is a difference between understanding the rules and abiding by them at all times.

Michael

-- 
Michael Schuerig
mailto:michael_at_schuerig.de
http://www.schuerig.de/michael/
Received on Thu May 21 2009 - 19:02:18 CEST

Original text of this message