general database question
I am fairly new to programing. I can write some decent basic apps. I want to start writing more complex apps and realized I will need to learn more about using databases in my programs. for my first attempt i want to make an application to track my and fill ups for my car. any suggestions on what types of database solutions i should start learning would be great.
Mahesh ChandPosted Aug 19, 2010, 11:41 AM
Mamta has suggested all three top free databases out there.
1. Access has limitations and you won't be able to use many features including development with stored procedures. In many samples and tutorials, you will see stored procedures are used.
2. MySql has open source but not easy to learn and does not have a good UI or designers
3. SQL Server (including the Express versions), you can open database in Visual Studio and use Visual Studio tools to anything you want including test your queries.
Sam HobbsPosted Aug 19, 2010, 1:51 PM
Note that you were asking about distributing your data across systems, and that is usually done for very large systems. I really think that a beginner would be more likely to develop an application that could be used in a mobile device as well as a non-mobile device.
As for "embeded in an application" and "part of the application and its storage", it is better that you get a little experience with SQL Server. Note that Microsoft has already provided a lot of tools and such for installing applications that use SQL Server.
It is true that most everything you learn using SQL Server Express will be relevant to SQL Server CE too.
See my article Database Table Update in a DataGridView without Writing Code. If you use Visual Studio to create applications that have forms bound to a database then you can do a lot of database programming without writing a lot of the details of the database. There is something even newer called entities that I know very little about but you might want to learn about that too. Look for books about that stuff; that is, TableAdapters, bound forms and entities.
Mahesh ChandPosted Aug 19, 2010, 1:15 PM
You can also learn more about databases and SQL Server on dbtalks.com website.
Robert LeePosted Aug 19, 2010, 1:10 PM
one question i have come to after my morning of reading is: can sql server compact be embeded in an application? this is the idea i come across when i was reading an over view of the the different versons of sql server. although i just started reading about sql server i cant see taht mobile phones would be able to run a server all of the time. i would think it would have to be part of the application and its storage.
Sam HobbsPosted Aug 19, 2010, 12:16 PM
It is possible to use distributed databases in which the data is in multiple systems and such, but do you really need to do that now or are you just curious? There are many books that will help you much more than the volunteers here can.
Mahesh ChandPosted Aug 19, 2010, 12:11 PM
Download and start working and come back when you have more questions :).
Limitation with SQL Server Express versions: You can have only one connection at a time. I wish Microsoft change that to at least 5 connections.
To answer Sam's question, MySQL full version is FREE.
Sam HobbsPosted Aug 19, 2010, 12:09 PM
Another option is SQL Server Compact Edition (CE); it is also free and it works with Windows Mobile.
Robert LeePosted Aug 19, 2010, 12:07 PM
Mahesh ChandPosted Aug 19, 2010, 12:01 PM
It is recommended, you install SQL Server on your development machine.
You can download all Express versions here free.
http://www.microsoft.com/express/downloads/
Robert LeePosted Aug 19, 2010, 11:56 AM
Robert LeePosted Aug 19, 2010, 10:58 AM
Mamta MPosted Aug 19, 2010, 12:40 AM
Get a strong ground up by learning general database fundamentals (thru web-based tutorials or books). For the actual software, you can go in for any of these:
a) Microsoft Access (get the trial version if need be).
b) Microsoft SQL Server 2008 (trial version)
c) MySQL, which is open source
If you want book suggestions or online tutorials, please ask.