Wednesday, 12 October 2011

What colour do you want that database?

Like many people, if someone said 'database' to me, I'd immediately think of a spreadsheet.  So when I knew we were learning databases this week, I was a little freaked out since frankly I hadn't done spreadsheets since I was in secondary school.

Needless to say, as with most things on this course, my preconceptions were totally wrong.

Like the internet, databases have a longer history than I'd thought.  But of course, back in the day there was a lot of duplication, inconsistency and redundancy of data.  Nowadays we tend to store data centrally, in order to mitigate these problems and aid the fast retrieval of data.

As an introduction to databases, we learned the basics - querying them using SQL.  In the lecture, it all seemed fairly easy, logical and generally straightforward.  I have to admit, I haven't got the most logical of minds, but once you get something, you should be able to follow the logic to its natural conclusion, right?

Heh heh.  Sitting in the computer lab after the lecture, my mind hit a complete blank.  What did I just learn?  How does it work again?  Like maths, it's like breaking a code - once you know the formula, it's easy to unravel the answers.  And I found I hadn't quite got a handle on that formula.  A proliferation of bad and incorrect commands followed.  And even more than that, a whole lot of simple, straight guessing.  Sometimes I would guess and guess until I gave up.  When I finally asked for help, I realised that there are just some commands you need to know; and that once you know them, you have the key.  A whole lot of doors unlocked.  Every time I learned a new 'key', it made it easier to guess what the answers to some of the exercises might be.

Still, it took me an evening of querying the Database Management System at home before I managed to complete all the exercises.  I recorded each answer, because I knew that if I didn't, I would forget them.  The best analogy I can come up with is SQL is like learning a language.  You will never learn to speak it fluently unless you use it, and if you don't practice you will get rusty.  So I am now spending my time making random queries of the database, trying to get it all to stick firmly in my head.

And I guess it will - after a million or so queries of practice. ;)

Yup.  Exactly what I would've said a few days ago...

No comments:

Post a Comment