Logical design is an abstract concept in computer programming by which programmers arrange data in a series of logical relationships known as attributes or entities. An entity refers to a chunk of information, whereas an attribute defines the unique properties of an entity.
For instance, a logical design for a database about shoes includes the material, designer, size, color and price. Such information can be organized into columns, lists, graphs and rows. Data entities can be further sorted by different attributes, such as all green shoes or all shoes that cost more than $100 per pair.
Logical design focuses on the theoretical storage of information. Contrarily, physical design is about the most effective way to store and retrieve objects in a computer program.