데이터 액세스 계층

Data access layer

컴퓨터 소프트웨어의 데이터 액세스 계층(DAL)은 기업 관계 데이터베이스와 같은 어떤 종류의 영구 저장소에 저장된 데이터에 대한 단순화된 액세스를 제공하는 컴퓨터 프로그램계층이다.약어마이크로소프트 환경에서 널리 사용된다.

예를 들어, DAL은 데이터베이스 테이블필드 행 대신 속성으로 완성된 객체(객체 지향 프로그래밍 측면에서)에 대한 참조를 반환할 수 있다.이를 통해 클라이언트(또는 사용자) 모듈을 더 높은 수준의 추상화로 만들 수 있다.이러한 종류의 모델은 해당 데이터베이스 저장 프로시저 집합을 직접 참조하는 데이터 액세스 방법의 클래스를 생성함으로써 구현될 수 있다.또 다른 구현은 파일 시스템에서 레코드를 검색하거나 쓸 수 있다.DAL은 기본 데이터 저장소의 이러한 복잡성을 외부 세계로부터 숨긴다.

예를 들어, 데이터베이스의 특정 테이블에 접근하기 위해 삽입, 삭제, 업데이트와 같은 명령을 사용하는 대신, 클래스와 몇 개의 저장 프로시저를 데이터베이스에 작성할 수 있다.이 절차는 클래스 내의 메서드에서 호출되며, 요청된 값을 포함하는 객체를 반환한다.또는 데이터 액세스 계층에 저장된 레지스터 사용자나 로그인 사용자 같은 단순한 기능 내에서 삽입, 삭제 및 업데이트 명령을 실행할 수 있다.

또한, 애플리케이션의 비즈니스 논리 방법은 데이터 액세스 계층에 매핑될 수 있다.따라서 예를 들어, 여러 테이블에서 모든 사용자를 가져오기 위해 데이터베이스로 쿼리를 만드는 대신, 응용 프로그램은 그러한 데이터베이스 호출을 추상화하는 DAL에서 단일 메서드를 호출할 수 있다.

데이터 액세스 계층을 사용하는 애플리케이션은 데이터베이스 서버에 의존하거나 독립적일 수 있다.데이터 액세스 계층이 여러 데이터베이스 유형을 지원하는 경우, 애플리케이션은 DAL이 대화할 수 있는 모든 데이터베이스를 사용할 수 있게 된다.어느 상황에서든, 데이터 액세스 계층을 갖는 것은 데이터베이스에 모든 호출을 위한 중앙 집중화된 위치를 제공하고, 따라서 애플리케이션을 다른 데이터베이스 시스템에 더 쉽게 포팅할 수 있게 한다(데이터베이스 상호작용의 100%가 특정 애플리케이션에 대해 DAL에서 수행된다고 가정함).

객체-관계 매핑 도구는 액티브 레코드 또는 데이터 매퍼 패턴에 따라 이러한 방식으로 데이터 계층을 제공한다.ORM/액티브 레코드 모델은 웹 프레임워크에서 인기가 있다.

참고 항목

참조

외부 링크