I met so many times very »creative« models. There is a whole branch of modelers I call “inventors”; however, do please note that I mean this in a sarcastic way. It is very simple: if you do not know a lot, you are forced to invent. Interestingly, they mention “theory” a lot as well. Basically, they are “improving” the “theory”. Typical examples would be people who invent “XML databases”, “OO databases” and similar, and by the way they criticize relational model without really understanding it.
However, do we have to follow the established ways, without using brains? There is another kind of modelers I call “theorists”. There are modelers who never use their mind and always follow the authorities in the area, explaining they are following the “theory”. Note that they typically mix the real theory, which has foundations in science, mathematics, with words of well-known authorities. For example, types 1, 2, and 3 for handling the SCD problem have nothing to do with any theory; they are just proposals by Ralph Kimball, and since Kimball is an authority, this kind of modelers does not dare to use own brains to try to find a better solution.
So what is the right mix of established ways vs. creativity? First of all, you should always use your brains and common sense. A real intellectual doubts in everything. Do please doubt in words of authorities, scientists, politicians… Try to find better solutions. However, use extreme caution before you claim you invented something. It was probably already invented for thousand times; it is probably just you who does not know anything about it. Do not forget: if you don’t know, you are doomed on inventing. Or on calling you an “artist”.
- Python for SQL Server Specialists Part 4: Python and SQL Server - April 24, 2018
- Python for SQL Server Specialists Part 3: Graphs and Machine Learning - April 11, 2018
- Python for SQL Server Specialists Part 2: Working with Data - March 22, 2018