Capa de acceso a datos
# Capa de acceso a datos

Una capa de acceso a datos o DAL (del inglés data access layer) en los programas informáticos, es una capa de un programa informático que proporciona acceso simplificado a los datos almacenados en el almacenamiento persistente de algún tipo, tal como una entidad-relación de base de datos. Este acrónimo se usa predominantemente en entornos Microsoft ASP.NET.

Por ejemplo, el DAL podría devolver una referencia al objeto (en términos de programación orientada a objetos) completo con sus atributos en lugar de un registro de campos de una tabla de la base de datos. Esto permite que los módulos del cliente (o usuario) se crearan con un mayor nivel de abstracción. Este tipo de modelo puede ser implementado mediante la creación de una clase de métodos de acceso a datos que hacen referencia directamente a un conjunto correspondiente de procedimientos almacenados de base de datos. Otra aplicación potencial podría recuperar o escribir registros hacia o desde un sistema de archivos. El DAL esconde esa complejidad del almacén de datos subyacente del mundo externo.

Por ejemplo, en lugar de utilizar comandos tales como insertar, eliminar y actualizar para acceder a una tabla específica en una base de datos, una clase y unos procedimientos almacenados se podrían crear en la base de datos. Los procedimientos se han llamado de un método dentro de la clase, lo que devolvería un objeto que contiene los valores solicitados. O bien los comandos inserción, eliminación y actualización podría ser ejecutado en funciones simples como registerUser o loginUser almacenada dentro de la capa de acceso a datos.

Además, los métodos de la lógica de negocio de una aplicación se pueden asignar a la capa de acceso a datos. Así, por ejemplo, en vez de hacer una consulta en una base de datos en busca de todos los usuarios de varias tablas de la aplicación puede llamar a un solo método de una DAL que abstrae las llamadas bases de datos.

Las aplicaciones que utilizan una capa de acceso a datos puede ser cualquiera de los servidores de base de datos dependiente o independiente. Si la capa de acceso a datos es compatible con varios tipos de bases de datos, la aplicación se vuelve capaz de utilizar lo que las bases de datos de la CHA puede hablar. En cualquier circunstancia, que tiene una capa de acceso de datos proporciona una ubicación centralizada para todas las llamadas en la base de datos, y por lo tanto hace que sea más fácil de puerto de la aplicación a otros sistemas de bases de datos (suponiendo que el 100% de la interacción de base de datos se hace en la CHA para un dado aplicación).

Herramientas mapeo objeto-relacional proporcionan capas de datos de esta manera, siguiendo el modelo registro activo. El modelo ORM/active-record es popular entre los framework para aplicaciones web.

