Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's a good starting point, tutorial, or project, to learn database programming?

I've been a Software Developer now for over 10 years. I've mostly worked in Embedded C with some time spent on C++ (limited) and Java.

I'm looking to learn some new technologies and skills. I thought that database programming may be interesting to learn. I would like to make my own pet project in order to learn these things.

My platform of choice is Windows but can work in Linux also.

My ideal pet project would involve a GUI and some network/internet programming also which I have some experience doing.

I wouldn't mind getting into C# but don't want to bite off more than I can chew right now as my spare time is limited.

If I understand correctly SQLite allows for programs to use a database without running an ODBC server. Is this correct? Is that a good place to start?

What can I do to start that is not too complicated but not so simple that I won't learn the details also?

Your opinions and feedback would be appreciated.

like image 429
DarthNoodles Avatar asked Apr 09 '10 14:04

DarthNoodles


1 Answers

If you're wanting to learn database development (schema design, query languages) then you can use any of several technologies. SQLite, SQL Express (Microsoft), MySQL are examples of relational RDBMS. If you want to learn those you'll need to learn their SQL dialect. Good schema design practices are essentially the same whichever you use.

If you want to write database-dependent applications, you can use C++, but if you're looking to write GUI applications I suggest you consider digging into C#. The syntax is close enough to C++ and Java that I don't think learning it will get in your way as you focus on the database stuff.

There's also "dictionary" databases like MongoDB and NoSQL that essentially store data graphs. These are becoming more popular and allow developers to worry less about schema and more about the solving domain problems.

As for application ideas- start simple with a to-do list. Expand it to make it useful, as you do that you'll have to learn things to make it work. Once you're comfortable with the basics, go looking for open-source projects. CMS projects like DNN (which is VB) or Umbraco (which is C#) would be good learning tools.

like image 190
Dave Swersky Avatar answered Oct 04 '22 20:10

Dave Swersky