In presenting a database design methodology we divide the design process into three main phases:
- conceptual,
- logical, and
- physical database design.
The phase prior to physical design, namely logical database design, is largely independent of implementation details, such as the specific functionality of the target DBMS and application programs, but is dependent on the target data model.
The output of this process is a
logical data model consisting of an
- ER/relation diagram,
- relational schema, and
- supporting documentation
that describes this model, such as a data dictionary. Together, these represent the sources of information for the physical design process, and they provide the
physical database designer with a vehicle for making tradeoffs that are so important to an efficient database design.
Whereas
logical database design is concerned with the what, physical database design is concerned with the how.
It requires different skills that are often found in different people.
In particular, the physical database designer must know how the computer system hosting the DBMS operates, and must be fully aware of the functionality of the target DBMS. As the functionality provided by current systems varies widely, physical design must be tailored to a specific DBMS. However, physical database design is not an isolated activity and there is often feedback between
- physical,
- logical, and
- application design.
For example, decisions taken during physical design for improving performance, such as merging relations together, might affect the structure of the logical data model, which will have an associated effect on the application design.