One of my big unanswered software questions is why no one has managed to make relational databases simple enough for normal—as opposed to normalized—people to use.
I cant be the only person on the planet who needs to create a database that encompasses many-to-many relationships, but isnt a professional database designer. Yet, I have not found anything that makes building such an application terribly easy for people like me.
For example, when I organize a conference I do a database of the speakers and the sessions. Id like to be able to connect them, showing which speakers are presenting at which sessions. This shouldnt be so hard—when I tell you what I need you understand it immediately. I need a database that can link speakers to sessions and vice versa, allowing each change in one to show up in the other.
Now this is merely difficult if each speaker is only presenting at a single session. Sadly, thats never the case at my events. Linking speakers to multiple sessions has thus far proven more trouble that its worth.
Put another way: I dont think I should have to read a database book or take a class to build the app I need. I shouldnt have to understand the ins and outs of normalization and key fields to make this happen. Handling these relationships is something the database itself should know how to do with limited help from me.
FileMaker 7 comes closest, but simple as it is generally, the relationship-building process still requires more database knowledge than most users, even power users, possess. I cant just sit down with an idea for an application and just build it. FileMaker is a fine product, it just doesnt do what I need.
Intuits QuickBase is an online software-as-a-service environment that makes building even applications pretty easy. But like all the other databases, when you need relationships things get complex. QuickBase does one-to-many relationships with some difficulty, but doesnt even try many-to-many connections.
If I were king, QuickBase would be my best hope for relational database apps made simple. Sadly, my understanding is that Intuit isnt too keen on taking QuickBase in that direction. Thats sad because if anyone could make building many-to-many relationships simple, Im sure Intuit could.
Whats needed is an interview process that determines what the user is trying to do and then builds a database schema for accomplishing it. Drop in some sample data and the user could play with the new database and make limited changes before finalizing the application. The database would do the heavy lifting while the user could make tweaks where needed.
As all things seem to, this eventually circles back to Microsoft. Its made Access the default database of choice for corporate America, even though FileMaker is probably the better choice for most users.
Access is a failure, at least from my viewpoint, because the program has never really done anything to help make building database applications very easy. Rather, its been Microsoft Excel thats become probably the most-used desktop database of all time.
Sure, Excel is a spreadsheet, but Excel tables probably contain more corporate information than most companies enterprise databases.
If Microsoft, Intuit and FileMaker cant make this happen, maybe the open software movement could take it on, though simple user interfaces have never really been a strong point of “free” software.
I know this is a tough problem, but I dont think my request—simple many-to-many relationships in a database for the masses—is all that unreasonable.