Content deleted Content added
m Disambiguation link repair - You can help! (Object) |
Adding local short description: "Layer of a computer program", overriding Wikidata description "layer of a computer program which provides simplified access to data stored in persistent storage of some kind, such as an entity-relational database" |
||
(85 intermediate revisions by 66 users not shown) | |||
Line 1:
{{Short description|Layer of a computer program}}
A '''
For example
For example, instead of using commands such as ''insert'', ''delete'', and ''update'' to access a specific table in a database, a class and a few stored procedures could be created in the database. The procedures would be called from a method inside the class, which would return an object containing the requested values. Or, the insert, delete and update commands could be executed within simple functions like ''registeruser'' or ''loginuser'' stored within the data access layer.
▲For example - the DAL could return a reference to an [[object (computer science)|object]] (in terms of [[object-oriented programming]]) complete with it's 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]].
Also, business logic methods from an application can be mapped to the data access layer. So, for example, instead of making a query into a database to fetch all users from several tables, the application can call a single method from a DAL which abstracts those database calls.
Applications using a data access layer can be either database server dependent or independent. If the data access layer supports multiple database types, the application becomes able to use whatever databases the DAL can talk to. In either circumstance, having a data access layer provides a centralized ___location for all calls into the database, and thus makes it easier to port the application to other database systems (assuming that 100% of the database interaction is done in the DAL for a given application).
[[Object-Relational Mapping]] tools provide data layers in this fashion, following the [[Active record pattern|Active Record]] or [[Data mapper pattern|Data Mapper]] patterns. The [[Object-relational mapper|ORM]]/active-record model is popular with web frameworks.
==See also==
*[[Data access object]]
*[[Database abstraction layer]]
==References==
{{Reflist}}
==External links==
*[http://msdn.microsoft.com/en-us/library/ee658127.aspx Microsoft Application Architecture Guide]
*[http://www.asp.net/web-forms/tutorials/data-access/introduction/creating-a-data-access-layer-cs ASP.NET DAL tutorial]
[[Category:Object-oriented programming]]
[[Category:Data mapping]]
[[Category:Databases]]
|