Today we have a guest editorial from Andy Warren as Steve Jones is at SQL Bits.
I learned databases back in the days of DOS and DBF files. If you ever worked with dBase III or anything that used the DBF format you wound up with a folder full of various files. I remember trying out Access v1.1 (May 1993 for those who wondered). It was I think the first Windows database I had used and I remember thinking how nice it was to have all the “files” in a single container, the MDB. I went on to use it a lot. I built a couple apps that used it for a data store, I used it a lot for ad hoc reporting and data entry/fixing, and I worked at a company that used it as their primary ETL solution.
Later I moved on to SQL Server 6.5 and 7.0. I remember learning to create indexes in SQL and being struck that I had to give them names - in Access you just entered the columns, no name required. That was a worthwhile tradeoff just to be through with doing the compact/repair operation that seemed to be required all too often in Access.
The strength of Access has been that it made databases approachable and affordable - both important attributes for the beginner or for the very small business trying to find a way to solve relatively small data problems. Access also made it easy to build a data driven “application”, perhaps at the time second only to FoxPro, and perhaps superseded now by Lightswitch, though I haven’t tried it to know for sure. Ease of use matters, something we can see clearly in Excel.
The pain of Access comes when the database gets too big, too slow, or the app just gets too unwieldy. Then we as DBA’s and developers get called in to “fix” the problem and the fix often requires moving data to SQL and substantial changes or replacement to the code along with it. Access. I’ve never minded that work - upgrades and refreshes are a big part of what we do, all across the enterprise. Which isn’t to say I haven’t seen horrible things done in Access that were truly a pain to figure out and upsize.
Maybe it’s because I ‘grew up’ with Access but I don’t share the disdain that many have for it. Access is the logical next step when a user needs to move beyond Excel.They may not normalize as much as we would like, they probably have a lot of cursor-ish looking code, but they are making that first step to working with data. That’s ultimately good for the business and good for us, even if it means we have to step in to do some clean up sometimes.