Most developers spend their time maintaining existing applications rather than building new applications. Consequently, they are accustomed to adding to existing databases rather than developing new ones. When an opportunity arises to develop a new application, the approach is quite often implementation oriented.
Many developers are familiar with designing and building physical databases rather than working with conceptual models. They tend to create a storage facility to support their programs. It is a direct step from data to physical database model or database.
This approach may appear effective, but can result in a number of problems:
A database must be properly designed before it is implemented. A database is best implemented using a logical or conceptual data model that starts with the application business requirements.
Note the following definitions:
A logical data model overcomed some of the problems that occur when developing a database directly from the data.
Some developers claim to use data models and modeling tools but they are actually just implementing a physical model or database design. Conceptual modeling involves more than using graphical drawing tools to create a picture of the database. Models start with business requirements and relationships within the business. Models begin with the abstract and then build toward the physical.