I need to set up a simple (2 table) database for a bunch of not-too-technical users. I'd prefer to do this without writing any code myself.

The task is for people to listen to recordings of festivals and concerts and annotate them with things like: musicians, instruments, songs, links to lyrics, etc. One table would have a record for each recording. The second table would have a record for each song, with a link back to the recording. Probably a dozen fields in each table, a few of which would be free-form text of up to several sentences.

I need support for referential integrity in that the Recording ID field in the Song table must be a valid entry in the Recording table.

I need to restrict write access to specific users on a per-table basis. Only one person can add / edit Recording records. Several people could create / edit Song records. They could potentially try to do this at the same time, so I need record locking too.

I don't want to use a spreadsheet, like Google Docs, because I don't trust the users to keep the recording IDs straight in the song table.

I'd prefer to not write code myself because people will be using this for at least the next ten years, and I don't want to support it forever.

I use Dream Host as the ISP, and they support all the usual suspects, including PHP, MySQL, Python, Ruby, etc.


Sounds like you should try Ragic.

You design your tables like spreadsheet, but all data is stored in database, and the problem of linking the IDs that you mentioned won't be an issue since you can use a drop down to select entries from another table.


Have you considerd this?

The way Google Docs spreadsheets now can be used as (very) simple databases is by using a form (one single form per spreadsheet/workbook) to sequentially input data, o by using an Import function to retrieve data from a public web based source - the ImportRange function allow retrieving data from other Google Docs spreadsheets the user has access to.


You may use iFreeTools Creator - an online database app builder over Google App Engine.

Except for locking-before-edit, everything else is already possible Locking of records is also possible in the paid deployments.

You have free automated audits too. So, in case of unintentional over-writes one can always use the info in the audit details.

Paid plans via single-tenant deployments start at $99/year (works out to $8.25/month) for upto 25 users.

// Disclosure : I wrote code for this web-app creator.


One hosted option could be Zoho Creator. I've done a few small apps just for myself with it and been quite impressed. Better than OO Base and not quite MS Access (imho).

  • Hi Chris. I hadn't seen that one. It looks like they charge more for more users. I don't need much data storage, but for 25 users, they charge $45 per month. I can't see spending that much for something this simple.
    – user1052
    Jul 24 '10 at 11:12

I'm not sure what your DreamHost account includes by way of ssh login ability but you could talk to them about installing sqlite3 and http://www.danedesigns.com/SQLite3Admin/ on your account. I think it may give you what you are looking for.


Oracle's Application Express is pretty well suited for this but there aren't many cheap hosts for it.


You can use MySQL...its open source, unless you want support, then you need to buy a license from Oracle. It's very simple and has a UI that will help you build your DDL.

Not the answer you're looking for? Browse other questions tagged or ask your own question.