Introduction to Computer Science and Business

Similar documents
Oracle PLSQL Training Syllabus

IZ0-144Oracle 11g PL/SQL Certification (OCA) training

Oracle Database 11g: Program with PL/SQL Release 2

Oracle Database 11g: Program with PL/SQL

1Z Oracle Database 11g - Program with PL/SQL Exam Summary Syllabus Questions

ORACLE TRAINING. ORACLE Training Course syllabus ORACLE SQL ORACLE PLSQL. Oracle SQL Training Syllabus

Oracle Database 12c R2: Program with PL/SQL Ed 2 Duration: 5 Days

Oracle Database 12c: Program with PL/SQL Duration: 5 Days Method: Instructor-Led

Oracle Database: Program with PL/SQL

Oracle Database: Program with PL/SQL Ed 2

Conditionally control code flow (loops, control structures). Create stored procedures and functions.

Oracle Developer Track Course Contents. Mr. Sandeep M Shinde. Oracle Application Techno-Functional Consultant

Oracle - Oracle Database: Program with PL/SQL Ed 2

5. Single-row function

Oracle Database 11g: SQL and PL/SQL Fundamentals

Oracle Database: Program with PL/SQL

COWLEY COLLEGE & Area Vocational Technical School

Oracle Database: Introduction to SQL/PLSQL Accelerated

Oracle Database: SQL and PL/SQL Fundamentals NEW

Oracle Database: SQL and PL/SQL Fundamentals Ed 2

Contents I Introduction 1 Introduction to PL/SQL iii

SQL+PL/SQL. Introduction to SQL

Introduction to SQL/PLSQL Accelerated Ed 2

Oracle PLSQL. Course Summary. Duration. Objectives

Topics Fundamentals of PL/SQL, Integration with PROIV SuperLayer and use within Glovia

Proje D2K. CMM (Capability Maturity Model) level Project Standard:- Corporate Trainer s Profile

Table of Contents. PDF created with FinePrint pdffactory Pro trial version

ORACLE: PL/SQL Programming

Oracle PL/SQL - 12c & 11g [Basic PL/SQL & Advanced PL/SQL]

Oracle Database: Program with PL/SQL Ed 2 Erlernen Sie diese leistungsstarken Programmiersprache

Table of Contents. Oracle SQL PL/SQL Training Courses

Question: Which statement would you use to invoke a stored procedure in isql*plus?

Oracle Database: SQL and PL/SQL Fundamentals NEW

Question Bank PL/SQL Fundamentals-I

Oracle12c Release 1 PL/SQL (3 Days)

Oracle Syllabus Course code-r10605 SQL

ORACLE DATABASE 12C INTRODUCTION

Course Outline and Objectives: Database Programming with SQL

Introduction to Computer Science and Business

Oracle Database: SQL and PL/SQL Fundamentals

1 Writing Basic SQL SELECT Statements 2 Restricting and Sorting Data

ORACLE TRAINING CURRICULUM. Relational Databases and Relational Database Management Systems

ADVANTAGES. Via PL/SQL, all sorts of calculations can be done quickly and efficiently without use of Oracle engine.

Oracle PL SQL Training & Certification

1Z0-144 Q&As Oracle Database 11g: Program with PL/ SQL

ORACLE DEV 11G CURRICULUM. Introduction to SQL

Introduction p. 1 The Logical and Physical View of Tables p. 1 Database Types p. 4 NULLs p. 6 DDL and DML Statements p. 7 Column and Table Constraint

Oracle Database 10g: Introduction to SQL

Oracle SQL Course Content

A Unit of SequelGate Innovative Technologies Pvt. Ltd. All Training Sessions are Completely Practical & Real-time

Business Analytics. SQL PL SQL [Oracle 10 g] P r i n c e S e t h i w w w. x l m a c r o. w e b s. c o m

"Charting the Course... Oracle 18c PL/SQL (5 Day) Course Summary

AO3 - Version: 2. Oracle Database 11g SQL

Oracle Database: Introduction to SQL

PL/SQL Block structure

normalization are being violated o Apply the rule of Third Normal Form to resolve a violation in the model

Oracle Database: Introduction to SQL Ed 2

UNIT-IV (Relational Database Language, PL/SQL)

