CE131G - DB2 SQL Workshop for Experienced Users - 3 Days

Course Description

This intermediate course is for experienced SQL end users, application programmers, database administrators and user support staff who need more advanced knowledge of SQL.


Pre-requisites

Delegates should have experience with coding and executing basic SQL statements.


Objectives

This course teaches delegates how to make use of advanced SQL techniques to access DB2 databases in different environments. This course is appropriate for customers working in all DB2 environments, specifically for z/OS, Linux, UNIX and Windows.

Course objectives include:

  • Discuss basic relational database concepts.
  • Use some of the OLAP features of DB2, such as GROUPing and RANKing functions.
  • Create tables, views and indexes.
  • Use referential integrity, check constraints and triggers.
  • Use outer joins, and join tables to themselves.
  • Use CASE expressions and the CAST function.
  • Identify the impact of Summary Tables, Materialized Query Tables and temporary tables.
  • Use complex subqueries.
  • Use a greater number of scalar SQL functions.
  • Use advanced SQL constructs, such as recursive SQL and table expressions.
  • Define User-Defined Distinct Types and User-Defined Functions.
  • Avoid several of the most common causes for poorly-performing SQL.


Customisation

For on-site courses (i.e. at your premises), we are more than happy to tailor the course agenda to suit your exact requirements. In many cases, we are able to build your in-house standards and naming conventions into the delivered course.


Course Details

Introduction
Identify the purpose of the clauses in the SELECT statement.
Describe the key differences among the IBM DB2 platforms.
Describe and use some of the OLAP features of DB2, such as GROUPING functions like CUBE and ROLLUP and the RANK, DENSE_RANK and ROW_NUMBER functions.

Create Objects
Code statements to:
• Create tables and views.
• Alter tables.
• Create indexes.
• Implement referential integrity (RI).
• Define triggers and check constraints.
Identify impacts and advantages of referential integrity, including impacts of delete rules.
Identify considerations when using triggers and check constraints.
Define and make use of INSTEAD OF triggers.

Join
Retrieve data from more than one table via inner and outer joins.
Use outer joins (LEFT, RIGHT, FULL).
Use ANTI JOINS.
Join a table to itself.
Use UNION and UNION ALL.
Use EXCEPT and INTERCEPT.

CASE, CAST, Summary Tables and Materialized Query Tables
Identify when CASE expressions can be used.
Code CASE expressions in SELECT list and in the WHERE clause.
Identify when CAST specifications can be used.
Identify the advantages of using Summary (Materialized Query) Tables and Temporary tables.
Identify the advantages of using Materialized Query Tables (MQTs).
Identify when and how to use Temporary tables.

Using Subqueries
Code subqueries using the ALL, ANY/SOME and EXISTS keywords.
Code correlated subqueries.
Choose the proper type of subquery to use in each case.

Scalar Functions
Extend your knowledge of scalar functions which: Manipulate arithmetic data, Manipulate date values, and Manipulate character data.
Examples of scalar functions that are addressed in this course:
• SUBSTR.
• POSSTR.
• COALESCE/VALUE.
• DECIMAL.
• ROUND.
• DIGITS.
• CHAR.
• DATE/TIME.

Table Expressions and Recursive SQL
Identify reasons for using table expressions and recursive SQL.
Use nested and common table expressions.
Identify the difference between views and table expressions.
Code recursive SQL.
Control the depth of recursion when coding recursive SQL.

UDTs/UDFs and Performance
Describe the concepts behind User-Defined Types, User-Defined Functions and Stored Procedures.
Predict when queries will use indexes to get better performance.
Identify concepts of predicate processing.
State introductory concepts about index structure.
State general best practices advice.


Course Enquiry