You work for a company for a few months. You are working with a new application by yourself, application which is nicely built, that has a nice database, everything tied up together with constraints, foreign keys, etc.
Suddenly you are asked to integrate your application to a very messy database. Messy in the level of:
- Not having a single Primary Key;
- Not having a single Foreign Key;
- Having duplicate records in all tables that have N-N relationship with each other.
In plain words: a total crappy mess.
The messy database is widely used by the company which inserts many records everyday without any data integrity enforcement, meaning they mess up every single day with the data not knowing they do so. It simply works for them, then no bother!
You are a small fish in the company and don't want to try causing a revolution making the efforts be directed to fix the database first... Your politics skills are 0!
Then you finally do some analysis and find out you'll not only have to try and rely on the messy database for a few things but insert maybe even more records that you can't know for sure isn't redundant, and even if it is, in the future someone can just insert it once again... I mean, the solution is possibly accomplish-able but you are unsure you are entering in a eternal maintenance required machine...
How would you position yourself if you can kind of avoid having to handle with these deep mess?
Would you simply DO what they ask? Would you try to quietly walk out of it? Or would you try to make it clear the database is f'ed up and WILL have to be addressed in some point?