O design lógico é um conceito abstrato em programação de computador pelo qual os programadores organizam os dados em uma série de relações lógicas conhecidas como atributos ou entidades. Uma entidade se refere a um bloco de informações, enquanto um atributo define o propriedades únicas de uma entidade.
Por exemplo, um design lógico para um banco de dados sobre sapatos inclui o material, designer, tamanho, cor e preço. Essas informações podem ser organizadas em colunas, listas, gráficos e linhas. As entidades de dados podem ser classificadas por atributos diferentes, como todos os sapatos verdes ou todos os sapatos que custam mais de US $ 100 por par.
O design lógico foca no armazenamento teórico da informação. Ao contrário, o design físico é a maneira mais eficaz de armazenar e recuperar objetos em um programa de computador.