M358 Relational Databases (2003)

Level 3, 30 points.

After two years with the OU I decided to try a level 3 course on the grounds that I'd have to take several of them sooner or later, and if I took an appropriate one at this time it would complete my Diploma in Computing, and the attraction of actually achieving a qualification was too great to ignore. I had developed a general interest in databases, so this seemed a good choice, particularly as I was starting to do some basic database work in my day job. Of course, life being as it is, I changed jobs shortly after starting the course.

Block 1: Information Systems

Opening the course text for this block and it became apparent that I was not in Kansas any more. Apart from the change of block numbering from Roman to Arabic numerals, there was no detailed study plan, a crutch provided for most OU courses (certainly those below level 3) which tells you which chapters to study each week. This was going to require more planning than my previous courses.

A couple of weeks later the book started falling apart, as did those of many other students given the amount of complaints about the binding in tutorials and the online conferences.

The content of block 1 was not much fun: it covered a huge amount of ground, effectively being a whistle-stop tour of most of the rest of the course, giving just enough detail to be confusing but not enough to be illuminating. I got the impression that quite a few people dropped out at this point. "Don't worry," said my tutor, "most people find it gets better in block 3." Oh dear.

Block 2: Relational Theory

In my mind things got better in block 2. This was a very theoretical and fairly mathematical part of the course which, for some reason, I just clicked with. I think the appeal was working with lovely, clean, idealised systems based on relational algebra, rather than the muckiness of real world systems. Oddly, this block focused on relational algebra, rather than the alternative tool of the relational calculus, on which SQL, used for the more practical parts of the course, is based. It just seemed a bit backwards just giving relational calculus less than three pages of attention.

Block 3: Using SQL

The third block did pretty much what it said on the tin, being one of the more directly practical blocks I have studied with the OU. Basically what we got was about 6 weeks of running through most of the standard features of SQL, from creating databases and providing users with appropriate permissions to running queries across multiple tables and implementing triggers and transactions. The course used SyBase SQL Anywhere and its attendant tools, which gave a good feel for using a real, commercial database management system.

Block 4: Development of Database Systems

Building on the diagrammatic notation for database modelling introduced in block 1, the course moved on to constructing these models based on analysis of business needs and take them on through relational modelling (as per block 2) and normalisation techniques (basically reducing the output of the analysis to a mathematically "nice" form) and on to designing and implementing a database using SQL. The block even discusses "denormalisation", the process whereby some of that lovely mathematical normalisation process is undone to take account of the real world being a messier place than a purely theoretical relational land and how sometimes compromises have to be made, largely in the name of performance.

Block 5: Database Issues

As with several courses I have taken, the last block is a bit of a rag bag of assorted topics, briefly covering areas that are too good to be missed out but there was not enough space to cover in detail. Here we have such gems as distributed databases, data warehousing and data mining (also known as knowledge discovery, which looked like a fascinating field).


I was surprised at how earthy and realistic this course was and came out feeling that I had a good idea about what relational databases are about. Of course, this by no means made me a database expert and, in real life, most established database applications will be messier than the most nightmarish situation covered by the course, but I felt this was a good grounding in the field and a very rewarding course. It even had me starting to consider taking the database option for the compulsory project course that I would be taking before completing my degree.

This page last modified: 2005-10-26.