On successful completion of this course, attendees will be able to:
Experienced DB2 applications developers working with DB2 for z/OS up to Release 9.
Attendance on the RSM course 'DB2 for Applications Programmers', or equivalent experience.
4 days
£1495 (ex. VAT)
DASE
DB2 Objects overview; Storage group; Database; Tablespace; Table; Indexspace/Index; Views; Synonym; Alias; Referential Integrity concepts; Referential Integrity constraints; Table check constraints; Unique constraints; Constraint syntax enhancements; Constraint management enhancements.
Index structure; When to index; Clustering index; When not to index; Composite keys; Reorganising indexes; Creating indexes.
Predicates; Access paths - matching index scan; Access paths - non-matching index scan; Access paths - table or tablespace scan; Access paths - direct row access; Indexable and non-indexable predicates; Predicate processing; Stage 1 and Stage 2 predicates; Summary of predicate processing; Predicate evaluation sequence; Sequential prefetch; List prefetch; Index lookaside.
Input to the Optimiser; Catalog statistics; Filter factors; Filter factor and clustering; Filter factor examples; Influencing the Optimiser; Influencing the Optimiser - manually adjusting statistics; Influencing the Optimiser - using optimisation hints; Influencing the Optimiser - modelling production values; Catalog statistics; RUNSTATS options; Statistics columns; RUNSTATS - examples.
EXPLAIN; PLAN_TABLE; PLAN_TABLE additions; DSN_STATEMNT_TABLE; DSN_FUNCTION_TABLE; EXPLAIN: basic access paths, multi-index access, nested queries examples.
Inner Join; Left Outer Join; Right Outer Join; Full Outer Join; Using COALESCE; Join predicates evaluation; Join transformation; Nested Loop Join; Merge Scan Join; Hybrid Join; Join performance.
Definitions; Subquery with IN list; Existence testing; Performance considerations; Self-referencing subselects with UPDATE; Self-referencing Subselects with DELETE; Self-referencing subselects - positioned UPDATE and DELETE.
Views; Nested table expressions; Nested table expressions with joins; Nested table expressions - performance; Common table expressions; Recursive SQL; View options; Temporary tables; Created temporary tables;Declared temporary tables; Table comparisons; Temporary tables examples.
UNION; UNION with views; UNION with nested table expression; UNION with Subqueries; UNION with data manipulation; INTERSECT; EXCEPT; Case expressions; Case expression with WHERE clause; Case expression with function; Case expression with UPDATE.
Distinct data types; User-defined functions; Identifying functions; Sourced user defined function; External user defined function; External user defined table functions; User defined SQL functions; Invoking functions; Function resolution.
Trigger; Trigger components; Trigger options; Trigger body statements; BEFORE, AFTER & IINSTEAD OF triggers; Trigger examples; Trigger performance.
Longer names; Longer statements; New data types; Scalor fullselect; Multiple DISTINCT; Expressions in GROUP BY; TRUNCATE; Update detection; Scrollable cursors; Multi-row processing; MERGE statement; Multi-row condition handling; GET DIAGNOSTICS; Generated data; Identity columns; Sequences; SELECT FROM INSERT/UPDATE/DELETE; INCLUDE with INSERT/UPDATE; Ranking data; ROW-NUMBER; RANK; DENSE_RANK; SQL procedures; Row level security.
Locking overview; Reasons for locking: lost updates, reading uncommitted data, repeatable read; Lock compatibility: row and page locks, table and tablespace locks; Bind - ACQUIRE and RELEASE parameters; Bind - ISOLATION parameter; Bind - CURRENTDATA parameter; Lock avoidance; Lock avoidance example; Locking and concurrency recommendations.
Program preparation; Bind alternatives - plan only; Bind alternatives - packages; Packages and collections; Package options - varying parameters; Package options - mirrored tables; Package options - versions; Considerations.