Skip to main content
an eclectic collection of interesting information about health, work, money and life style.

Databases, what are they and do you need one?

Database is one of the most commonly used terms that one encounters in web site design. Yet, what they really are and whether they''re essential is often not clear to novices.

A database is a collection of organized data, stored in files that have a specific structure. It''s that organization and structure that allows for easy and rapid storage and retrieval.

The need for a database generally only arises when you have a certain amount of information and that information needs to have some structure. If you have a half-dozen names and addresses to store, a database is usually overkill. If you have a blob of data with no relationships between any of the items in that blob, maintaining a database is usually more trouble than it''s worth.

Maintain a database? Yes, like other complex systems a database, to be effective, needs to be designed properly at the outset then kept ''tuned'' for good performance. The alternative is to gradually allow the database to become more and more disorganized. That leads to difficulty in use, poor speed of retrieval and more frequent failures.

With MySQL, Access or MS SQL Server, the three most common choices of database product for web sites today, setting up a database is relatively simple. Even those with limited technical skill can get one up and running just by following some simple instructions. But some thought should be given to how you want the information organized, and to maintaining the system during its lifetime.

Suppose you have a set of names, addresses, email addresses, products purchased, date purchased and amount. If you have only a few dozen records it matters very little how these pieces are arranged and related. A database usually isn''t even warranted in this scenario. Once you have several thousand or more records, it matters a lot. Speed, the ease of expanding the set of attributes (like adding, say, product category), and other issues come into play.

Even those with little technical expertise, but a willingness to exert logical thought and invest some time, can build a very robust database. Think about how you would organize a set of data (called "tables"). Should Name, Address, and Product be in the same table? Or should the personal information be stored in one table and any product information (product, price, ...) in another?

Some experimentation may be needed to get it right, but the choices have an impact on how easy the tables are to maintain. It also affects the speed with which programs can fetch old data and store the new.

Having a database also introduces new maintenance issues for the server administrator, since backups usually need to be done differently. Recovering a failed database is usually more complicated than simply re-copying files from yesterday. Ask your hosting company what tools and skills they have for dealing with any database system you consider.

It''s true that introducing a database creates more complexity and the need for additional thought and administrative effort. At a certain level, professional expertise will be needed. But clearly the advantages outweigh the costs in many cases. Companies large and small eventually use databases to store and organize data. At some point, you may be fortunate enough to be one of them.