Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've been a bit weary about approaching learning databases. I've dabbled into them before, and "DATA" in itself appeals to me a lot. Maintaining/searching/moving, everything about it in the abstract sense I love. (This isn't a career question, this is a learning question.)

But as RDBMS's begin to be easier to maintain, and with tools that "anyone" can use to manage data I feared for the database admin jobs. (Yet I see jobs for SQL everywhere!). I know "No-SQL" was a big deal but it kinda has its niche.

But that leaves me here... unsure of really "what" to study. What tools should I have in my tool belt?

I'm sure RDBMS's will be around in both use and maintaining legacy code. But what else? Obviously data will always be around, but is this a secure field or a dying one? And what should I be concentrating on?

share|improve this question

closed as off topic by Oded, Robert Harvey, Walter, Ryathal, Jarrod Roberson Nov 20 '12 at 21:58

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

Maybe more on topic on dba.SE? – Warren P Nov 20 '12 at 19:50
I feel like is more like Stack overflow (Specific coding examples and such) – user6791 Nov 21 '12 at 0:46
Yea, no... Programmer.SE has an identity crisis. It's not StackOverflow and it's not coffee-klatsch either. It's some weird undefined thing (The FAQ reads like a religious text). Frankly I find the close-police on Prog.SE a reason enough to just leave this site. Check out Math.SE for an example of a site that still encourages Help Me Learn style questions. – Warren P Nov 21 '12 at 14:27
Well It was closed at so apparently questions like this basically can't go anywhere lol – user6791 Nov 21 '12 at 16:16
up vote 2 down vote accepted

People always worry about "is my favorite technology dead," but don't consider the advantages of learning it anyway.

Learning SQL will serve you well; it will teach you set theory, which will help you tremendously in your programming career even if SQL databases disappear tomorrow, which they won't.

NoSql is not a replacement; it is an alternative. See also:

share|improve this answer

I've focussed myself on MS SQL Server a few years ago (read: 2006). You've already pointed out the tooling is a lot easier these days, so it's rather easy to learn to maintain a (small) database.

When you are serious about creating databases, there's still a ton of stuff to learn. You can look into replication, mirroring, fall-back scenario's, point-in-place restores, sharding, performance, indices, BI, Analysis, Big Data, etc.

I've also done a SQL Server training of 5 days, which helped me understand the enterprisy features of the product. That's because most of us haven't got multiple servers in place with the requirement of mirroring, performance, etc. In such a training you can exercise these things and maybe specialize in it.

For MS SQL Server, you can try out the certification path. The trainings are quite good and you'll cover a lot of the product. I assume Oracle also has some training set up for their product.

When you're familiar with one of these commercial products, you can always decide to look into one of the smaller products (PostgreSQL, MySQL, SQLLite or any other). They probably work about the same, just with less features.

In our country there's also something called a 'SQL Saturday'. Which means you'll meet up with other SQL people (on a saturday) and have sessions about the product. It's quite fun and you can also learn a lot.

share|improve this answer

Honestly, I hear all the buzz about object-oriented databases, how well-known Web 2.0 and 3.0 sites are using NoSQL, Raven, Mongo, (insert non-SQL DMBS of the day here), etc for data persistence. All that goes in one ear, and in the other, the boss of my day job is asking for a new table, column, index, stored proc, view, SSRS report, etc etc. to go behind the brand-new never-existed-before C# web or Windows app we're developing.

SQL's not going anywhere. I just got a headhunter e-mail not half an hour ago asking for 2 full-time SSRS developers; the company wants two people whose only job will be to design queries and report forms against a SQL database, and apparently they'll pay pretty handsomely. I know my own company will not hire a developer without at least a basic knowledge of SQL DDL/DML, because if you don't know SQL, you don't know how to make your application save its users' work, and frankly the rest of us don't have time to implement your DAL in addition to our own.

As such, there remains great practical value in learning it, and you should not be hesitant to do so.

share|improve this answer