Register / Log in

Okay, so maybe puns on the ‘all your base are belong to us’ is a bit old and overdone…. eh.. I still like it.

So, Databases, huh? In college, I was a little terrified of them. I’m slightly ashamed to say that I never touched them as part of my curriculum. There was one class where it was suggested, but not required, that we use a database to support our front end. I tried to replicate what the professor had whizzed through in class, but got frustrated and confused, and then said “[Color-Metaphor] it! I’m just gonna use an XML file instead“. The XML file kinda worked… a little, but not very well.

Why was I so afraid of them? Mostly because I being a wuss about the unknown. It sounded dark, and spooky, and mysterious…..and, I’d heard plenty of my other CS friends complain about them. I’ve since fallen in love with databases. In particular, I’m a big fan of Microsoft SQL Server, and am now convinced that every programmer should learn databases.

Why?

So where to get started? If you pick up a book, it may be easy to become confused quickly. There’s ‘database design’, talk of indexes and tables and query optimization… what in the world is all this? It’s okay, it’s not that bad. Promise. Here’s my advice for database virgins. Think of it, at least at first, as a special kind of command prompt. You have the database in all of its glory, and you interact with it by using a language called SQL. SQL is often (but not always) entered into a database client.

The database management system is analogous to the operating system kernel – it does it’s magic, and you don’t have to worry, know about, or understand it until you’re ready.

The SQL client is analogous to the OS Shell (like a DOS or Linux command prompt) – it let’s you enter in commands to be handed off to the db engine. The alternative to using a SQL client is putting the SQL directly into your PHP, or C#, or whatever other technology you’re using. That’s good and all, but a bit out of the scope of this post.

I’d recommend getting a basic understanding of SQL as your first step, and then ease yourself into the rest of the database world at your own pace. First, either find a database that’s already set up, or install your own. Don’t worry about getting “good database design” down yet. Just get something crude working, as your goal at this point is just to learn SQL.

If you want to start learning SQL, I’d recommend one of the following

Good Luck!

View Comments

blog comments powered by Disqus