peter User

Joined: 09 Nov 2007 Posts: 81 Location: Berlin, Germany
|
Posted: Sun Aug 03, 2008 9:56 pm Post subject: Is data modeling an art or a science? |
|
|
An interesting article appeared at SQLblog.com dealing with the question if data modeling is an art or a science:
http://sqlblog.com/blogs/hugo_kornelis/archive/2008/08/03/data-modeling-art-or-science.aspx
I highly recommend to read it. Here some summarised statements:
| Quote: | | The logical data model should focus on correctness and completeness; it should be completely implementation agnostic. |
and
| Quote: | | The transformation from logical data model to database design should focus on performance for an implementation on a specific platform. |
That's the essence! I like the "implementation agnostic" term.
A short definition follows.
An artist in the sense of the article applies learned skills, but needs some inspiration, too. The quality of his work is in the eye of the beholder. Artists in this sense are not only painters or composers, but also politicians, a chef, or scientists like E.F. Codd when he invented the relational model.
A scientist in the sense of the article is a professional for whom predictability is the first criterion. So scientists in this sense are bakers, masons, pilots, etc. I would rather call some of them craftsmen or engineers.
So is data modeling an art or a science?
| Quote: | | I think it should be a science. |
And I agree completely. As the author argues a customer can expect a correct model that maps all the data and business rules. And a customer can expect to understand the model in HIS language.
| Quote: | | Unfortunately, my ideas of what data modeling should be like appear not to be on par with the current state of reality. |
The main problem is predictability. It requires a solid specification.
| Quote: | | Unfortunately, such exactly specified process steps are absent in most (and in all commonly used!) data modeling methods. |
And the author tells about the differences when he learned software development with Jackson Structured Programming - the scientific way - and data modeling with ERM - pure art. It was art because different models were all "correct". So correctness was in the eye of the beholder.
So my first questions are: Which specification methods do you use for data modeling, if so? And how good does they affect the predictability of a data model?
And the essential questions of the article are:
| Quote: | | Why do customers still accept it when they are forced to sign for a model they are unable to understand? Why don't they say that they will gladly sign for all the requirements they gave, and for all the answers they provided to questions that were asked in a language they understand, but that they insist on the data modeler taking responsibility for his part of the job? |
So my next questions are: What are your experiences from real life projects? Does the average customer understand E/R or UML diagrams? And if not, is this trust in the developer's capabilities maybe a sign of incompetence?
I am referring to incompetence in the sense that the customer knows that he is unable to collect and address all the requirements and his own business processes. And so the customer hopes that the developer will do the customer's job, too.
So is data modeling an art or a science? Or should we rather call it "art of engineering"?  _________________ Peter
Moderator |
|