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?
- Freedom: Freedom to do some really cool stuff. For example, any website that allows user interaction requires a database. You can expand on many of your other projects in new ways.
- Job Market: It’s selfish, but you’re much more marketable if you know how to work with databases, as nearly all companies use them in some way.
- Why Not?: Why does a man climb a mountain? Because it’s there!
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