Una capa de acceso a datos ( DAL ) en un software de computadora es una capa de un programa de computadora que proporciona acceso simplificado a los datos almacenados en algún tipo de almacenamiento persistente , como una base de datos relacional de entidades . Este acrónimo se utiliza principalmente en entornos de Microsoft .
Por ejemplo, el DAL podría devolver una referencia a un objeto (en términos de programación orientada a objetos ) completo con sus atributos en lugar de una fila de campos de una tabla de base de datos . Esto permite que los módulos de cliente (o usuario) se creen con un mayor nivel de abstracción . Este tipo de modelo podría implementarse creando una clase de métodos de acceso a datos que hagan referencia directamente a un conjunto correspondiente de procedimientos almacenados de base de datos. Otra implementación podría potencialmente recuperar o escribir registros hacia o desde un sistema de archivos. El DAL oculta esta complejidad del almacén de datos subyacente del mundo externo.
Por ejemplo, en lugar de usar comandos como insertar , eliminar y actualizar para acceder a una tabla específica en una base de datos, se podrían crear una clase y algunos procedimientos almacenados en la base de datos. Los procedimientos se llamarían desde un método dentro de la clase, que devolvería un objeto que contiene los valores solicitados. O bien, los comandos de inserción, eliminación y actualización podrían ejecutarse dentro de funciones simples como registeruser o loginuser almacenadas dentro de la capa de acceso a datos.
Además, los métodos de lógica empresarial de una aplicación se pueden asignar a la capa de acceso a datos. Entonces, por ejemplo, en lugar de realizar una consulta en una base de datos para buscar a todos los usuarios de varias tablas, la aplicación puede llamar a un solo método desde un DAL que abstrae esas llamadas a la base de datos.
Las aplicaciones que utilizan una capa de acceso a datos pueden ser independientes o dependientes del servidor de base de datos. Si la capa de acceso a datos admite varios tipos de bases de datos, la aplicación puede utilizar cualquier base de datos con la que pueda hablar el DAL. En cualquier circunstancia, tener una capa de acceso a datos proporciona una ubicación centralizada para todas las llamadas a la base de datos y, por lo tanto, hace que sea más fácil portar la aplicación a otros sistemas de base de datos (asumiendo que el 100% de la interacción de la base de datos se realiza en la DAL para un determinado solicitud).
Las herramientas de mapeo relacional de objetos proporcionan capas de datos de esta manera, siguiendo los patrones de registro activo o mapeador de datos . El modelo ORM / registro activo es popular entre los frameworks web.