Re: dbdebunk 'Quote of Week' comment
Date: 19 Aug 2005 08:15:08 -0700
Message-ID: <1124464508.861020.113950_at_g43g2000cwa.googlegroups.com>
> I have found I can use surrogate keys and
> suffer none of the grief you attribute to them.
> [...]
> I guess I should declare 27 years of involvement
In my travels, I have been to all corners of North America. I've been atop mountans. I've peered out of skyscraper. I've even flown in a plane. With all my traveling experience, I have yet to find any evidence whatsoever that the earth is round; as far as I can tell, it's flat as a board (moutants et al withstanding).
Despite my personal observations, I have not joined the Flat Earth
Society. I rely on the expertise of others to mathematically prove a
round earth. I trust the experience of those who have personally
observed that the earth is in fact round.
The same holds true for databases. When a programmer self-teaches
himself databases, he applies his own experience: procedural
programming. This is what happened in the fifties when there were no
databases and, therefore, no experience or expertise to go by.
Programmers back then modeled data exactly like you do now: like a
programmer.
Fifty years, the data field has made a lot of progress. The best model
we have now is the relational model. One of the fundamentals of this
model is that data do not need to be accessed by pointers (meaningless
keys); they can be accessed (and related) by their value.
When you ignore this fundamental, your model becomes closer and closer
to the ineffective ways of the past. Worse still, you lose the tools
they had back then (IDMS pointer functions, for example) to keep their
models running. As Santayana said, "Those who cannot remember the past
are condemned to repeat it."
Received on Fri Aug 19 2005 - 17:15:08 CEST