Click here to Skip to main content
15,886,857 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Dear all,

I'm writing a database application. When I create new database project I can choose type of my database, from the list, among whose items are Microsoft Access Database File, Microsoft SQL Server, Oracle Database, and so on. My problem is that I don't know which to choose.

I would like to store some string, numeric and date/time data and also some images and videos in my database. My application should be able to create new and edit existing tables and create new databases. But I would like to achieve this with as small and as independent application as possible. For example application which can not work properly without Microsoft SQL Server being installed is not satisfactory.

Can someone please help me choose database type?

Thanks in advance.
Posted

Don't use access - ever!

If you are considering Sql CE - take a look at SQLite[^] - and don't use either if you can avoid it, go for a "real" RDBMS like:

SQL Server 2008 - you are free to deploy SQL Server 2008 Express with your projects.

Firebird[^] can be deployed as a server or in embedded mode.

Oracle is extremly robust - but it will probably be expensive to deploy.

images and videos requires blob data, both MS SQL server and oracle are able to handle this intelligently. MS SQL has FILESTREAM[^], and oracle has something similar.

Regards
Espen Harlinn
 
Share this answer
 
v2
Comments
Sandeep Mewara 6-Feb-11 11:13am    
Rigtho! Deserves 5++!
Espen Harlinn 6-Feb-11 11:23am    
Thanks Sandeep Mewara!
fjdiewornncalwe 6-Feb-11 11:27am    
Yes. NEVER use Access. With SQLite out there, there is always an alternative.
Espen Harlinn 6-Feb-11 11:59am    
Thanks Marcus!
dsnlkc 9-Feb-11 14:24pm    
Thank you Espen.

I've been looking over database types you suggested and I think SQLite is the best suited to my needs. I wonder why did you say not to use it if I can avoid it? If you said so because it is "serverless" and "zero-configuration", as it is written on its home page, than I still think it suits me best, because I intend to use it just to store some data in it, data that is relevant only to my application. In other words my application will use it pretty much the same way Microsoft Word uses *.doc files, so if you think that database of some other type will better fit those needs, please tell me.
Also I would appreciate if you recommend me some documentation or tutorial about using SQLite in C#.

Thanks again.
definitely not the oracle, you might need to go with sql with sqlserver express or access.
 
Share this answer
 
If portability is the issue, I would choose SQLCE (MS SQL Server Compact Edition).
It does not have all the features of the full edition, but it doesn't require installation.

I wouldn't use Access : No views, no stored procedures.

Cheers
 
Share this answer
 
Comments
dsnlkc 6-Feb-11 5:35am    
Have you ruled out Access only because of the lack of views and stored procedures? My program will not be too complex and time consuming so stored procedures could be replaced with queries and I probably will not use views anyway, so Access would still be one option.
Estys 6-Feb-11 6:14am    
It has more limitations : database and table size are limited, less functions in queries.
Don't get me wrong, I'm not an Access-basher, I've used it in a lot of projects. Access is more an application platform than a database.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900