I'll mention EDB, emacs data base, here, even though I haven't used it for several years.  

http://gnuvola.org/software/edb/

It's available on many GNU/Linux distros, as a package.  It is for Gentoo, and perhaps for Debian/Ubuntu as well. 

It is extensible/programmable, so that various interfaces could perhaps be possible.  I spent a little time years ago setting up an Addresses database, with output formats to automatically set up a LaTeX header for each marked address.  It was a bit klunky, to be sure, but it worked REALLY well, and it worked the way I wanted it to.

It's an old piece of software.  I tried it lately with my address DB, with Emacs 23, so it may just still work fine.

In the examples directory, above, are a rolodex database, possibly somewhat similar to what I had going, and some other examples.   There has been some relatively recent effort into maintaining EDB.

I write this not as a programmer, but a user, just to point to something that has worked well for me in the past.

Alan Davis