Tips for designing your database

When you design your database, you first need to think about the different business areas (modules) you require, such as Request Management, Change Management, and so on. Then you can break down the information you want to keep as separate subjects (business objects), and tell the database how these business objects are related to each other. In this way, you can bring together the right information when you need it.

Determine the purpose of your database – The first step in designing your database is to determine its purpose and how it will be used. This tells you what information you want from the database.

Determine the modules you need – When you have a clear purpose for your database, you need to determine the different business areas (modules) you require, such as Request Management and Change Management.

Determine the business objects you need – When you have determined your modules, you can divide the information into separate subjects that you need to store facts about. These are called business objects. Look at the information you want to get out of your system and divide it into fundamental subjects, such as Users, Problems, CIs, and so on. Each of these subjects is a suitable candidate for a business object.

Determine the attributes you need – Decide what information you want to record about each business object. These are the attributes.

Determine the relationships – Look at the information you want to represent and decide how the data in one business object is related to data in other business objects.

Common design problems

There are several common pitfalls you may encounter when designing your database. These problems can cause your information to be more difficult to use and maintain. The following are signs that you need to re-evaluate the design of your database.

  • You have one business object with a large number of attributes that do not all relate to the same subject. For example, one business object might have attributes pertaining to your users as well as attributes that contain Problem information. Try to make sure each business object contains information about only one subject.
  • You have attributes that are intentionally left blank in many business object instances because they aren’t applicable to those business object instances. This usually means that the attributes belong to another business object.
  • You have a large number of business objects, many of which contain the same attributes. For example, you have separate business objects for January sales and February sales, or for local customers and remote customers, in which you store the same type of information. Try consolidating all the information pertaining to a single subject in one business object. You may also need to add an attribute, to identify the type of instance, for example, Sales date.