What is the point of these silly database applications bundled with every other Office Suite? Microsoft Office has Access, Open Office has Base, KOffice also has one. But why the fuck do we need these? Who uses them?
Ok, let me rephrase that. I know people use them – especially Access (I don’t know about the other two). But whenever they do we moan and groan, or point fingers and laugh. I mean, when was the last time when you looked at a solution that included an access database, and didn’t immediately think of 10 different reasons in which a real database would improve it immeasurably. What I really meant to ask was, what is their function – their niche in the database ecosystem. I really see no valid purpose for them.
If you need a small database to store complex data for your single user application, then you are really better off using something like SLQLite (or Apache Derby for example, if you are Java inclined) or something similar. There are dozens of projects out there that produce a small, low footprint file based, single user, embeddable databases out there. And most of them are smaller, faster, and leaner than Access. They also integrate seamlessly with your application, are more portable across different platforms and you usually don’t need to screw around with stuff like ODBC. And most of them are under some sort of free or open source license.
On the other hand, if you will have more than one user accessing the db simultaneously, you are simply better off with a real database server like MySQL or Postgress. Single user databases do not scale well in multi-user environments and they quickly become unmaintainable. And if you do attempt to use Access in lieu of a real db, you will likely make your IT person cry. Or laugh – those who laugh just don’t realize it will be their responsibility to maintain that piece of shit and stitch it together with crazy VBA hacks when it starts falling apart.
So, what is left? Oh wait, I forgot about the imaginary scenario when an ambitious entrepreneur who has no programming skills, sits down and designs a database complete with usable forms, queries and reports to support his startup business. As if that has ever happened. Come one people, let’s not kid ourselves – shit like that happens in fantasy land, not on planet Earth. I tell you what happens though.
If the guy is smart, he buys an off-the-shelf solution (usually comes in a shiny cardboard box) and asks his nephew who studies “computers” at college to install and set it up for him. If a ready-made solution doesn’t exist he will then pay said nephew no more $200 for designing a half assed solution. The quality of the application usually depends on whether or not the nephew took the database design and software engineering courses yet.
If the guy is dumb, he won’t be wasting time fucking around with fancy computer doodads. He will instead fall back on the swiss army knife of the business world – the spreadsheet. Them business folks can be pretty clever with their Excel formulas so he might end up with something that could actually be half-way sorta normalized but not really.
So, really – why do we need them? I can’t think of a single scenario where I would actually recommend MS Access for anything meaningful. How about you?
[tags]ms access, sqlite, derby, sql, databases, access, database design, mysql[/tags]