suggest improvement to DB
me:
The SQL queries that produce KPI reports for the CEO, CFO and other top management use the content of the kpiName column to find data. This means we cannot change names of these KPI's. If there is a typo or we wish to rename them for a more accurate description to those entering data we can't. Perhaps a kpiID column with a lookup table for the kpiName would be the way to go. Then we can change kpi names at any time. A new column called kpiID is all that is needed. I will change the Insert query to send the kpiID as well as the origninal kpiName.
Business Analyst and dbAdmin:
That make sense good idea
A day later
IT Manager:
WTF is going on? why do these reports not work?
CEO is going to tear me a new one.
I write the code that that presents a web interface for users to enter KPI's
It is obviously my fault.
Me:
I will find out why, will update you soon
I look at the column names. They have been changed... kpiName to kpiID and a new empty kpiName column added.
An email to the Analyst requesting they revert the changes to column names and bit of SQL jiggery pokery later and it all works again
me:
It is sorted now, some column names were changed.
IT manager:
Thanks for the quick fix, make sure is doesn't happen again.
I didn't have access rights to alter the table but I kept my mouth shut.
IT manager still thinks it my fault. Perhaps it was, I over estimated the ability of the analyst. Unfortunately I had no rights to change the queries generating the reports.
Perhaps I should have suggested that the queries that produced the reports needed updating too.
Was fskn obvious to me. Not so to the Analyst.