I’m thinking of taking a course in Web Site Design and I’ve been offered an option in Databases? Is this something I need? I really want to build great websites but I’m not sure whether learning about databases will help.
An interesting question, and certainly one that most veterans in the industry don’t even think about, as it’s the sort of thing people can take for granted. The short answer is that learning about databases won’t help you build more visually appealing websites, but databases will help you create more powerful and useful websites than ever. But let’s start at the beginning. What is a database?
Wikipedia defines it quite succinctly:
A Database is a structured collection of data which is managed to meet the needs of a community of users.
The key word here is “structured”. A database allows you to store large amounts of information in a known format and this gives a website designer lots of power. To give an example, I’m going to use a website that lets you book hotel rooms around Europe called Let’s Book Hotel. In this case the website has a large number of hotels stored and allows you browse through them, search for particular features and potentially even make a booking. I’m less interested in the booking facilities and more in how the data is structured.
Lets say you wanted to build a similar website to this. How would you go about it? Well, one way would be to build a separate webpage for every hotel, put all the information about that particular hotel on that page, and link to the page from a main page. Users can then browse your website and move from one hotel to the next. It does the job, but think about how you would manage this if you have thousands of hotels and you wanted to change the colour of the page for example. It would be a nightmare to do this. Also, you won’t be able to offer comprehensive searching facilities. For example, if someone wanted a hotel in Cyprus priced between £20 and £50, how would you filter the pages to make sure only those would appear?
A database could address all these issues. If you had a database sitting behind the website, you could store all your hotel information in this database, then have one page that requests the information based on what the user is searching for. So for example, if he is searching for hotels in Blackpool you would return a subset of the information. Likewise, if the user searches for hotels in Liverpool you would return a different subset. You could also use the same data to populate different searches, for example searching for hotels in the Isle of Man returns hotels in all the area that form the country.
As you can see, databases are an extremely powerful tool in a web developer’s arsenal. All the big websites run on databases, becuase it makes them easy to manage and because it offers an unprecedented level of power. Some things would just not be possible without a database driving the website. So my advice is, if you can, take up the database module too, it can make a great difference to the websites you build.
In the example you have chosen ‘Hotels in Blackpool’ you would certainly need a database. It is estimated there are over 2500 of them clustered in an area of about 3 square miles.
I have designed and built my own websites and it clearly takes a lot of concentration when you take your first steps into getting around html. For a novice looking at the page source for a web page such as this one it is gobbledygook but as progression is made the tags start to make sense and things become much easier pretty much like learning to drive, terrified as first in making an error but confidence grows as understanding takes hold.
Now databases and SQL a whole new kettle of fish…. Am I ready to take the plunge? You are never to old to learn…..
I have to chip in that outwith the whole web design field, having an understanding and appreciation of how data is and can be structured is really important and can lead to a career all of it’s own (which pays much better than web design I may add).
An amazing number of bluechip companies are genuinely scared of looking at their data and databases so a practical knowledge of this sort of thing is a huge selling point for yourself.