A уровень доступа к данным (DAL ) в компьютерном программном обеспечении - это уровень компьютерной программы, который обеспечивает упрощенный доступ к данным, хранящимся в постоянном хранилище какого-либо типа, например, объектно-реляционная база данных. Этот акроним обычно используется в средах Microsoft.
Например, DAL может возвращать ссылку на объект (в терминах объектно-ориентированного программирования ) вместе с его атрибутами вместо строки . из полей из базы данных таблица. Это позволяет создавать клиентские (или пользовательские) модули с более высоким уровнем абстракции . Такая модель может быть реализована путем создания класса методов доступа к данным, которые напрямую ссылаются на соответствующий набор хранимых процедур базы данных. Другая реализация потенциально может извлекать или записывать записи в файловую систему или из нее. DAL скрывает эту сложность базового хранилища данных от внешнего мира.
Например, вместо использования таких команд, как вставка, удаление и обновление для доступа к определенной таблице в базе данных, в базе данных могут быть созданы класс и несколько хранимых процедур. Процедуры будут вызываться из метода внутри класса, который вернет объект, содержащий запрошенные значения. Или команды вставки, удаления и обновления могут выполняться с помощью простых функций, таких как registeruser или loginuser, хранящиеся на уровне доступа к данным.
Кроме того, методы бизнес-логики из приложения могут быть сопоставлены с уровнем доступа к данным. Так, например, вместо того, чтобы делать запрос к базе данных для извлечения всех пользователей из нескольких таблиц, приложение может вызвать один метод из DAL, который абстрагирует эти вызовы базы данных.
Приложения, использующие уровень доступа к данным, могут быть зависимыми или независимыми от сервера базы данных. Если уровень доступа к данным поддерживает несколько типов баз данных, приложение получает возможность использовать любые базы данных, с которыми DAL может взаимодействовать. В любом случае наличие уровня доступа к данным обеспечивает централизованное расположение для всех вызовов в базе данных и, таким образом, упрощает перенос приложения на другие системы баз данных (при условии, что 100% взаимодействия с базой данных выполняется в DAL для данного применение). Инструменты
объектно-реляционного сопоставления предоставляют уровни данных таким образом, следуя шаблонам Active Record или Data Mapper. Модель ORM / active-record популярна в веб-фреймворках.