Databases
tt380

We are introduced to databases.

I kept a blog during this course so you can read my thoughts on tt380 whilst I was doing it.
If you wish.

The Course

Was, as stated on the tin, about databases in web applications. We were introduced to mySQL, ColdFusion, examined the role of the database on the web and scalability/reliability strategies.

If you’ve worked with databases before you should find the mySQL bit fairly easy. Normalisation, entity modelling and table design were covered but not in any great depth. Basically you were learning how to construct queries to run on a pre-built database and to create tables from an entity model.

ColdFusion is a lovely language to use in my humble opinion. It has loads of intuitive functions and elegant control structures. It also gives you real control over the outputted mark-up; something that asp.NET doesn’t.

The one strange part of the course is the scalability/reliability aspect. While I understood the general principles involved I got the distinct feeling that we were scratching at the surface of a rather vast subject that would require a great deal more expertise if we were ever to get to do it for real.

There have been other weird bits in other courses; n-tier architectures in tt281 for instance. But this time it formed the basis of the report, whereas before these had just been mentioned as if in passing. That said I struggle to think of what else the report could have been about.

I carped in my blog that the course didn’t quite seem to know where it was aiming but on sober reflection I think it was nicely judged. The entire twelve weeks could have been about databases but then it wouldn’t have been about the web. ColdFusion had to be included somewhere and I think that this course was exactly the right place - people would have spawned kittens if they’d had to deal with ADO and the ASP API nonsense. I suppose asp.NET was a possibility but straight out of the box it’s the Dreamweaver of the server—a chainsaw in the hands of those unfamiliar with the axe/tree interface.

The Forum

We were required, after the first few weeks, to use a specially constructed example application instead of firstclass. I can’t help think that this was a big mistake.

Sure it had extra functionality, some of it of a potentially really useful nature, but it wasn’t a thing of beauty and it wasn’t firstclass, and as we learned on tt280 you’d better be offering a whole shed-load of extras if you’re asking your users to think.

I lost contact with the course for about a week half way through and I never caught up with the forum or the Wiki.

What did you do during TT380 neil?

Well about halfway through I got ill and this, coupled with some other factors, led me to partially disengage from the course. Which may have coloured my thinking slightly.

In the end I did get something in but I feel that it was my poorest effort so far.

An exacting analysis of past failures led me to start, and mostly finish, the report before doing the ColdFusion pages or the table creation script. This made sense as the bulk of the marks, as always, were for the report. This, may have led to the report being of a higher standard than my usual duff-job, it also led to the script and the ColdFusion pages being slightly skimped. And I seemed to have less fun. I’ll wait until I get my mark before making a judgement on whether this was a sage decision.

I completed my ColdFusion pages in around six hours. Which was pretty slick considering that I hadn’t written one cold fusion tag before minute one of these six hours. Partly this was due to having the ColdFusion plug-in for HTML-kit and partly because I was familiar with the process of what I was doing. But it was also because ColdFusion is such a nice language and that I couldn’t really bring myself to do the ‘proper job’ that I would normally (try to) do with the code.

I think that because I didn’t know ColdFusion and that I couldn’t keep up in the forum a lot of the debugging others’ code fun that I get from these courses was missing. This might have also contributed to my disengagement—I like being a smart-arse.

I’ll have passed but I think that we’re talking grade 3 here.

A good course?

Yes, I think so. The books were excellent, the course notes (aside for some mistakes that Veronica has promised to remedy before the next presentation) were generally good and the CMAs were fair.

On the negative side I disliked the forum and there seemed to be problems with the CMAs—they took ages to be marked.

Who should do this course?

If you haven’t worked with a database, or ColdFusion then this is an excellent introduction. If you have then you should probably skip it because you are going to have to have a whole lot more knowledge before you can confidently split a database over several servers. And to be frank who is going to ask us to? EBay or Amazon? I think not.

Worth doing?

A qualified yes. I don’t think that I, personally, gained a great deal from it but that’s probably because of my particular skill set. It’s a great introduction to databases and their place on the web.

Hopefully we’ll go into more detail on tt381.