Doing a db wouldn't be hard to do. Why, because I essentially did all that work already for my frontend.
My FE is in flash. Flash does no db. So I made a commandline interface to my access db using vb.
Now, someone might say they don't want to use access, but want MySQL. Easy enough. It'll be open source. Chagne the connection string and compile:)
I have ideas on how the layout of the db should go (and relationships).
First, a good start is to make one just for mame, then expand it to make it general.
If you are curious about what my vb backend does give me an email. It takes some explaining as it was made to work with flash (ie output is in webform text).I also emailed mame.dk about their db. I see it was mysql (cool). They have a great db that would be a great start for relationships.
Example of a feature I put into my db, you can rename the game name. Like pacman (since that is my fav game). You do a listfull in mame you get these:
Pac-Man & Chomp Chomp
Pac-Man (Hearts)
Pac-Man (Midway)
Pac-Man (Midway, harder)
(games with different revisions have this problem too)
Now lets say for your FE you JUST want to show "Pac-Man" which will point to the midway version and don;t show others. My DB will be keeping track of that.
Questions about mame for this project:
Can you get parent/game rom relationships?
Bios roms?
Clones?