Pages

Sunday, August 18, 2024

Solve it using a spreadsheet?

Circa 1980 I started being a database developer. Originally on non-relational (Hierarchical / Network) databases such as Burroughs Forte, CA(?) TOTAL and IBM's DL/1 but exclusively on relational databases since 1996. Given this, what I'm about to say may surprise you: There are some problems where a spreadsheet is the most efficient solution.

The real difficulty with spreadsheets is they can easily end up massively complex with data and business rules intertwined, resulting in a fragile mess that is incredibly difficlult to audit and often all but impossible to modify. They also tend to be poorly documented meaning that, when the original author moves on, nobody else can get up to speed fast enough to make timely changes to the rules.

I currently have two home grown "Databases" (In the wider sense) in constant use. One is a LibreOffice sheet with 3 active pages I use to manage the memes I post to my Julia Clement facebook page and other social media. Other than simple formulae making each element in each series of memes being three days after the previous one here and on Instagram and one series daily elsewhere there are no relationship between the tables or rows. A real database would have been overkill for this.

The other database is to manage my "stupid superheroes" info sheets that I am hoping to start posting in September. This currently has ~~ 170 heroes and villians but will soon have associates (Think Batman's Robin, Spiderman's Aunt May, Womanman's Manman, Doctor Doctor's Nurse Nurse, Receptionist Receptionist and Cleaner Cleaner) and teams (Think Marvel's Avengers and X-Men). Then there's loosely related characters, for example a remarkable number of characters have their origins in the improbably large number of accidents in Field Marshal Britain's secret nuclear research facility, I think he deserves an info sheet. It took me around a minute to decide that this was not a good match for a spreadsheet so I've turned it into a MariaDB database.

So why are so many things that would be better as a database turned into spreadsheets? I see three main reasons:
1) "If your only tool is a hammer, all your problems look like nails." If it's the only way you know to collate and manage information ...
2) "Gatekeeping" by the IT department. Developers are a scarce and expensive resource, corporate environments restrict what they work on often ignoring the real needs of frontline departments in favour of pet projects ...
3) "Years of enhancements" where a nice simple spreadsheet kept having more requirements added to it sometimes in the form of 4) "Immortal Prototypes" where the original spreadsheet wasn't very simple but was only supposed to be temporary until IT developed the real one ...

As an aside, I've seen a lot of negativity towards tools like Microsoft Access. Ignoring that it was buggy and tended to corrupt databases, I'd much rather help an amateur clean-up and improve a badly implemented database than some of the overly complex spreadsheets I've been asked to help with.