Logical and Physical Design
Logical Design
Logical design, also known as the logical schema, is the process of designing the database at a high, more abstract level. In other words, it concerns itself with what data should be stored and the relationships among the data elements. The logical design does not concern itself with how the data will be stored or where the data will be stored.
It's crucial in understanding and defining business needs, as it depicts what data is required and how it is interrelated. The primary goal of logical design is to create a model that is independent of any specific data storage technology (like specific types of databases) or physical attributes like data storage locations or computational resources.
For example, a logical design could include an Entity-Relationship Diagram (ERD), which illustrates the entities in the system, attributes of these entities, and the relationships between entities.
Physical Design
Physical design, also known as the physical schema, on the other hand, deals with the actual implementation and storage of data. It focuses on the specifics of how the database will be implemented, and as such, is dependent on the specific data storage technology being used. This includes specifics like data file structures, indexing strategies, data partitioning, etc.
For example, the physical design phase might determine how tables are stored on disk, what indexes should be created, what type of data compression should be used, how data is distributed across a system, and more. The physical design process translates the logical design into a physical storage model optimized for the expected workload, considering factors like performance, reliability, and storage efficiency.
In summary, logical design is concerned with "what" data a database holds and their relationships, and physical design is concerned with "how" the data is stored and accessed.