Uma camada de acesso a dados (DAL) no software de computador é uma camada de um programa de computador que fornece acesso simplificado a dados armazenados em algum tipo de armazenamento persistente de algum tipo, como um banco de dados relacionado a entidades. Este acrônimo é usado com prevalência em ambientes da Microsoft.
Por exemplo, o DAL pode retornar uma referência a um objeto (em termos de programação orientada a objetos) completa com seus atributos em vez de uma linha de campos de uma tabela de banco de dados. Isso permite que os módulos do cliente (ou usuário) sejam criados com um nível mais alto de abstração. Esse tipo de modelo pode ser implementado criando uma classe de métodos de acesso a dados que consultam diretamente um conjunto correspondente de procedimentos armazenados no banco de dados. Outra implementação pode potencialmente recuperar ou escrever registros para ou em um sistema de arquivos. O DAL esconde essa complexidade do armazenamento de dados subjacente do mundo externo.
Por exemplo, em vez de usar comandos como inserir, excluir e atualizar para acessar uma tabela específica em um banco de dados, uma classe e alguns procedimentos armazenados podem ser criados no banco de dados. Os procedimentos seriam chamados de um método dentro da classe, que retornaria um objeto que contém os valores solicitados. Ou os comandos de inserção, exclusão e atualização podem ser executados em funções simples como o RegisterUser ou o LoginUser armazenado na camada de acesso a dados.
Além disso, os métodos de lógica de negócios de um aplicativo podem ser mapeados para a camada de acesso a dados. Assim, por exemplo, em vez de fazer uma consulta em um banco de dados para buscar todos os usuários de várias tabelas, o aplicativo pode chamar um único método de um DAL que abstraça essas chamadas de banco de dados.
Os aplicativos usando uma camada de acesso a dados podem ser dependentes ou independentes do servidor de banco de dados. Se a camada de acesso a dados suportar vários tipos de banco de dados, o aplicativo poderá usar os bancos de dados com os quais o DAL poderá conversar. Em qualquer circunstância, ter uma camada de acesso a dados fornece um local centralizado para todas as chamadas para o banco de dados e, portanto, facilita a transferência do aplicativo para outros sistemas de banco de dados (assumindo que 100% da interação do banco de dados é feita no DAL para um dado inscrição).
As ferramentas de mapeamento de objetos-relacionais fornecem camadas de dados dessa maneira, seguindo os padrões de registro ativo ou mapeador de dados. O modelo ORM/Active-Record é popular entre as estruturas da Web.