Choosing database
I'm having a rough time deciding which DBMS to use.
I'm building a small Windows Application and I needed the database to be a local file, just like MsAccess (.mdb). But at the same time I need this to be secure so that only the software can modify the data in this file.
And I'm not sure whether MsAccess gives you that safety... but then, it's the only DBMS that I know that can be stored locally...
And this application is not big enough to deserve a whole SQL Server installation for each because it will have only two tables without any relation... I'd need a DBMS for primary key control and select/update/delete...
I've also considered an xml configuration fille but that would give much more trouble for controling everything and there is also the security problem...
Thanks for the help!
You got me.
That sounds good but I've never done anything like that... care to point me at some good references?
The ammount of data will be really small... usually 1~50 records... but could grow up to 500 (very unlikely but still possible)
If you go for the SQL Server Compact option, don't forget to check for licensing issues if you need replication/synchronization.
As Lowendahl suggested, a DataSet migth be a nice option if it's not too much data and you need most of it most of the time. Using the Visual Studio DataSet designer you even get a nice ORM-like access to your data.
I'd look at SQL Express, embrace the stored procedure

Maybe(?!) overkill for 2 tables though but I do enjoy the stored procedure.
From your description I am not sure why you would use a database at all
You might have a simpler solution by having all your information in memory and just serializing/deserializing objects to disk
If you feel you need the transactional behavior that a OODB like http://www.db4o.com/ would probably do the trick
Arnon
I agree with Ron, SQL compact or SQL Express. It is small, lightwieght, full of features and always ready to scale. Datasets are ok, but why bother writing all the persistence and consistency code when it is so much easier to write against a database.