Introduction to Oracle® Programming




Introduction to Oracle Programming Training Class Summary

A Relational Database Management System (RDBMS) is a software system that allows you to create and manage a relational database. Minimum requirements for such a system are defined by both ANSI and ISO. The Structured Query Language (SQL) is the international standard language for relational database management systems. SQL is robust enough to be used by, users with non-technical backgrounds, as well as professional developers and administrators. PL/SQL is Oracle’s Procedural Language for SQL. It is Oracle’s database programming language for creating stored procedures, functions, database triggers, and object methods. PL/SQL can be used for implementing business rules, computing algorithms, manipulating data, and for stand-alone programs.

This course is a combination of “Introduction to Oracle SQL Programming” and “Introduction to Oracle PL/SQL Programming.” Students will learn how to create, retrieve, and manipulate objects in Oracle Database 10g Structured Query Language (SQL). Students will also be introduced to Oracle10g features and tools. Students will learn the fundamentals of the PL/SQL programming language, writing stored procedures, functions, packages, and triggers.

Audience: Application developers, database administrators, system administrators, and users who write applications and procedures that access Oracle 10g.

Prerequisites: A solid understanding of 3GL programming is required.

Class Length: 5 days

Introduction to Oracle Programming Training Class Objectives
  • Describe the features of a Relational Database and interact with a Relational Database Management System.
  • Use SQL*Plus to connect to an Oracle database and submit SQL statements.
  • Write SQL queries and functions, including joining together data items from multiple tables.
  • Write nested queries.
  • Perform summary analysis of data in a query.
  • Add, change, and remove data in a database.
  • Work in a multi-user database environment.
  • Create and manage tables and other database objects.
  • Control access to data.
  • Create indexes to improve query performance.
  • Use SQL*Plus to create formatted reports.
  • Create triggers on database tables.
  • Use PL/SQL's datatypes and collection datatypes for database and program data.
  • Use program structure and control flow to design and write PL/SQL programs.
  • Create PL/SQL stored procedures and functions.
  • Write robust programs that handle runtime exceptions.
  • Use cursors to work with database data.
  • Use the packages supplied with Oracle, as well as design and write your own packages.
  • Manage the security of your stored PL/SQL programs.
