Friday, December 23, 2011

Database Management

I really enjoyed this course. It was a good foundation of database skills, which I have used in multiple jobs. It was also fundamentally well designed, building from basic terminology to practicing part tasks to a final project of our own choosing. I would throw out there the random made-up statistic that half the spreadsheets that exist in the world would be much simpler if created as a database instead. I wish everyone could take this class.

We started out learning the basics of databases. What's a table, row, query, DBMS, join, etc.? Unlike the class I had taken where I should have learned some of these introductory concepts, it was actually clear this time around how they would be used.

We progressed from basic concepts to writing simple queries to create tables, load data into them, and query their contents. From there we got into various types of joins and the dreaded subquery. We did some relatively complex things, but nothing too out of control. For our tests, we could bring a single page cheat sheet (that I still have a copy of) with whatever example SQL syntax we wanted to include. So like you might have reference material in a real world situation, we could have some to remind us of the basics, but you still had to be able to understand the examples well enough to modify them so they would do what you had to do quickly on the test. Of course, as Mike Seaver learned in the classic Growing Pains episode, you learn the material better by making the cheat sheet in the first place. (Just don't let your teacher see the bottom of your shoe if it's not allowed and that's where you wrote it.)

We had plenty of time in class to practice our new SQL skills on our own and in groups, learning from mistakes and celebrating successes. Ultimately the course built up to a culminating project. It had to have a database of some kind involved, obviously. Other than that, it was up to us to determine what we would implement based on the other technical skills we had. I don't remember what my project was other than I worked like crazy on it, and it ended up close but never functioned quite right. Thinking back on it, I doubt the professor spent much time actually using our final projects and checking in depth how well they worked, as long as our documentation was in order and it looked like we had done something big enough, but it was motivating to be able to choose our own project and figure out how to make it work.