kpreid: (Default)
Kevin Reid ([personal profile] kpreid) wrote2008-10-30 04:22 pm

Database document software?

Something I've wished for several times recently is a database-document program.

By "document" I mean that the database is a single file, which I can move, copy, etc., as opposed to living in a database server which has to stay up, uses accounts and ACLs, needs special backup procedures, and so on. It doesn't need to support humongous data sets — fits-in-memory and even linear searches are fine.

I am aware that people use spreadsheets for such purposes, but I would like to have named, typed, and homogeneous columns, easy sorting/filtering/querying, etc. which I assume I'm not going to find there. Relational would be nice too.

It must be GUI, and run on Mac OS X, but it doesn't have to be thoroughly native — I can stand the better sort of Java or perhaps even X11 app.

And finally, it should have a file format that either is obvious how to parse, or has a specification, or is supported by many other programs.

Does such a thing exist?

(If not, I might write it.)

[identity profile] crschmidt.livejournal.com 2008-10-30 09:55 pm (UTC)(link)
I think this is typically "MS Access" in the Windows world. It seems like a GUI around a sqlite database might be able to do what you want, depending on how friendly the GUI to be, though the 'typed, homogenous' columns might fail you there.

(I've, generally speaking, become much more of a fan of sqlite over the past year or so.)

[identity profile] kpreid.livejournal.com 2008-10-30 10:34 pm (UTC)(link)
I was thinking that myself, but I don't know anything about sqlite.

Does sqlite's file format meet my criteria? My use case is “I wrote this db-document ten years ago, I've changed/upgraded my computer/OS/apps, can I still read it?”

[identity profile] crschmidt.livejournal.com 2008-10-31 12:03 am (UTC)(link)
sqlite is backwards compatible, I believe: 3.x can read 2.x. (I don't know about 1.0, as I've never seen any sqlite 1.x data.) It appears as if 2.0 was released in 2001.

So, '10 years' is questionable, but sqlite hasn't changed much in the past Long-Time, and the development seems to keep backwards compatibility as an important principle, as I understand it... but I'm not positive.