443. Oracle Applications
Using ADO.NET and C#
Rev 2.0
Oracle is a robust and powerful data storage engine that provides
services on all levels of an application infrastructure – combining
programmer-definable objects and tools, data manipulation tools that are
capable of retrieving data from a host of data sources and storing those data
in a database, and the capability to automate tasks and run them under
developer control.
This comprehensive course is designed to provide programmers an
introduction to database programming using Oracle as the database and Microsoft
.NET as the programming environment. It will work with either Oracle 9i or 10g,
including the free Oracle 10g Express Edition. The course is current to .NET
2.0 and Visual Studio 2005. It consists of two three-day courses that are also
available separately. When combined, they can be run in a five-day timeframe.
In the first module (Course 173), programmers will be exposed to
database layout and design and actual database programming with the PL/SQL
language to create database objects. They will be introduced to various
database objects such as SQL Stored Procedures, Functions, Views, Triggers, and
much more.
In the second module (Course 413C2), the course shifts from database
programming techniques to application programming techniques communicating with
databases using the.NET framework.
Programmers will be introduced to ADO.NET, an application-programming
interface that allows developers the ability to communicate with many different
data sources. Using the various ADO.NET objects, such as Data Readers, Data
Adapters, and Data Sets, programmers will learn how to communicate between a
database and their applications written in C#. The integration of ADO.NET with
XML is discussed and data binding is covered. The course concludes with
coverage of data access layers, and students will implement a three-tier
application as the culmination of their case-study work in Part 2 of the
course.
LEARNING OBJECTIVES
·
Gain an understanding of conceptual database
design techniques
·
Acquire a working knowledge of database objects
and how to implement them using Oracle 9i or 10g.
·
Understand the architecture and main classes of
ADO.NET
·
Gain fluency in programming ADO.NET using C#
·
Gain a thorough understanding of the use of
disconnected DataSets for building highly scalable applications
·
Acquire a working knowledge of the tight
coupling of XML with ADO.NET
·
Implement both Windows Forms and ASP.NET Web
Forms front-ends to database applications.
Course Duration: 5 days.
Prerequisites: The student should have been exposed to
developing applications and have a working knowledge of.NET Framework
fundamentals, including building simple Windows Forms and Web Forms
applications. The student should also
have been exposed to relational databases of some sort.
Module 1: Oracle Fundamentals
1.
Introduction to Oracle
What is Oracle?
What is the Oracle Enterprise Manager (OEM)?
Database objects and a high overview of their function
How data are stored in an Oracle9i database
2.
Relational Database Basics and Design
Conceptual Design Phase
OLAP vs. OLTP databases
Relational Databases
Normalization
Case Study: Deriving a relational database design from a scenario
3.
Programming SQL Statements
The Oracle SQL and PL/SQL Languages
Permissions and Database Roles
DDL Statements
DCL Statements
DML Statements
Join Statements
Aggregate Functions and Group By Clause
Case Study: Retrieving
information from a database
4.
Implementing Oracle Objects
Database
Tables
Constraints
Stored Procedures
Functions
Views
Triggers
Case Study: Implementing
Oracle Objects
5.
Indexes and Storage Types
Table Storage Types: Heap;
Index-Organized; Clustered; Partitioned)
Index Storage Types: B-Tree; Functional; IOT; Bitmap; Partitioned)
Case Study - Implementing Indexes on Tables
6.
Transactions and Locks within Oracle 9i
Transaction Blocks
Implicit Transactions
Case Study: Implementing
Transactions
Locks
Case Study - Examining Locking Issues
7.
Oracle PL/SQL and User-Defined Objects
PL/SQL Constructs: Anonymous
Blocks; Procedures; Functions; Packages
PL/SQL Objects
Creating and Using Cursors
8.
Oracle and XML Integration
XML and Oracle
Retrieving XML Documents
Writing XML
Appendix A. Acme Computer Case Study
Appendix B. Learning Resources
Module 2: ADO.NET Using Oracle and C#
1.
Database Application Basics
Data Modeling
Performance Considerations
Conceptual Design and the Data Layer
APIs
2.
ADO.NET Fundamentals
ADO.NET Overview
.NET Data Providers
Connections
Error Handling
DataReaders
IDataReader
IDataRecord
Type-Safe Accessors
Null Columns
3.
ADO.NET Commands
IDbCommand
Command Objects
Creating Commands
Executing Commands
Parameterized Queries
Command Types
Using Stored Procedures
Using Oracle REF CURSOR
4.
Data Sets and Disconnected Access
DataSet
DataAdapter
Command Objects
DataTable
DataColumn
DataRow
Row States and Versions
Accept or Reject Changes
DataTable Events
Updating a Database from a DataSet
Command Builders
Filtering DataTables
5.
XML and ADO.NET
Strong Coupling Between ADO.NET and XML
Rendering XML from a
DataSet
Controlling XML Output
Reading XML into a
DataSet
XML Schema and DataSets
Typed DataSets
Synchronizing DataSets
and XML
XML Serialization
6.
Data Binding
DataView
Data Binding in Windows Forms
Simple Data Binding
DataGrid Binding
Master Detail Binding
Data Binding in Web Forms
7.
Creating and Using a Data Access Layer
Three-Tier Applications
Creating a Data Access Layer
Implementing the Business Logic
Creating the User Interface
Appendix A. Acme Computer Case Study
Appendix B. Learning Resources
System Requirements
Course exercises require Visual Studio 2005, the Oracle Data
Provider for .NET (ODP.NET), and Oracle 9i or 10g (Express Edition is OK). See the appropriate course Setup Guide for
details.
A good minimal hardware profile for this course would have a Pentium
1 GHz or equivalent CPU, 512 MB of RAM, and at least 5 GB of free disk space
for operating system, tools installation, and courseware.