I'm here because I need somme advices about the best DBMS to use in my case. Indeed, I've only studied the theory about the databases. So I don't know a lot about the pratice.

I'm searching after a free DBMS if possible, which provides the following tools :

Trigger/Check Procedure View

The database must be adapted to be installed on a hard disk locally. This database will be used by C# applications at first time and so with .NET

Which is the easiest to use according to my case ?

Thank you for any help.

  • Multiuser? Singleuser? How big will the databases get? Aug 28 '13 at 8:42
  • Single user and the database will not have hundred tables but easily millions of records. Also, it must be easy to deploy.
    – Kyoros
    Aug 28 '13 at 8:51

The well known players in the database market have cost free editions (usually called Express Edition) of their products available, e.g. Oracle Database Express Edition, SQL Server Express Edition, DB2 Express-C and probably more. They are usually limited on CPU usage, RAM usage and data volume, but provide the features you need just like their costly companions.

However, when it is coming to the handling (installation, maintenance, backup&restore) they are "real DMBS" as well and not necessary end user friendly all the time.

For a broad deployment (e.g. all desktops of a company) there is the concept of "embedded databases" like SQL Server Compact Edition, which gets linked to the application, is not even a seperate process and aims to be free of maintenance.

Unfortunately the feature set of the Compact Edition is too limited for your requirements I think. A quick overview on the features and differences can be found here

  • By following your recommandations, I think that in my case, the best solution is an "embedded databases". Indeed, I need that the user has a easy way to install and use the software with its local database.
    – Kyoros
    Aug 28 '13 at 10:13
  • Sadly this one normally has SERIOUS Limitations. Hundreds of tables, millions of records MAY be outside of the embedded scope for SQL SErver at least. There are some commaercials out that cna handle that though.
    – TomTom
    Aug 28 '13 at 10:18

I think you have two that I would recommend:

The first is PostgreSQL, which runs on your local computer as a database server. It has an impressive feature set and allows stored procedures to be written in a number of languages (including PL/PGSQL, PL/Perl, and PL/Python). It is free and it is enterprise-grade. PostgreSQL ideas have made their way into Informix and elsewhere.

The second is Firebird which is the open sourced version of Interbase. It contains triggers, stored procedures, and more, and is free. The feature set is not as large as it is with PostgreSQL in terms of programmability, but it has the additional feature of being able to be run as an embedded library in the process of your application. PostgreSQL also has a larger community.

Not the answer you're looking for? Browse other questions tagged or ask your own question.