Customer contact system
Besides the fast retrieval of data, relational databases offer a number of other characteristics.
- The relational model allows for the linking of different data tables using 'keys'. Using the Structured Qeury Language (SQL) linked data from multiple tables can be selected at once.
- Efficient storage of data. In a database design that adheres to the rules of the relational model, each data item is stored only once, that is, in one location. Consequently, each data item (for example a username) can be changed, insterted or removed in only one location in the database.
- Using a relational database you can specify what sort of data a database column is allowed to contain. You can set data fields, numeric fields, text fields, etc. This gives you some control over data integrity. For example, users won't be able to insert text into a 'date_of_birth' field that is set to contain a date.
- Data integrity. By setting field properties, by linking tables and by applying data integrity rules you can increase the reliability of your data.
- Most relational database systems offer a right structure with which rights can be assigned to different users. Some of the operations that can be allowed or disallowed to a user are SELECT, INSERT, DELETE, ALTER, CREATE, etc. These rights correspond to the operations that can be performed using the Structured Query Language (SQL).
- In order to actually perform operations on the database, like storing new data, selecting present data and altering present data, SQL queries are used. The Structured Query Language is relatively easy to understand and it allows advanced database operation, such as the selection of linked data from multiple tables.
- The relational model is a standard. By adhering to the rules of the relational model you ensure that your data can be transfered to other relational database systems relatively easily.
In this database design tutorial I will show you how to design a database model for a customer contact system. This system is used to store customer data and 'contact moments'. A contact moment can be a telephone call to or from customer, a letter, an e-mail, etc.
A program can use the database we will design in this tutorial to perform specific tasks, such as
- Selecting an ordered list of contact moments for a specific customer
- Inserting a new customer
- Selecting and displaying the last contact moment for a customer
- Inserting a new contact moment and displaying a confirmation message
- Updating a contact moment and displaying the updated contact moment
- Et cetera
The program that uses the database and the database together form a database application. The customer contact system is a database application too. In this database design tutorial, the customer contact system functions as an example from which we can derive the database specifications.
