Object-Oriented Application Development Using VB.NET 1 Chapter 13 Introduction to Data Access...
-
date post
20-Dec-2015 -
Category
Documents
-
view
217 -
download
0
Transcript of Object-Oriented Application Development Using VB.NET 1 Chapter 13 Introduction to Data Access...
Object-Oriented Application Development Using VB .NET
1
Chapter 13
Introduction to Data Access Classes and
Persistence
Object-Oriented Application Development Using VB .NET
2
Making Objects Persistent
• Object persistence– The capacity to store and retrieve information from
files
• Two approaches to achieving persistence– Attribute storage
– Object storage
Object-Oriented Application Development Using VB .NET
3
Making Objects Persistent
• Attribute storage– Involves
• Retrieving attribute values from the instance• Writing attribute values to a file
– Disadvantage• It is necessary to re-create the object
Object-Oriented Application Development Using VB .NET
4
Making Objects Persistent
Object-Oriented Application Development Using VB .NET
5
Making Objects Persistent
• Options for storing and retrieving objects:– Attribute storage and retrieval using the
StreamWriter and StreamReader
– Object serialization
– Attribute storage and retrieval using databases
Object-Oriented Application Development Using VB .NET
6
Making Objects Persistent
• Object serialization– An easy way to store and retrieve objects– Serialization process
• Transforms an object into a stream that can be saved to a sequential file
– Deserialization• Transforms the stream from the file back to the
object state before the object was stored
– Advantage• The object can be retrieved intact• It is not necessary to re-create the object
Object-Oriented Application Development Using VB .NET
7
Making Objects Persistent
• Databases– One or more files organized to help make queries
– Can be used to make objects persistent
– Organize data into tables that can be related to each other• Each table column represents an attribute• Each row represents a record
– Structured Query Language (SQL)• A standard set of keywords and statements used to
access relational databases
Object-Oriented Application Development Using VB .NET
8
Designing a Data Access Class
• Purpose of a DA class– To provide methods that store and retrieve data– Make instances of a PD class persistent
• Reasons for placing data storage and retrieval tasks in a DA class– Data input and output code are isolated from other
classes• Can dramatically reduce maintenance
– Separate classes for each tier make deployment easier in a client-server environment • GUI, PD, and DA functions may reside on multiple
machines at various sites
Object-Oriented Application Development Using VB .NET
9
Designing a Data Access Class
• DA methods can be invoked only by the PD class– Services provided by the DA class appear to be
provided by the PD class
– Hides the DA class from all other classes
Object-Oriented Application Development Using VB .NET
10
Data Access Methods
• A separate DA class is written for each PD class• Example:
– CustomerDA• Provides data storage and retrieval services for
customers• Methods can only be invoked by the PD class
Object-Oriented Application Development Using VB .NET
11
Data Access Methods
• Four basic tasks provided by CustomerDA and Customer:– Retrieve a customer
– Store a customer
– Change a customer’s data
– Remove a customer
Object-Oriented Application Development Using VB .NET
12
Data Access Methods
• CustomerDA class– Find method
• Functionality implemented: retrieve a customer
– AddNew method• Functionality implemented: store a customer
– Update method• Functionality implemented: update a customer’s data
– Delete method• Functionality implemented: remove a customer
Object-Oriented Application Development Using VB .NET
13
Data Access Methods
• CustomerDA class (continued)– Additional methods
• Initialize• Terminate• GetAll
– Exception handler classes• NotFoundException• DuplicateException
Object-Oriented Application Development Using VB .NET
14
Communicating with a Data Access Class
• Customer class– Invokes methods in CustomerDA
– Methods• Find• AddNew• Find• Delete• Initialize• Terminate• GetAll
Object-Oriented Application Development Using VB .NET
15
Finding a Customer
• The PD Find method– Invokes the DA Find method
Public Shared Function Find(ByVal PhoneNo As String) As Customer
Return CustomerDA.Find(PhoneNo)
End Function
Object-Oriented Application Development Using VB .NET
16
Adding a Customer
• The PD AddNew method– Invokes the AddNew method in the DA class to
store a new customer instance
Public Sub AddNew()
CustomerDA.AddNew(Me)
End Sub
Object-Oriented Application Development Using VB .NET
17
Changing a Customer
• The PD Update method– Invokes the Update method in the DA class
Public Sub Update()
CustomerDA.Update(Me)
End Sub
Object-Oriented Application Development Using VB .NET
18
Deleting a Customer
• The PD Delete method– Invokes the Delete method in the DA class
Public Sub Delete()
CustomerDA.Delete(Me)
End Sub
Object-Oriented Application Development Using VB .NET
19
Additional Problem Domain Methods
• Additional PD methods– Initialize
Public Shared Sub Initialize()CustomerDA.Initialize()
End Sub
– Terminate
Public Shared Sub Terminate() CustomerDA.Terminate()End Sub
Object-Oriented Application Development Using VB .NET
20
Additional Problem Domain Methods
• Additional PD methods (continued)– GetAll
Public Shared Function GetAll() As ArrayList
Return CustomerDA.GetAll
End Function
Object-Oriented Application Development Using VB .NET
21
Implementing Persistence with Object Serialization
• Persistence using object serialization– Uses object storage
– Complete object instances are written to and read from a file
– Instances are retrieved intact• There is no need to re-create instances
– Uses the FileStream class
Object-Oriented Application Development Using VB .NET
22
Implementing Persistence with Object Serialization
• To change from sequential access file processing to object serialization– Add the attribute <Serializable()> to the Customer
definition header
– Change the following methods in CustomerDA• Initialize• Terminate
Object-Oriented Application Development Using VB .NET
23
Using Relational Databases with VB .NET
• Relational databases– Referred to as database management systems (DBMSs)– Provide tools for organizing data into tables
• In a DBMS– Each column represents a field– Each row represents a record– Primary key: a field used to uniquely identify a record
Object-Oriented Application Development Using VB .NET
24
Structured Query Language
• Structured Query Language (SQL)– A standardized language used to manage and
query relational databases
– Used by DA methods• Find method uses the SQL SELECT statement to
– Retrieve a specific customer’s record from the database
• AddNew method uses the SQL INSERT INTO statement to– Add a new customer’s record to the database
Object-Oriented Application Development Using VB .NET
25
Structured Query Language
• Uses of SQL by DA methods (continued)– Update method uses the SQL UPDATE statement
to• Change the contents of one or more fields in a
customer’s record
– Delete method executes the SQL DELETE statement• SQL DELETE statement specifies the key value of
the customer to be deleted
Object-Oriented Application Development Using VB .NET
26
Accessing a DBMS with VB .NET
• VB .NET options for accessing data– ADO (Active-X Data Objects)
• Maintains a constant connection to the server• Data is kept and processed in a recordset
– ADO .NET• Only connects to the server when
– Data is needed from the data store
– Updates back to the data store are required
• Relies on the concept of datasets as the basis for processing data
Object-Oriented Application Development Using VB .NET
27
VB .NET Database Access Classes
• VB .NET managed providers for accessing data:– The OleDb data provider
• Designed for accessing Microsoft Access databases and other non-SQLServer data sources
• Namespace: OleDb
– The SQLServer data provider• Designed for accessing Microsoft SQLServer
databases• Namespace: SQLClient
• Object database connectivity (ODBC)– Can be used to access most other databases
Object-Oriented Application Development Using VB .NET
28
VB .NET Database Access Classes
Object-Oriented Application Development Using VB .NET
29
VB .NET and DBMS Example
• Example– Project involves working with data from a relational
database• Selecting, adding, updating, and deleting rows from
a table
– The GUI includes• A data grid• Four buttons
– Add Record– Update Record– Delete Record– Find
Object-Oriented Application Development Using VB .NET
30
VB .NET and DBMS Example
Object-Oriented Application Development Using VB .NET
31
Implementing Object Persistence with a Database
• To implement object persistence with a relational database– Initialize method establishes a connection to the
database
– Find, AddNew, Update, Delete, and GetAll methods access the database directly
– Terminate method closes the database connection
Object-Oriented Application Development Using VB .NET
32
Summary
• Object persistence: storing instance data for future retrieval
• Persistence can be achieved by storing either attribute values or entire instances
• A data access (DA) class provides methods that store and retrieve data
• Methods of a DA class are invoked only by the methods of the corresponding PD class
• Methods of a DA class: Find, AddNew, Update, Delete, GetAll, Initialize, and Terminate
Object-Oriented Application Development Using VB .NET
33
Summary
• VB .NET’s stream approach to I/O views data input and output as a flow of bytes
• Persistence can be achieved using sequential files, object serialization, or relational databases
• A relational database is used to organize data into tables
• In a relational database, each column represents a field and each row represents a record
• SQL is a popular, standard language used to access relational databases