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.