Database design tutorial

Introduction

In this tutorial you will learn how to design a database. Databases are programs that allow a user to storage and retrieval of data. A user in this context can be either a human user or a computer program. Human users rarely access a database directly. Usually a computer program is used to access a database. The software running on a cash machine for example, allows (limited) access to the bank's database. A cash machine user can request his or her account balance from the database or withdraw money from his or her account.

This database design tutorial shows you how to create a relational database model. The relational model is of a set of best practices for relational database design. It describes how data should be devided over different tables and how those tables should be linked to one another. In this tutorial we will design a database model that conforms to the most important recommendations of the relational model.

Database design example

The example database we will build in this tutorial records what I will call 'contact moments'. Many companies keep track of the contact moments they have had with clients in for example a Customer Relationship Management system (CRM) or a servicedesk tool. Such tools can increase the quality of a company's correspondance with costumers, because any employee will be able to get updated information about a customer's contact history. I will illustrate this tutorial with some examples from Microsoft Access 2003. This is a matter of convenience. This tutorial discusses relational database design in general. The examples shown in this tutorial can be implemented on any relational database server.