A '''Data access layer''' is a [[module]] of [[computer programming]] [[logic]] thatwhich provides simplified [[access]] to [[data]] stored in [[persistent storage]] of some kind, -such usuallyas aan [[entity-relational database]].
This Data Access Layer is used in turn by other program modules to access and manipulate the data within the data store without having to deal with the complexities inherent in this access.
For example -, the DAL couldmight return a reference to an [[object (computer science)|object]] (in terms of [[object-oriented programming]]) complete with it'sits attributes instead of a [[row]] of [[fields]] from a database [[table]]. This allows the client (or using) modules to be created with a higher level of [[abstraction]]. This kind of model could be implemented by creating a class of data access methods which directly reference a corresponding set of database stored procedures.