Presentation is loading. Please wait.

Presentation is loading. Please wait.

IS444: Modern tools for applications development

Similar presentations


Presentation on theme: "IS444: Modern tools for applications development"— Presentation transcript:

1 IS444: Modern tools for applications development
Dr. Azeddine Chikh

2 Chapter 5: Data Access classes and persistence
Part 2. VB.NET reminder Chapter 5: Data Access classes and persistence

3 Objectives In this lesson, you will: Make objects persistent
Design a Data Access class Communicate with a data access class Use a relational database with VB .NET

4 Making Objects Persistent
Object persistence The capacity to store and retrieve information from files Two approaches to achieving persistence Attribute storage Object storage

5 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

6 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

7 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

8 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

9 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

10 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

11 Data Access Methods A separate DA class is written for each PD class
Example: CourseDA Provides data storage and retrieval services for courses Methods can only be invoked by the PD class

12 Data Access Methods Four basic tasks provided by CourseDA and Course:
Retrieve a course Store a course Change a course’s data Remove a course

13 Data Access Methods CourseDA class Find method AddNew method
Functionality implemented: retrieve a course AddNew method Functionality implemented: store a course Update method Functionality implemented: update a course’s data Delete method Functionality implemented: remove a course

14 Data Access Methods CourseDA class (continued) Additional methods
Initialize Terminate GetAll Exception handler classes NotFoundException DuplicateException

15 Communicating with a Data Access Class
Course class Invokes methods in CourseDA  Methods Find AddNew Update Delete Initialize Terminate GetAll

16 Finding a Course The PD Find method Invokes the DA Find method
Public Shared Function Find(ByVal CourseId As String) As Course Return CourseDA.Find(CourseId) End Function

17 Adding a Course The PD AddNew method
Invokes the AddNew method in the DA class to store a new course instance Public Sub AddNew() CourseDA.AddNew(Me) End Sub

18 Changing a Course The PD Update method
Invokes the Update method in the DA class Public Sub Update() CourseDA.Update(Me) End Sub

19 Deleting a Course The PD Delete method
Invokes the Delete method in the DA class Public Sub Delete() CourseDA.Delete(Me) End Sub

20 Additional Problem Domain Methods
Additional PD methods Initialize Public Shared Sub Initialize() CourseDA.Initialize() End Sub Terminate Public Shared Sub Terminate() CourseDA.Terminate()

21 Additional Problem Domain Methods
Additional PD methods (continued) GetAll Public Shared Function GetAll() As ArrayList Return CourseDA.GetAll End Function

22 Using Relational Databases with VB .NET
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

23 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 course’s record from the database AddNew method uses the SQL INSERT INTO statement to Add a new course’s record to the database

24 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 course’s record Delete method executes the SQL DELETE statement SQL DELETE statement specifies the key value of the course to be deleted

25 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

26 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

27 VB .NET Database Access Classes

28 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

29 VB .NET and DBMS Example

30 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

31 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

32 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


Download ppt "IS444: Modern tools for applications development"

Similar presentations


Ads by Google