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