My mild rant of the month is about this bloody accounting/stock control system from which I’m trying to extract data to transfer across to an entirely new system (that I had a hand in developing, I might add)
Anyway, this old software (which I won’t name, in case it causes trouble) cost the company tens of thousands of pounds to install and it costs three grand a year to license; enough was enough! - it only has to cope with about 10,000 products and half that many customers.
So I got the job of trying to extract the customer and product data to pile into the new system.
I. Have. Never. Seen. Anything. Like. It.
The database is a fucking complete mess, there is no other way to describe it; the customer account information is spread across four or five tables, sort of like a relational model, but not, as there are the same number of records in each table - the relationship is one-to-one… WHY?!? The field naming is inconsistent, there is duplication and redundant data everywhere.
As far as the products data goes, again, there are multiple narrow tables with a one-to-one relationship and the bloody PRICING structure is unbelievable; as far as I have been able to work out so far, it is like this:
There are ten selling price value fields. (numbered 1 to 10). There are ten currency legend fields, if the first of these contains a $ sign, it means the first of the value fields is a dollar value, no, wait, it actually means look at the first of ANOTHER set of ten fields and get the price from there.
If the second legend field contains a £ symbol, then it means the second of the currency fields is pounds Sterling, oh and also if the currency legend field is blank it means Sterling too, unless the value field is zero, in which case it means that there isn’t a price for that currency (not that the price is zero). The order of the currencies in the ten fields is completely free-form, so you can have dollars, pounds, Euros in one record and Euros, dollars, nothing in the next.
Suffice to say that I don’t think I’d have done it that way.
What a lame rant, sorry, I just had to vent.