Certification Exam Preparation Seminar: Oracle Database SQL

Oracle Database: Introduction to SQL

EDUVITZ TECHNOLOGIES

Oracle Database: Introduction to SQL

CO Oracle Database 12c: Advanced PL/SQL

Vendor: Oracle. Exam Code: 1Z Exam Name: Oracle Database 11g: Program with PL/ SQL. Version: Demo

Oracle SQL & PL SQL Course

Oracle. SQL(Structured Query Language) Introduction of DBMS. Build In Function. Introduction of RDBMS. Grouping the Result of a Query

Question No : 1 Which statement is true about triggers on data definition language (DDL) statements?

2 PL/SQL - fundamentals Variables and Constants Operators SQL in PL/SQL Control structures... 7

PLSQL 9i Index. Section Title Page

Oracle Database 10g: PL/SQL Fundamentals

20461: Querying Microsoft SQL Server 2014 Databases

When a database trigger routine does not have to take place before the triggering event, which timing should you assign to the trigger?

Oracle Database 10g: PL/SQL Fundamentals

Course Outline. Querying Data with Transact-SQL Course 20761B: 5 days Instructor Led

Querying Data with Transact-SQL

Querying Data with Transact-SQL

20761B: QUERYING DATA WITH TRANSACT-SQL

SQL Interview Questions

Oracle Database 11g: Introduction to SQLRelease 2

Querying Data with Transact-SQL

Oracle Exam 1z0-144 Oracle Database 11g: Program with PL/SQL Version: 8.5 [ Total Questions: 103 ]

COURSE OUTLINE: Querying Microsoft SQL Server

Querying Data with Transact-SQL

Sql Server Syllabus. Overview

Querying Data with Transact SQL

20761 Querying Data with Transact SQL

Database Programming with PL/SQL

COURSE OUTLINE MOC 20461: QUERYING MICROSOFT SQL SERVER 2014

Querying Microsoft SQL Server

Oracle EXAM - 1Z Oracle Database 11g: Program with PL/SQL. Buy Full Product.

Developer. 1 enterprise. Professional Guide. Oracle Advanced PL/SQL. example questions for 1Z0-146 examination

Oracle EXAM 1Z0-144 Oracle Database 11g: Program with PL/SQL

Querying Microsoft SQL Server 2012/2014

1Z0-144.v Number: 1Z0-144 Passing Score: 800 Time Limit: 120 min File Version:

Oracle Database 11g & PL/SQL

After completing this course, participants will be able to:

Exam Name: Oracle Database 11g: Program with PL/SQL

AVANTUS TRAINING PTE LTD

ORACLE CERTIFIED ASSOCIATE ORACLE DATABASE 11g ADMINISTRATOR

