What's the best database for small programs and tools? I made use of paradox, gone to live in SQL Server, now I personally use Blackfish. But they are there other small , free databases for small programs and tools. Thanks

Do you want concurrent connections/transactions towards the database?

If you don't, SQLite is what you want. Lightweight, could be packed together with your applicaition, so deployment is actually easy.

Should you choose need multiple connections, I would recommend MySQL. Personally I am not a fan of MySQL (really, I truly can't stand it) but I must admit that it's the best database for lightweight server programs undoubtedly.

For single/non-concurrent programs:

SQLite is extremely nice for small, non-concurrent programs. It's not hard to deploy and employ because the DB is usually only a single file and also the libraries to gain access to it are extremely light.

If you are implementing an easy application or tool, this is actually, great.

For concurrent customers/programs, or large datasets:

You've got a large amount of options:

The greatest down side is they weigh more to operate and may become more hard to deploy.

They are doing possess a lot bigger feature sets, though.

Should you by small you mean no installation/embedded databases certainly take a look at SQLite and Firebird Embedded. Neither require any kind of installation and, when they are only able to handle just one concurrent connection, are feature wealthy so far as SQL implementations and Relational Database features. Both of them are pretty platform agnostic and also have delphi motorists too I believe.

If by small you mean easily configurable and and small footprint take a look at Firebird and MySQL. Both of them are pretty portable across platforms and pretty feature wealthy. I am really a MySQL fan since version 5 has trained with more fundamental relational database features.

I made use of SQLite with positive results within an application like a file structure, each file you opened up was it's own SQLite database. I have also had positive results with Firebird with an item which scales from one connection along with a a few mb of information to installations of 30+ concurrent connections and 10's of gb of information. With very little fine-tuning.

Firebird may be used either being an embedded server or as full featured SQL server in 2 tier client-server programs.

SQLite was already pointed out there is however also Firebird and SQLServer Compact Edition.

VistaDb can also be available however it is a commercial product

I have personally used the SQLServer compact edition and located it nicely combines with .internet however you will find certainly some restrictions which you can examine out.

If you wish to do better still than SQLite, I'd recommend DISQLite3.

It's a relatively affordable product according to SQLite, however with improvements to operate in Delphi very rapidly, with really small overhead, with command-based calls - that we like. It's positively under development and works under Delphi versions from D4 to D2009.

You will be hard-pressed to locate another that's as quickly or uses this type of small memory footprint.