Database Design Phases

Designing a database for a computer system is a particularly complex process. To best address this issue,
this process is usually divided into several interrelated phases.

Database design generally involves the following four phases:

  1. Requirements Analysis and Definition
  2. Conceptual Design
  3. Logical Design
  4. Physical Design

Requirements Analysis and Definition

The requirements analysis and definition phase first requires
conducting a preliminary survey to gather user requests
The initial situation is analyzed and finally recommendations are produced on how to model the reference reality.
Based on observations and assessments, a more detailed definition is then developed, which may indicate, for example, the various types of
users involved in the system, the conditions that must be met for the data to be meaningful and valid (integrity constraints), etc.

Conceptual Design

The task of conceptual design is to take the informal specifications of the reference environment as input to produce a formal and complete description that is independent
of the representation used in the DBMS. In other words, conceptual design aims to represent the information content
of the database without worrying about the actual implementation. The output of this phase is The so-called conceptual schema or ER diagram.

Logical Design

Logical design takes the conceptual schema produced in the previous phase as input and translates it into a logical schema that
refers to the database family used. Logical design therefore depends on the data representation model
used. Usually, reference is made to the relational logical model, but it is good to
know that other models, more or less commonly used, also exist. Among these, we can mention the network model, the object model, the
XML model, and the NoSQL model.

Physical Design

Physical design takes as input the logical schema defined in the logical design phase and completes it with the specification of data storage parameters,
which mainly concern the organization of files and indexes. The physical model depends heavily
on the DBMS used, but can be different even within DBMSs of the same family.