First up I should say this post is for discussion/venting purposes only, so please don't fret use too much time thinking up awesome solutions (unless you want to!)
Anyway, so I have been reconstructing a database for human resources. The one that came before me was barely functional and to be honest didn't make a lot of sense. Now, I am not a pro, I studied one module of access as a student and that was about two years ago, so I can't say for sure that it was wrong, but it just didn't sit right with me... It centered on the list of employees and their details (pretty common sense stuff) and apart from a few typos and duplicate fields this wasn't a big deal, but when you left that table you wandered into an entirely different logic.
The other tables were things like gas stations, coal stations, qualifications and training records (Should have been reduced to two, no?) and within each of these there wasn't a 'name' field, like for the name of each qualification, instead there was: a foreign Key for the employees; and then a long list of data fields each named after a qualification/gas station etc, with a true/false data type, and from that there were some poorly strung together forms which just allowed you to click some check boxes to say whether the employees had those qualifications/ had been to those stations.
Now that seems like bad practice to me, surely you're not supposed to use data fields for unique individual things like that?? Imagine if he had done it for the employees! And yet, doing it that way came with certain advantages. For instance, if I want to make a list of tick boxes that the user can simply click to say where they have been, it would take considerably more effort than the first guy would have used with the form wizard (since everything was its own field). But that's not the best part, it also flattened out the structure, allowing you to see all the relevant information for each employee in a singe horizontal line, for each 'field' was either true or false. This meant you could export the entire database into excel, something I am struggling to do better than even with what I think is a fairly advanced search query.
Anyway, I am trying to put my finger on why that was the wrong way to do it, and yet I can't help but think with a little work, it would have been fine as it was...
Any thoughts?