89:. This kind of model could be implemented by creating a class of data access methods that directly reference a corresponding set of database stored procedures. Another implementation could potentially retrieve or write records to or from a file system. The DAL hides this complexity of the underlying data store from the external world.
104:
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
120:
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
116:
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.
121:
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).
190:
175:
28:
66:
153:
124:
62:
136:
74:
195:
128:
132:
44:
200:
148:
82:
40:
78:
32:
170:
70:
184:
86:
55:
47:
51:
36:
127:
tools provide data layers in this fashion, following the
85:(or user) modules to be created with a higher level of
139:/active-record model is popular with web frameworks.
61:
For example, the DAL might return a reference to an
92:For example, instead of using commands such as
8:
69:) complete with its attributes instead of a
171:Microsoft Application Architecture Guide
113:stored within the data access layer.
7:
35:which provides simplified access to
14:
1:
105:within simple functions like
27:) in computer software is a
191:Object-oriented programming
67:object-oriented programming
16:Layer of a computer program
219:
154:Database abstraction layer
125:Object-Relational Mapping
43:of some kind, such as an
54:is prevalently used in
176:ASP.NET DAL tutorial
81:. This allows the
149:Data access object
41:persistent storage
45:entity-relational
21:data access layer
208:
77:from a database
33:computer program
218:
217:
211:
210:
209:
207:
206:
205:
181:
180:
167:
162:
145:
17:
12:
11:
5:
216:
215:
212:
204:
203:
198:
193:
183:
182:
179:
178:
173:
166:
165:External links
163:
161:
158:
157:
156:
151:
144:
141:
135:patterns. The
58:environments.
15:
13:
10:
9:
6:
4:
3:
2:
214:
213:
202:
199:
197:
194:
192:
189:
188:
186:
177:
174:
172:
169:
168:
164:
159:
155:
152:
150:
147:
146:
142:
140:
138:
134:
130:
129:Active Record
126:
122:
118:
114:
112:
108:
103:
99:
95:
90:
88:
84:
80:
76:
72:
68:
65:(in terms of
64:
59:
57:
53:
49:
46:
42:
38:
34:
30:
26:
22:
196:Data mapping
123:
119:
115:
110:
107:registeruser
106:
101:
97:
93:
91:
60:
24:
20:
18:
133:Data Mapper
87:abstraction
185:Categories
160:References
39:stored in
201:Databases
111:loginuser
56:Microsoft
143:See also
48:database
52:acronym
50:. This
102:update
100:, and
98:delete
94:insert
83:client
75:fields
63:object
79:table
31:of a
29:layer
37:data
137:ORM
131:or
109:or
73:of
71:row
25:DAL
187::
96:,
19:A
23:(
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.