Chris
Date once published an article at the old DBDebunk titled “Models, Models,
Everywhere, Nor Any Time to Think”. If you want to get a hold of what he
meant then, you oughta do a search on the title now and see what you get.
The
continuous proliferation of models is an indication and measure of the
disregard, if not outright hostility of the industry to sound theoretical
foundations. It keeps reminding me of a decades-old piece I posted in response
to David Hay's critique of Ron Ross's then proposal of a “fact model” (yet
another one) as an alternative to data model. It is more relevant than ever,
which is why I decided to bring it up to date. The problem is so entrenched and
widespread, that even those who try to address it fail to realize that they are
victims of it too.
Hay
correctly observed:
“In our industry, there is a
strong desire to put names on things. This is natural enough, given the amount
of information that we have to classify and deal with in our work. To give
something a name is to gain control over it, and this is not necessarily a bad
thing. The problem is when the name takes the place of true understanding of
the thing named. Discourse tends to be the bantering of names, without true
understanding of the concepts involved.”
In
this industry, many of the names are just re-labeling, whether it fits or
not. Here are a couple of exquisite examples of both cases:
“I was amused to read in
[Ralph Kimball's] article that my own suppliers and parts database design was
"a perfect, beautiful star schema!" When I first learned the term
"star schema", my reaction was that a properly designed star schema
would be nothing neither more, nor less than a properly designed schema per se
(in other words, one that did obey those scientific principles of relational
design that do exist). So to see RK say that my schema was in fact a star
schema reminded me (I’m afraid) of Peter Chen’s original E/R paper, in
which—among other things—he reinvented the concept of domains, but called them
value sets, and then went on to analyze the relational model in terms of his
own ideas and said “Look, domains are just value sets!” --C. J. Date
Note: Kimball's "star schema" is, of
course, not a relational schema, but quite an attempt to avoid it, due to
failure to distinguish application views of the database from the database
schema.