Bad Database Design – Why?
Wednesday 20 June 2007 - Filed under Code

Client: “Can you update one field on our handheld inventory application?”
Jim: “Sure! That will be easy!!” (my downfall!)
Eight hours later I just want to stab myself with a rusty screwdriver and end it all!
The Story:
The handheld application in question was written in Visual CE. The user enters some information in a form, and when they sync the handheld at their desktop that information gets written to a Microsoft Access database. Then there is a Powerbuilder application that imports the data from Access and inserts it along with some additional data into Oracle.
Easy!
I modify the form with Visual CE. Add a few additional fields to Access and do some testing. Everything works. Then I dive into Powerbuilder.
Uh oh.
It seems the person who originally developed the application decided to use completely different field names in Access and Oracle…
Oracle: QUEST1, NOTE1, QUEST2, NOTE2, etc…
Access: q2, q2_comment, q3, q3_comment
The real fun begins when I realize q2 != quest2.
No, q2 = quest1! OK – so they are off by one. No problem!
Not quite.
Somewhere along the way I noticed there was no QUEST17. Instead that = CLEANLINESS.
Joy.
And q7 = QUEST18.
&!%$^@^@#%@%*&
Is it Friday yet?
2007-06-20 » Jim Priest
20 June 2007 @ 2:07 pm
Oh my… that sounds familiar. I feel for you!
20 June 2007 @ 7:18 pm
Ouch… REALLY ouch… Wouldn’t it be nice if you never had to touch an unknown codebase? Yeah I know, dream on! :)
20 June 2007 @ 9:34 pm
Welcome to my job as a financials integrator… *sigh* Sometimes I wanna stab that rusty screwdriver in my neck… Heh.
21 June 2007 @ 8:02 am
You might appreciate a 37signals article that a colleague sent to me recently all about the hidden assumptions in estimation:
http://www.37signals.com/svn/a.....mation.php
Made me laugh/cry :)
21 June 2007 @ 8:48 am
Have you submitted this story to http://worsethanfailure.com/Contact.aspx ?
I think it belongs there =)