2. Programming written ( main theme is to test our data structure knowledge, proficiency

Transcription:

Introduction to Computer Science and Business The Database Programming with PL/SQL course introduces students to the procedural language used to extend SQL in a programatic manner. This course outline includes section titles and descriptions, lesson titles and detailed learning objectives for each lesson. Upon completion of this course, students have the opportunity to sit for the exams required to earn the Oracle PL/SQL Developer Certified Assicate certification. Section 1: Fundamentals This section provides an introduction to PL/SQL and explains the difference between SQL and the PL/SQL block structure. Students explore some of the limitations of SQL and learn why PL/SQL is needed. PL/SQL key words and definitions and appropriate usages are introduced. The students learn the characteristics of the PL/SQL programming language including how it compares to other programming languages like C and Java. Finally, students learn about the PL/SQL block structure, the basic unit in PL/SQL. They begin coding anonymous blocks in Oracle Application Express, a browser-based development environment. Lesson 1: Introduction to PL/SQL Describe PL/SQL Differentiate between SQL and PL/SQL Explain the need for PL/SQL Lesson 2: Benefits of PL/SQL List and explain the benefits of PL/SQL List differences between PL/SQL and other programming languages Give examples of how PL/SQL can be used in other Oracle products Lesson 3: Creating PL/SQL Blocks Describe the structure of a PL/SQL block Identify the different types of PL/SQL blocks Identify PL/SQL programming environments Create and execute an anonymous PL/SQL block Output messages in PL/SQL Section 2: Defining Variables and Datatypes This section introduces students to the syntax, vocabulary, and parts of speech or lexical units of the PL/SQL programming language. Students learn to define variables for storing and manipulating data. They learn about lexical units such as reserved words, delimiters, and literals. The students also learn about data types supported by PL/SQL such as integer, floating point, character, boolean, date and collection. After a brief review of SQL functions, students learn how to incorporate SQL functions in PL/SQL statements and how it is occasionally necessary to explicitly convert data types. This section also expands on simple block structure with an exploration of scope and nesting blocks. It covers the use of variables and datatypes and explains the scope of nested blocks. Lesson 1: Using Variables in PL/SQL List the uses of variables in PL/SQL Identify the syntax for variables in PL/SQL Declare and initialize variables in PL/SQL Assign new values to variables in PL/SQL Lesson 2: Recognizing PL/SQL Lexical Units List and define the different types of lexical units available in PL/SQL Describe identifiers and identify valid and invalid identifiers in PL/SQL Page 1 of 10

Describe and identify reserved words, delimiters, literals, and comments in PL/SQL Lesson 3: Recognizing Data Types Define data type and explain why it is needed List and describe categories of data types Give examples of scalar and composite data types Lesson 4: Using Scalar Data Types Declare and use scalar data types in PL/SQL Define guidelines for declaring and initializing PL/SQL variables Identify the benefits of anchoring data types with the %TYPE attribute Lesson 5: Writing PL/SQL Executable Statements Construct accurate variable assignment statements in PL/SQL Construct accurate statements using built-in SQL functions in PL/SQL Differentiate between implicit and explicit conversions of data types Describe when implicit conversions of data types take place List drawbacks of implicit data type conversions Construct accurate statements using functions to explicitly convert data types Construct statements using operators in PL/SQL Lesson 6: Nested Blocks and Variable Scope Understand the scope and visibility of variables Write nested blocks and qualify variables with labels Describe the rules for variable scope when a variable is nested in a block Recognize a variable scope issue when a variable is used in nested blocks Qualify a variable nested in a block with a label Lesson 7: Good Programming Practices List examples of good programming practices Accurately insert comments into PL/SQL code Create PL/SQL code that follows formatting guidelines to produce readable code Section 3: Using SQL in PL/SQL This section begins with a brief review of Data Manipulation Language (DML), that is, SQL commands that allow for the manipulation of data in the database. Students learn to embed standard DML statements such as SELECT, INSERT, DELETE, and UPDATE in PL/SQL blocks. They also learn about the implicit cursors that are created when executing SQL statements in PL/SQL as well as the cursor attributes that allow them to test the outcome of these statements. Finally, students learn about database transactions and how to group together SQL statements into logical units using COMMIT, ROLLBACK, and SAVEPOINT to make changes to the database permanent or to discard them. Lesson 1: Review of SQL DML Construct and execute a DML statement to insert data into a database table Construct and execute a DML statement to update data in a database table Construct and execute a DML statement to delete data from a database table Construct and execute a DML statement to merge data into a database table Lesson 2: Retrieving Data in PL/SQL Recognize the SQL statements that can be directly included in a PL/SQL executable block Construct and execute an INTO clause to hold the values returned by a single-row SQL SELECT statement Construct statements to retrieve data that follow good practice guidelines Construct statements that apply good practice guidelines for naming variables Page 2 of 10

Lesson 3: Manipulating Data in PL/SQL Construct and execute PL/SQL statements that manipulate data with DML statements Describe when to use implicit or explicit cursors in PL/SQL Create PL/SQL code to use SQL implicit cursor attributes to evaluate cursor activity Lesson 4: Using Transaction Control Statements Define a transaction and provide an example Construct and execute a transaction control statement in PL/SQL Section 4: Program Structures To Control Execution Flow Conditional control allows control of the flow of program execution to be based on a condition. Program structures such as conditional control statements and iterative control statements control the flow of execution through a program. Conditional control is the ability to direct the flow of execution through a program based on a condition. Iterative control is the ability to execute a sequence of statements multiple times until a certain condition is met.. In this section the students will explore conditional control structures and gain an understanding on how these structures can be nested one inside of another. This section also covers the different kids of conditional and iterative control statements available in PL/SQL. In terms of conditional control, students learn the syntax and usage of IF-THEN-ELSE and CASE statements. In terms of iterative control statements, students learn the purpose of and usage guidelines for simple loops, WHILE loops, and FOR loops, Students will also and gain an understanding on how these structures can be nested one inside of another. Lesson 1: Conditional Control: IF Statements Describe a use for conditional control structures List the types of conditional control structures Construct and use an IF statement Construct and use an IF-THEN-ELSIF-ELSE statement Create PL/SQL to handle the null condition in IF statements Lesson 2: Conditional Control: Case Statements Construct and use CASE statements in PL/SQL Construct and use CASE expressions in PL/SQL Include the correct syntax to handle null conditions in PL/SQL CASE statements Include the correct syntax to handle Boolean conditions in PL/SQL IF and CASE statements Lesson 3: Iterative Control: Basic Loops Describe the need for LOOP statements in PL/SQL Recognize different types of LOOP Statements Create PL/SQL containing a basic loop and an EXIT statement Create PL/SQL containing a basic loop and an EXIT statement with conditional termination Lesson 4: Iterative Control: While and For Loops Construct and use the WHILE looping construct in PL/SQL Construct and use the FOR looping construct in PL/SQL Describe when a WHILE loop is used in PL/SQL Describe when a FOR loop is used in PL/SQL Lesson 5: Iterative Control: Nested Loops Construct and execute PL/SQL using nested loops Label loops and use the labels in EXIT statements Evaluate a nested loop construct and identify the exit point Section 5: Using Cursors and Parameters Page 3 of 10

In this section students are introduced to explicit cursors, that is, cursors that are declared by the programmer. Students learn that cursors can be used to select multiple rows from a database table allowing the programming code to process rows one at a time. In addition to learning about the different syntactical rules for creating cursors, students also learn what a parameter is and how to pass parameters into a cursor. Lesson 1: Introduction to Explicit Cursors Distinguish between an implicit and an explicit cursor Describe why and when to use an explicit cursor in PL/SQL code List two or more guidelines for declaring and controlling explicit cursors Create PL/SQL code that successfully opens a cursor and fetches a piece of data into a variable Use a simple loop to fetch multiple rows from a cursor Create PL/SQL code that successfully closes a cursor after fetching data into a variable Lesson 2: Using Explicit Cursor Attributes Define a record structure using the %ROWTYPE attribute Create PL/SQL code to process the row of an active set using record types in cursors Retrieve information about the state of an explicit cursor using cursor attributes Lesson 3: Cursor FOR Loops List and explain the benefits of using cursor FOR loops Create PL/SQL code to declare a cursor and manipulate it in a FOR loop Create PL/SQL code containing a cursor FOR loop using a subquery Lesson 4: Cursors with Parameters List the benefits of using parameters with cursors Create PL/SQL code to declare and manipulate a cursor with a parameter Lesson 5: Using Cursors For Update Create PL/SQL code to lock rows before an update using the appropriate clause Explain the effect of using NOWAIT in a update cursor declaration Create PL/SQL code to use the current row of the cursor in an UPDATE or DELETE statement Lesson 6: Using Multiple Cursors Explain the need for using multiple cursors to produce multilevel reports Create PL/SQL code to declare and manipulate multiple cursors within nested loops Create PL/SQL code to declare and manipulate multiple cursors using parameters Section 6: Using Composite Datatypes This section explains the concept of composite data structures by describing the use of user-defined records, user-defined tables and user-defined tables of records and how to use these to manipulate the individual components of composite data. These records, index by tables and index by table of records are known as composite datatypes, as they are comprised of more than one element, unlike scalar datatypes, Lesson 1: User-Defined Records Create and manipulate user-defined PL/SQL records Lesson 2: Indexing Tables of Records Create an INDEX BY table Create an INDEX BY table of records Describe the difference between records, tables and tables of records Section 7: Exception Handling Page 4 of 10

Up to this point in the course, it is assumed that the code written by students works fine as long as it compiles correctly. However, when these compiled programs are executed, the code may cause some unanticipated errors. There run-time errors are also known as exceptions. In this section, students learn how to specify an exception handler so that the program does not terminate when PL/SQL raises an exception. Exception handlers make the program more robust by specifying the final actions to perform before the block ends. Students learn how to handle Oracle Server (built in) and user-defined exceptions. Students also learn how an unhandled exception propagates outwards when nested blocks are used. Lesson 1: Handling Exceptions Describe several advantages of including exception handling code in PL/SQL Describe the purpose of an EXCEPTION in a PL/SQL block Create PL/SQL code to include an EXCEPTION section List several guidelines for exception handling Lesson 2: Trapping Oracle Server Exceptions Describe and provide an example of an error defined by the Oracle server Describe and provide an example of an error defined by the PL/SQL programmer Differentiate between errors that are handled implicitly and explicitly by the Oracle Server Write PL/SQL code to trap a predefined Oracle Server error Write PL/SQL code to trap a non-predefined Oracle Server error Write PL/SQL code to identify an exception by error code and by error message Lesson 3: Trapping User-Defined Exceptions Write PL/SQL code to name a user-defined exception Write PL/SQL code to raise an exception Write PL/SQL code to handle a raised exception Write PL/SQL code to use RAISE_APPLICATION_ERROR Lesson 4: Recognizing the Scope of Exceptions Describe the scope of an exception Recognize an exception-scope issue when an exception is within nested blocks Describe the effect of exception propagation in nested blocks Section 8: Using and Managing Procedures Programs focused on completing specific tasks and functions can be modularized into procedures, PL/SQL blocks that are generally used to perform an action. Procedures, which are always named, can be stored in the database and called when needed for repeated execution. In this section, students create, invoke, and correct errors in procedures. Students learn to use simple parameters to pass information into a procedure. They then learn how PL/SQL procedures support different parameter modes that allow parameters to not only pass information into a procedure, but also to return information back to the calling PL/SQL block. They learn how to create a subprogram in the declarative part of a procedure, which will act as a nested procedure. Students also learn how to delete procedures and view them in the data dictionary. Lesson 1: Creating Procedures Differentiate between anonymous blocks and subprograms Identify benefits of subprograms Define a stored procedure Create a procedure Describe how a stored procedure is invoked List the development steps for creating a procedure Create a nested subprogram in the declarative section of a procedure Lesson 2: Using Parameters in Procedures Describe how parameters contribute to a procedure Page 5 of 10

Define a parameter Create a procedure using a parameter Invoke a procedure that has parameters Differentiate between formal and actual parameters Passing Parameters List the types of parameter modes Create a procedure that passes parameters Identify three methods for passing parameters Describe the DEFAULT option for parameters Section 9: Using and Managing Functions A function is a named PL/SQL block that can accept parameters, be invoked, and return a value. Functions are very much like procedures. This section introduces user-defined functions, that is, functions that are created by a user and saved in the database as schema objects. Students learn how to create and invoke functions. They learn how to use functions in different parts of a SQL statement such as the SELECT list and the WHERE and HAVING clauses. Additionally, students learn how to delete functions and view them in the data dictionary. Finally, students learn the differences between definer s and invoker s rights. Lesson 1: Creating Functions Define a stored function Create a PL/SQL block containing a function List ways in which a function can be invoked Create a PL/SQL block that invokes a function that has parameters List the development steps for creating a function Describe the differences between procedures and functions Lesson 2: Using Functions in SQL Statements List the advantages of user-defined functions in SQL statements List where user-defined functions can be called from within an SQL statement Describe the restrictions on calling functions from SQL statements Lesson 3: Review of the Data Dictionary Describe the purposes of the Data Dictionary Differentiate between the three types of Data Dictionary view Write SQL SELECT statements to retrieve information from the Data Dictionary Explain the use of DICTIONARY as a Data Dictionary search engine Lesson 4: Managing Procedures and Functions Describe how exceptions are propagated Remove a function and a procedure Use Data Dictionary views to identify and manage stored programs Lesson 5: Review of Object Privileges List and explain several object privileges Explain the function of the EXECUTE object privilege Write SQL statements to grant and revoke object privileges Lesson 6: Using Invoker's Rights and Autonomous Transactions Contrast invoker's rights with definer's rights Create a procedure that uses invoker's rights Create a procedure that executes an Autonomous Transaction Section 10: Using and Managing Packages Page 6 of 10

Packages allow related PL/SQL types, variables, data structures, exceptions, and subprograms to be bundled into one container. Students are introduced to the different parts of a PL/SQL package the specification and body as well as the syntax for creating each. Students learn about the visibility of objects in packages and how to invoke subprograms in packages. After a brief discussion about managing packages, students are exposed to the more advanced features of PL/SQL, including overloading, and forward referencing. Students will learn how to create a package without a body and when this would be used. They will be shown how to call a function that is part of a package and also how to use PLSQL records and PLSQL Index By tables in packages. Lesson 1: Creating Packages Describe the reasons for using a package Describe the specification and body components of a package Create packages containing related variables, cursors, constants, exceptions, procedures, and functions Create a PL/SQL block that invokes a package construct Lesson 2: Managing Package Concepts Explain the difference between public and private package constructs Designate a package construct as either public or private Specify the appropriate syntax to drop packages Identify views in the Data Dictionary that manage packages Identify guidelines for using packages Lesson 3: Advanced Package Concepts Write packages that use the overloading feature Write packages that use forward declarations Explain the purpose of a package initialization block Create and use a bodiless package Invoke packaged functions from SQL Identify restrictions on using packaged functions in SQL statements Create a package that uses PL/SQL tables and records Section 11: Getting the Best out of Packages To extend the functionality of the database, Oracle includes many packages with the Oracle Server. Students gain experience using several of the more commonly used Oracle server-supplied packages. Lesson 1: Persistent State of Package Variables Identify persistent states of package variables Control the persistent state of a package cursor Lesson 2: Using Oracle-Supplied Packages Describe two common uses for the DBMS_OUTPUT server-supplied package Recognize the correct syntax to specify messages for the DBMS_OUTPUT package Describe the purpose for the UTL_FILE server-supplied package. Recall the exceptions used in conjunction with the UTL_FILE server-supplied package. Describe the main features of the UTL_MAIL server-supplied package Section 12: Improving PL/SQL Performance In this section students learn to construct and execute SQL statements dynamically (at run time) using the Native Dynamic SQL statements in PL/SQL. Students also gain an understanding of programming clauses that can drive performance improvement. Lesson 1: Using Dynamic SQL Recall the stages through which all SQL statements pass Page 7 of 10

Describe the reasons for using dynamic SQL to create an SQL statement List four PL/SQL statements supporting Native Dynamic SQL Describe the benefits of EXECUTE IMMEDIATE over DBMS_SQL for Dynamic SQL Lesson 2: Improving PL/SQL Performance Identify the benefits of the NOCOPY hint and the DETERMINISTIC clause Create subprograms that use the NOCOPY hint and the DETERMINISTIC clause Use Bulk Binding FORALL in a DML statement Use BULK COLLECT in a SELECT or FETCH statement Use the Bulk Binding RETURNING clause Section 13: Using and Managing Triggers Triggers are another type of named PL/SQL block or procedure. Triggers are associated with a table, view, schema, or database. Triggers execute implicitly whenever a particular DML or DDL event takes place. Students learn about the different types of triggers, the events that cause the trigger to fire, and the steps required to create them. Finally, students learn how to manage triggers by viewing them in the data dictionary, altering their status, and deleting them. Lesson 1: Introduction to Triggers Describe database triggers and their uses Define a database trigger Recognize the difference between a database trigger and an application trigger List two or more guidelines for using triggers Compare and contrast database triggers and stored procedures Lesson 2: Creating DML Triggers Part I Create a DML trigger List the DML trigger components Create a statement level trigger Describe the trigger firing sequence options Lesson 3: Creating DML Triggers Part II Create a DML trigger that uses conditional predicates Create a row-level trigger Create a row-level trigger that uses OLD and NEW qualifiers Create an INSTEAD OF trigger Create a Compound Trigger Lesson 4: Creating DDL and Database Event Triggers Describe events that cause DDL and database event triggers to fire Create a trigger for a DDL statement Create a trigger for a database event Describe the functionality of the CALL statement Describe the cause of a mutating table Lesson 5: Managing Triggers View trigger information in the Data Dictionary Disable and enable a database trigger Remove a trigger from the database Section 14: Recognizing and Managing Dependencies In PL/SQL, some objects reference other objects as part of their definitions. If the definition of a referenced object is altered, the dependent object (or objects) may or may not continue to work properly. This is called a dependency. Section 14 teaches students about different kinds of dependencies, including how to identify Page 8 of 10

them by running SQL scripts as well as how to fix them when necessary. Students will also learn how to write code so that dependency failures are unlikely. Finally students will learn how dependencies are maintained between different databases, so how remote dependencies are created, how they are maintained, when the remote dependencies will be recompiled and what will be the likely outcome of the recompilation success or failure. Lesson 1: Introduction to Dependencies Describe the implications of procedural dependencies Contrast dependent objects and referenced objects View dependency information in the data dictionary Use the UTLDTREE script to create the objects required to display dependencies Use the IDEPTREE and DEPTREE views to display dependencies Describe when automatic recompilation occurs List how to minimize dependency failures Lesson 2: Understanding Remote Dependencies Describe remote dependencies List how remote dependencies are controlled Describe when a remote dependency is unsuccessfully recompiled Describe when a remote dependency is successfully recompiled Section 15: Using the PL/SQL Compiler Key issues in IT software development include performance, version control, intellectual property and security. Section 15 teaches students how to improve performance using initialization parameters and compiler warnings. It then explains how to create a PL/SQL program that will compile and execute successfully on any supported version of the Oracle database server. Finally, students learn how to prevent everyone except themselves even the Database Administrator from viewing their PL/SQL source code. Lesson 1: Using PL/SQL Initialization Parameters Describe how PLSQL_CODE_TYPE can improve execution speed Describe how PLSQL_OPTIMIZE_LEVEL can improve execution speed Use USER_PLSQL_OBJECT_SETTINGS to see how a PL/SQL program was compiled Lesson 2: Displaying Compiler Warning Messages Contrast and explain the difference between a warning and an error Describe and contrast the warning levels which can be set by the PLSQL_WARNINGS parameter Set warning levels by calling the DBMS_WARNING server-supplied package from within a PL/SQL program Lesson 3: Using Conditional Compilation Describe the benefits of conditional compilation Create and conditionally compile a PL/SQL program containing selection, inquiry and error directives Create and conditionally compile a PL/SQL program which calls the DBMS_DB_VERSION server-supplied package Lesson 4: Hiding your Source Code Describe the benefits of obfuscated PL/SQL source code Use the DBMS_DDL.CREATE_WRAPPED server-supplied procedure Describe how to use the Wrapper utility to obfuscale PL/SQL source code Database Programming with PL/SQL Appendix A This section contains a number of self-study lessons. These lessons are designed to help students review SQL syntax used throughout the Database Programming with PL/SQL course. Page 9 of 10

Lesson 1: Review of SQL SELECT Statements Create a basic SQL statement including ORDER BY Perform and display arithmetic calculations Construct a query using a column alias Apply the concatenation operator Use literal values in a SELECT statement Use DISTINCT syntax in a query to eliminate duplicate rows Use conditional syntax including BETWEEN, IN, and LIKE, in a query Lesson 2: Review of SQL Single-Row Functions Select and apply single-row functions in a query to change the case of character data Select and apply single-row functions in a query to concatenate character data Select and apply single-row functions in a query to determine the length of character data Select and apply single-row functions in a query to select a substring of character data Select and apply single-row functions in a query to round or truncate numerical data Select and apply single-row functions in a query to convert data stored as one data type to another data type Select and apply single-row functions in a query to perform month-level arithmetic Select and apply single-row functions in a query to enhance query results containing null values Lesson 3: Review of SQL Joins Construct and execute SELECT statements to access data from more than one table using an equijoin Construct and execute SELECT statements to access data from more than one table using a nonequijoin Construct and execute SELECT statements to access data from more than one table using an outer join Construct and execute SELECT statements that result in a Cartesian product Lesson 4: Review of SQL Group Functions and Subqueries Construct and execute a SQL query that uses group functions to determine a sum total, an average amount, and a maximum value Construct and execute a SQL query that groups data based on specified criteria Construct and execute a SQL query that contains a WHERE clause using a single-row subquery Construct and execute a SQL query that contains a WHERE clause using a multiple-row subquery Page 10 of 10