Database design course


Modern graphical tools make it easy for a novice who knows nothing of the principles of database design to create a simple database. These tools are invaluable but the danger is that they concentrate on the appearance of the database forms and reports on screen, rather than on the way that the data should be stored and structured in an efficient relational database.

This visual approach allows a user to produce a good-looking database very quickly. The database will accept and display its first few dozen entries and might work well for many months. As the volume of data grows though, drawbacks in the underlying structure may begin to appear and users can face three problems.

Performance

All databases will slow down as they grow larger but some suffer worse than others.

  • An average design will slow down in step with the growth in the volume of data being stored. It will halve in speed when the size doubles and will fall to a tenth of its original speed with ten times as much data.
  • A good design will slow less drastically.
  • A bad design might slow with the square of the size - falling to a hundredth of the speed with ten times the data. It is very common to meet a database like this which worked well under test conditions with a few dozen records but which has slowed to a crawl in production use with thousands of records.

Different types of database need different designs. Some must be optimised for speed of manual data entry, others import their data electronically from on-line sources but must be organised so that regular reports can be produced easily.

Integrity

The data being held must be accurate if it is to be of any use to the business. Poor design allows inconsistent values to exist or relies on users copying entries from one place to another.

Inconsistent data is the worst failing that a databsae can suffer from. If an item of data is completely and consistently wrong then a user can apologise to the customer or manager for the mistake, put the data right and be confident that they have fixed the problem. When a database holds inconsistent data then users begin to mistrust it. They find that a name has been spelt wrongly and put it right but then they find that the name is still coming out wrong because the database holds duplicate and inconsistent values. Users (and managers) quickly lose confidence in a database when this happens.

Expansion

As well as growing larger in size, databases also grow as users request more features. A well-designed relational database will allow for this growth.

This short course addresses these three issues and will help you to create databases that will be robust and reliable and able to grow.


Hints & tips

The textbox class in Visual FoxPro 9 has a new Autocomplete property which shows the user the previous values that have been entered in that textbox.
Autocomplete in VFP 9

Your Access database will look more impressive if you add custom toolbars...
Custom toolbars

FoxPro has always had functions to read and write files at a low level...
Foxpro low level file functions

More...
More pages of hints and tips for users of Microsoft FoxPro and Access databases.

Site Map