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.