Veri erişim katmanı

Bilgisayar yazılımında veri erişim katmanı (DAL: DATA ACCESS LAYER), tutarlı bir depoda saklanan veriye basitçe erişim sağlayan bir bilgisayar programı katmanıdır, bu tutarlı depoya varlık-ilişki veritabanı örneği verilebilir. Bu yapı ismi Microsoft.ASP.NET ortamlarında yaygın bir şekilde kullanılır.

Mesela DAL(nesne yönelimli programlama terimleri içerisinde) bir nesneye veri tabanı tablosundan satır veya alanın özelliklerini döndürmek yerine referans geri döndürebilir . Bu istemci (kullanıcı) modüllerinin yüksek seviyeli soyutlama ile oluşturulmasına olanak sağlar. Bu çeşit bir modelin veri erişim metotlarının bir sınıfını oluşturarak gerçekleştirimi sayesinde  veri tabanındaki prosedürlerin kümesine karşılık gelen kayıtları doğrudan refere edebilir. Diğer gerçekleştirim dosya sistemine kayıtların yazılması veya dosya sisteminden kayıtların döndürülmesiyle olabilir. DAL(DATA ACCESS LAYER) veri tabanının altında yatan karmaşıklığı dış dünyadan  saklar.

Mesela, insert, delete, update gibi veri tabanında belirli bir tabloya  erişim için özel komutlar kullanmak yerine, veri tabanında  birkaç prosedür ve sınıf oluşturulabilir. Prosedürler  sınıf içindeki metotlardan adlandırılabilir, bu metotlar istenilen değerleri taşıyan nesneler döndürecektir. Veya insert, delete ve update komutları  basit fonksiyonlar içerisinde yürütülebilir bu fonksiyonlar veri erişim katmanında saklı registeruser veya loginuser olabilir. Bunun yanında uygulamadan mantıksal metotlar ile Veri Erişim Katmanına eşleme yapılabilir. Böylece, mesela veritabanı içerisine sorgu çekmek yerine birkaç tablodan tüm kullanıcıları getirmek için uygulama  tüm veri tabanı çağrılarını soyutlayan DAL(Veri Erişim Katmanı) üzerinden tek bir metotla çağrılabilir.

Veri erişim katmanı kullanan uygulamalar veritabanı sunucusuna bağımlı ya da sunucudan bağımsız olabilir. Eğer veri erişim katmanı birden çok veri tabanı tipini destekliyorsa, uygulama DAL ı konuşabildiği her veritabanını kullanabilir hale gelecektir. Her iki koşulda da, veri erişim katmanına sahip olmak, veri tabanı içerisindeki tüm çağrılar için yerelleştirilmiş lokasyon sağlayacaktır ve bu yüzden diğer veri tabanı sistemlerine bağlanabilmeyi de kolaylaştıracaktır.(verilen uygulama için veri tabanı etkileşimlerinin tamamının(%100) DAL içerisinde yapıldığı  varsayılmaktadır.)

Nesne Yönelimli Eşleme araçları aktif kayıt modelini takip eden  modellere  veri katmanları sağlar.ORM/aktif-kayıt  web yapı-frameler ile daha yaygın kullanılmaktadır.

Dış bağlantılar 
 Microsoft Application Architecture Guide
 ASP.NET DAL tutorial

Nesne yönelimli programlama
Veri eşleme
Veritabanları