When confronted with the task of designing a database most of us tend to start thinking in terms of tables and columns. This is, generally, a mistake! The reason is that before we can really start to design tables we need to understand the function of