Introduction to Oracle Programming Training Class Detailed Outline
  1. Course Introduction
    • Course Objectives
    • Overview
    • Suggested References
  2. Relational Database and SQL Overview
    • Review of Relational Database Terminology
    • Relational Database Management Systems
    • Introduction to SQL
    • Oracle Versioning and History
    • Logical and Physical Storage Structures
    • Connecting to a SQL Database
    • Datatypes
    • Sample Database
  3. Using Oracle SQL*Plus
    • SQL*Plus
    • The SQL Buffer
    • Buffer Manipulation Commands
    • Running SQL*Plus Scripts
    • Tailoring Your SQL*Plus Environment
    • Viewing Table Characteristics
    • SQL*Plus Substitution Variables
    • Interactive SQL*Plus Scripts
    • SQL*Plus LOB Support
    • Using iSQL*Plus
    • Graphical Clients
  4. SQL Queries - The SELECT Statement
    • The SELECT Statement
    • The CASE...WHEN Statement
    • Choosing Rows with the WHERE Clause
    • NULL Values
    • Compound Expressions
    • IN and BETWEEN
    • Pattern Matching: LIKE and REGEXP_LIKE
    • Creating Some Order
  5. Scalar Functions
    • SQL Functions
    • Using SQL Functions
    • String Functions
    • Numeric Functions
    • Date Functions
    • Date Formats
    • Conversion Functions
    • Literal Values
    • Intervals
    • Oracle Pseudocolumns
  6. SQL Queries - Joins
    • Selecting from Multiple Tables
    • Joining Tables
    • Self Joins
    • Outer Joins
  7. Aggregate Functions and Advanced Techniques
    • Subqueries
    • Correlated Subqueries
    • The EXISTS Operator
    • The Aggregate Functions
    • Nulls and DISTINCT
    • Grouping Rows
    • Combining SELECT Statements
  8. Data Manipulation and Transactions
    • The INSERT Statement
    • The UPDATE Statement
    • The DELETE Statement
    • Transaction Management
    • Concurrency
    • Explicit Locking
    • Data Inconsistencies
    • Loading Tables From External Sources
  9. Data Definition and Control Statements
    • Datatypes
    • Defining Tables
    • Constraints
    • Inline Constraints
    • Modifying Table Definitions
    • Deleting a Table Definition
    • Controlling Access to Your Tables
  10. Other Database Objects
    • Views
    • Creating Views
    • Updatable Views
    • Sequences
    • Synonyms
  11. Triggers
    • Beyond Declarative Integrity
    • Triggers
    • Types of Triggers
    • Row-Level Triggers
    • Trigger Predicates
    • Trigger Conditions
    • Using SEQUENCEs
    • Cascading Triggers and Mutating Tables
    • Generating an Error
    • Maintaining Triggers
  12. PL/SQL Variables and Datatypes
    • Anonymous Blocks
    • Declaring Variables
    • Datatypes
    • Subtypes
    • Character Data
    • Dates and Timestamps
    • Date Intervals
    • Anchored Types
    • Assignment and Conversions
    • Selecting into a Variable
    • Returning into a Variable
  13. PL/SQL Syntax and Logic
    • Conditional Statements – IF/THEN
    • Conditional Statements – CASE
    • Comments and Labels
    • Loops
    • WHILE and FOR Loops
    • SQL in PL/SQL
    • Local Procedures and Functions
  14. Stored Procedures and Functions
    • Stored Subprograms
    • Creating a Stored Procedure
    • Procedure Calls and Parameters
    • Parameter Modes
    • Creating a Stored Function
    • Stored Functions and SQL
    • Invoker’s Rights
  15. Exception Handling
    • Exception Handlers
    • Nesting Blocks
    • Scope and Name Resolution
    • Declaring and Raising Named Exceptions
    • User-Defined Exceptions
  16. Records, Collections, and User-Defined Types
    • Record Variables
    • Using the %ROWTYPE Attribute
    • VARRAY and Nested TABLE Collections
    • Using Nested TABLEs
    • Using VARRAYs
    • Collection in Database Tables
    • Associative Array Collections
    • Collection Methods
    • Iterating Through Collections
  17. Cursors
    • Multi-Row Queries
    • Declaring and Opening Cursors
    • Fetching Rows
    • Closing Cursors
    • The Cursor FOR Loop
    • FOR UPDATE Cursors
    • Cursor Parameters
    • The Implicit (SQL) Cursor
  18. Bulk Operations
    • Bulk Binding
    • BULK COLLECT Clause
    • FORALL Statement
    • FORALL Variations
    • Bulk Returns
    • Bulk Fetching with Cursors
  19. Using Packages
    • Packages
    • Oracle-Supplied Packages
    • The DBMS_OUTPUT Package
    • The DBMS_UTILITY Package
    • The UTL_FILE Package
    • Creating Pipes with DBMS_PIPE
    • Writing to and Reading from a Pipe
    • The DBMS_METADATA Package
    • XML Packages
    • Networking Packages
    • Other Supplied Packages
  20. Creating Packages
    • Structure of a Package
    • The Package Interface and Implementation
    • Package Variables and Package State
    • Overloading Package Functions and Procedures
    • Forward Declarations
    • Strong REF CURSOR Variables
    • Weak REF CURSOR Variables
  21. Working with LOBs
    • Large Object Types
    • Oracle Directories
    • LOB Locators
    • Internal LOBs
    • External LOBs
    • Temporary LOBs
    • The DBMS_LOB Package
  22. Maintaining PL/SQL Code
    • Privileges for Stored Programs
    • Data Dictionary
    • PL/SQL Stored Program Compilation
    • Conditional Compilation
    • Compile-Time Warnings
    • The PL/SQL Execution Environment
    • Dependencies and Validation
    • Maintaining Stored Programs
  23. Appendix A - The Data Dictionary
    • Introducing the Data Dictionary
    • DBA, ALL, and USER Data Dictionary Views
    • Some Useful Data Dictionary Queries
  24. Appendix B - Dynamic SQL
    • Generating SQL at Runtime
    • Native Dynamic SQL vs. DBMS_SQL Package
    • The EXECUTE IMMEDIATE Statement
    • Using Bind Variables
    • Multi-row Dynamic Queries
    • Bulk Operations with Dynamic SQL
    • Using DBMS_SQL
    • DBMS_SQL Subprograms
  25. Appendix C - PL/SQL Versions, Datatypes, and Language Limits
  26. Appendix D – Oracle 10g Supplied Packages