04.02.08
Wrapping a Database in Duct Tape
Duct tape solutions are not so obvious until several layers have been applied. It can just creep up on you and then suddenly you realize you can not move. It is like the giant being tide down by thousands of threads so he can not move.
This can happen to a database containing reference information that is needed by many applications. The first application pulls the data needed using SQL and replicates the data for the application’s purpose. This is quick and easy. Then, a second application does the same thing only it extracts a different combination of data. Then, there is a third application that is different again. Then a fourth, a fifth, etc. Eventually, the database is wrapped in SQL duct tape.
When the structure of the reference data needs to change to meet a new business requirement, the duct tape becomes a barrier to making the change. The current SQL for each application will need to be modified. But, the project teams responsible for the SQL are all busy on other high priority projects and can not be responsive.
Another problem may occur when two or more of the applications, sometime in the future, need to combine their outputs. If the reference data used by the applications was extracted at different times, there could be data integrity problems.
Avoiding these problems means taking the time to define an abstract access to the reference data before giving any application access.

