It’s not redundant, just plain stupid.

I just decided to pop in here to have a tiny rant about something that’s bugging me about my Database Design class.

I just got my assignment. We’re basically to design and set up a database, create forms, use VBA, general piss easy stuff. I’m a little annoyed to read the specification for this work to find that we’ve actually been told most of the table names, and attributes that need to be there. Thanks for taking away my creativity.

What I’m most annoyed though is this:

Finally ‘status’ is set to ‘current’ and ‘end date’ is left null. When a customer wishes to end a contract the end date is set for the last day of the current month and the status is changed to ‘ended’.

It’s not just me that finds this stupid, right? I can’t even really explain why this annoys me.

Company’s don’t do this. They have minimum term contracts. They’d just have a StartDate (when the customer wants the contract to start) and and EndDate (when it’s to end). In fact, a better design would be ContractLength.

Leaving the empty EndDate seems dumb to me. And having to have some sort of batch process which checks for an EndDate and then updates Status seems like a lot of extra work. Why does Status even sodding exist? In that stupid system, if there’s no EndDate then it’s obviously “current”, else “ended”.

Comments are closed.