crenz said:
SqLite is a wonderful open-source database that will store all your data in one file. You can just link the library into your executable. It is cross-platform and cross-language, so it should be rather future proof for your project. Also, it is rather speedy and supports transactions.
No need to use Java, unless you have lots of time on your hands
.
I have to agree that SQLite is a very good choice. Its not like your average DBMS which runs as a separate process and is instead a tiny library with easy to use C functions. Its mostly a lot better than the rather poor mysql database since it supports basic features like nested queries (which mysql unbelievably doesn't yet!) SQLite is also included in Tiger but you could easily install it with your app for older OS version should you choose to support them. The biggest limitation for me in SQLite (other than not being able to connect to it via a network) is that it doesn't support "ALTER TABLE".
Another great DBMS is PostgreSQL. This ahead of mysql in almost every respect and is, in my opinion, an all round better solution. It supports just about every feature of modern SQL including PL/SQL. Unfortunately I doubt it supports Java stored procedures but I seriously doubt you will be using them. You could include an installer for this with your application.
Here are the technologies I'd avoid:
1) RealBasic - Expect people to hate you and your application if you use this. I've never found anything I can stand using written in this pile of ****.
2) MySQL - Of all the biggish open-source databases this is probably the weakest. It popular but there are much much better solutions out there. Version 5 is looking promising though (and even 4.1 seems to make some great additions).