Many years ago when I was taking a degree course in Mechanical Engineering, I remember my first real brush with data modelling and computers. It was getting used to data input for computer programs where data had to be put in the correct format to be read by the program. In those days, input was in the specified format – exactly – or it was wrong! Nowadays, there is an expectation that computer programs will read input and, almost magically, work out what the user meant. The response of developers to this expectation results in some spectacularly good interpretation of input, but also in some spectacularly bad twisting of data so that the original meaning is completely lost. It can also result in some very sloppy thinking on the part of users and developers alike.
Fundamentally, data modelling lends itself to exactness, but there are always ways to work around this and they are used all the time. I have often heard disparaging remarks about relational databases slowing down development because tables continually need modifying during the process and data cannot be entered because of value types or constraints. It is true that limitations can slow anything down, but that is often a good thing!
Planning and forethought are considered curses by some, and paralysis by analysis is certainly possible. However, many more problems in this world are introduced by lack of planning or forethought than ever came because of them.
Data modelling is applying careful thought to existing problems so that solutions can be found which avoid imposing unnecessary limitations, but don’t throw away the safety that good, reasoned limits can provide. Aircraft maintenance and air traffic control have helped to make air travel safe. Just imagine what air travel would be like if the limits were removed!
How can we tell which rules are good rules and which rules are unnecessary? The new course Data Modelling that Works addresses this question as well as many other aspects of data modelling. Enrolments are now open. For more information on the curriculum or to sign up, please visit: