(I tried posting to programmers.se but was told this might be a better place) My apologies if this isn't true

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?

  • 2
    I've never known an unemployed DBA. Read up on the fundamentals, possibly working towards a product certification - and get to work :) – Roy Nov 21 '12 at 8:55
  • 1
    This is not a stupid question, so I don't understand why the downvotes. Posters, please explain them, don't just throw them around. Anto, that's not a valid comment; please fix your keyboard, it's broken. As for the question, yeah, it may be closed according to meta, but still, the man needs an advice, and who can better advise him if not DBA.SE? – Marian Nov 21 '12 at 9:42
  • 1
    @Marian sorry, I respect your view on this but my reading of the faq is that this is off-topic (which is not ta say it isn't a good question of course). Feel free to bring this up on Meta if you want that changed... – Jack Douglas Nov 21 '12 at 14:45
  • @JackDouglas: I respect your view too, as such I understand the idea that it can be closed and that's according to the FAQ and the site laws. What I don't understand is the down votes, as if the question is completely wrong or vicious. But that's my take on down votes, to only give them scarcely :-). – Marian Nov 21 '12 at 14:56
  • @Marian ahh, I understand. The DVs might just be from folk who haven't the rep to VtC though. – Jack Douglas Nov 21 '12 at 15:41

For development you should learn:

  1. SQL including optimizations
  2. DDL (table creations etc.)
  3. plpgsql, PL/SQL, T-SQL (native database language to write procedures and functions)
  4. good to know C, java, scripting languages
  5. jdbc how it works
  6. storage - how db store data and which solutions are faster then another

For administration
all above, scripting languages is a must
7. everything about operation system that you will work with
8. storage maintain
9. a lot of measure possibilities how server works (monitoring)
10. installations, upgrades - OS and db system
11. archive possibilities
12 high availability possiblities

and for both, a lot more things

About tools you have to know how to work with console very good in case that tools cannot connect at current time to db but you can connect to server itself. Other tools are usually database system specific.

| improve this answer | |