Appropriate for all courses in IBM DB2 Version 8 database development, and all courses preparing students to pass IBM's new DB2 Application Developer certification exam.
In this book, a team of IBM's leading DB2 development consultants present the only complete, start-to-finish guide to DB2 Universal Database V8/8.1 development, and the only authoritative preparation guide for IBM's latest DB2 Application Developer certification exam. Fully revised for DB2 Universal Database V8/V8.1, this definitive reference and self-study guide covers every aspect of DB2 development. Coverage includes: the DB2 client/server environment; choosing the right programming interface for each application; programming with Embedded SQL, ADO, CLI/ODBC, JDBC, SQLJ, Perl DBI, and stored procedures; and much more. Coverage also includes: using DB2 Extenders to provide XML support and other capabilities; and working with DB2's Administrative APIs. The book's IBM author team also shares a wide range of expert tips for maximizing database performance, availability, and efficiency. The accompanying CD-ROM contains a complete trial version of DB2 UDB v8 Personal Edition, as well as bonus certification exam study questions.
I. DB2 UDB FAMILY FUNDAMENTALS. 1. DB2 Product Overview.
Objectives. DB2 UDB Server Products. DB2 UDB ESE. DB2 UDB WSE. DB2 UDB WSUE. DB2 UDB PE. DB2 UDB Developer's Editions. DB2 UDB Personal Developer's Edition. DB2 UDB Universal Developer's Edition. DB2 UDB Connect Products. DB2 UDB Connect Enterprise Edition. DB2 UDB Connect Unlimited Edition. DB2 UDB Connect Personal Edition. DB2 UDB Connect Application Server Edition. DB2 UDB Clients. DB2 Run-Time Client. DB2 Administration Client. DB2 Application Development Client. DB2 Data Warehouse Concepts. DB2 OLAP Starter Kit Concepts. DB2 Relational Extenders. DB2 Everyplace. Summary. 2. DB2 Tools and Connectivity.
Objectives. Control Center Tool. Accessing DB2 Servers Using the Control Center. Health Center/Health Monitor Tool. Replication Center Tool. Satellite Administration Center Tool. Command Center Tool. Accessing DB2 Servers Using the Command Center Tool. Task Center Tool. Journal Tool. License Center Tool. Development Center. Configuration Assistant Tool. Accessing DB2 Servers Using the Configuration Assistant. Tools Settings. DB2 Web Tools. Web Command Center. Web Health Center. DB2 Recovery Expert Tool. DB2 Performance Expert Tool. DB2 High Performance Unload Tool. DB2 Table Editor Tool. DB2 Web Query Tool. Visual Explain Tool. Non-GUI Tools. Summary. 3. Database Objects and Security.
Objectives. The DDL and Database Objects. Tables. Indexes. Views. Schemas. Case-Sensitivity of Object Names. Errors when Running SQL Statements. Security. Authentication. Authorities and Privileges. Data Control Language (DCL). Summary. 4. Data Retrieval.
Objectives. Data Retrieval. Basic Data Retrieval. Expressions in the SELECT Statement. Sorting the Output. Searching for String Patterns. Searching for Data in Ranges. Searching for Null Values. Searching for Negative Conditions. Searching for a Set of Values. Subqueries. Quantified Predicates. Case Expressions. Aggregate Functions. Nested Table Expressions. Scalar Fullselect. Common Table Expressions. Selecting Data from Multiple Tables. Set Operators. Calling Stored Procedures. Summary. 5. Data Modification.
Objectives. Inserting Data Records. Inserting Data into Specific Columns. Inserting Multiple Rows. Inserting a Set of Values. Inserting Large Amounts of Data. Updating Data Records. Updating Large Amounts of Data. Removing Data. Deleting All the Rows in a Table. View Classification. Deletable Views. Updatable Views. Insertable Views. Read-Only Views. Inoperative Views. Summary. 6. Data Concurrency.
Objectives. Concurrency Considerations. Lost Update Problem. Lost Update Solution. Uncommitted Read. Nonrepeatable Read. Phantom Read Problem. Phantom Read Solution. Isolation Levels. Uncommitted Read. Cursor Stability. Read Stability. Repeatable Read. Choosing an Isolation Level. Locking. Lock Attributes. Lock Conversion. Lock Escalation. Lock Wait Behavior. LOCK TABLE Statement. LOCKSIZE Parameter of ALTER TABLE Statement. Summary.
II. DB2 UDB FAMILY APPLICATION DEVELOPMENT. 7. DB2 Programming Roadmap.
Objectives. Administrative API. Embedded SQL. Static Embedded SQL. Dynamic Embedded SQL. Driver-Based Application Solutions. Application Software Layers. CLI/ODBC. ADO and OLE DB. JDBC. SQLj. Perl Scripts Using the DBI. Net.Data134 DB2 Extenders. SQL PL. SQL Stored Procedures. Summary. 8. DB2 Programming Features and Strategies.
Objectives. Data-Manipulation Strategies. System Catalogs. Summary Tables. User-Defined Types (UDTs). Common Table Expressions. Compound SQL. Cursor Types and Scope. Prepared Statements. Use of Parameter Markers. Deferred Prepare. Identity Columns. Triggers. Stored Procedures. DB2 Built-In Functions and UDFs. STAR Schema Table/Index Design. Concurrency and Transaction Management. Unit of Work (UOW). Database Locking Strategies and Isolation Levels. Transactional Processing Using Embedded SQL. Transactional Processing Using CLI/ODBC. Transactional Processing Using JDBC. Transaction Processing Using Other Interfaces. Distributed Transaction Processing. DUOW within Embedded SQL. DUOW within CLI/ODBC. Other Transaction Managers. Stored Procedures. DB2 Development Center. New Functionality. DB2DC Launchpad. Creating Stored Procedures and UDFs. Development Environment Interface. Database Packages and Query Performance. Summary. 9. Embedded SQL Programming.
Objectives. Static Embedded SQL. Host Variables. Connecting to Databases. Connecting from an Application. Error Handling-Using and Interpreting the SQLCA. Error Handling-Message Retrieval. SQLCODE versus SQLSTATE. Program Logic for Error Handling. Indicator Variables. Data Retrieval Methods. Using Cursors. Application-Level Locking. Searched Updates/Deletes. Dynamic Embedded SQL. Dynamic SQL Phases. Types of Dynamic SQL Statements. SQLDA Data Structure. SQLVAR Elements. Output SQLDA. Comparing Dynamic SQL with Static SQL. Building Embedded SQL Applications. Precompiling Source Modules. Transactions Involving Multiple Databases. Binding Applications. Binding Utilities. Blocking. Package Caching. Summary. 10. Administrative API.
Objectives. DB2 APIs. Context Management API. Summary. 11. CLI/ODBC Applications.
Objectives. CLI and ODBC Overview. Advantages of CLI. Setting Up the CLI Environment. DB2 UDB Installation. Database Cataloging. CLI Bind Files. Configuring CLI. Accessing a DB2 Database via ODBC. ODBC Development Considerations. Basic Program Flow for a CLI Application. Initializing Handle Types and Connecting. Connecting to One or More Data Sources. Disconnecting and Termination. Transaction Processing. Diagnostics and Error Processing. Advanced Programming Features. Supported Cursor Types. Catalog Functions. Executing Statements. DB2 OLE DB Driver. Summary. Additional References. 12. Java Programming.
Objectives. JDBC Programming. DB2 JDBC 2.1 Support. DB2 JDBC Applet (or Net) Driver. DB2 JDBC Application (or App) Driver. JDBC Driver Registration. Supported Data Types. JDBC Interfaces. Executing Statements. Using Prepared Statements. Retrieving Result Sets. NULL Values. Updating Rows in a Result Set. Specifying the Result Set Type. Using Scrollable Result Sets. Calling Stored Procedures. Batch Execution. LOBs. Metadata. Concurrency and Isolation Levels. Relationships between Base JDBC Objects. Using DataSource Objects and Connection Pooling. Java Naming and Directory Interface Support. Enterprise Java and Distributed Transactions. JDBC Static SQL. SQLj Programs. Required Packages. SQLj Syntax. Host Variables. Result Set Iterators. Positional Iterators. Named Iterators. Default Connection Context. User-Defined ConnectionContext Classes. Execution Contexts. Properties of User-Defined SQLj Classes. SQLj Translator. DB2 Profile Customizer. Java Stored Procedures. Java UDFs. Summary. Additional References. 13. Perl Programming.
Objectives. Advantages of Perl. Setting Up the Perl Environment. DB2 UDB Installation. Database Cataloging. CLI Bind Files. Configuring CLI. Installing Perl. Installing the Perl DBI. Installing the DBD::DB2 Module. Basic Program Flow. Initialization. Transaction Processing. Error Handling. Disconnecting and Termination. Summary. References.
III. DB2 UDB EXTENDERS. 14. DB2 Extenders.
Objectives. Text Extender. Traditional Text Searching. Text Extender Searching. Net Search Extender. Searching on the Internet. Net Search Extender Searching. AIV Extenders. Storing Multimedia Data. Managing Multimedia Data. XML Extender. Data Sharing Across Applications. Managing XML Documents. Spatial Extender. Analyzing Geographical Data. Summary. Web Resources. 15. DB2 Text Extender.
Objectives. Installation. Configuration. Customizing the Instance. Choosing an Index. Enabling a Text Table. Enabling a Text Column. Usage. Text Extender UDFs. Text Extender APIs. Administration. Summary. Web Resources. 16. DB2 Net Search Extender.
Objectives. Installation. Configuration. Creating an Index. Usage. Contains Function. Textsearch Function. Textsearch Stored Procedure. Administration. Summary. Web Resources. 17. DB2 AIV Extenders.
Objectives. Installation. Configuration. Usage. AIV Extender UDFs. Summary. Web Resources. 18. DB2 XML Extender.
Objectives. Installation. Configuration. Usage. XML Columns. XML Collections. Summary. Web Resources. 19. DB2 Spatial Extender.
Objectives. Installation. Configuration. Coordinate Systems. Spatial Reference Systems. Spatial Columns. Geocoding. Usage. Summary. Web Resources.
IV. APPENDICES. Appendix A: DB2 Universal Database v8.1 Certification.
Test Objectives. Study Guidelines. Scheduling Your Exam. IBM Certified Database Associate. DB2 UDB v8.1 Family Fundamentals. IBM Certified Application Developer. DB2 UDB v8.1 Family Application Development. Appendix B: DB2MALL Database.
Creating the DB2MALL Database. Windows Platforms. UNIX Platforms. Appendix C: Application Troubleshooting.
Obtaining the SQL Error. Isolating Error Location. Diagnostic Error Files. db2diag.log. db2alert.log. Dump files. Trap files. jdbcerr.log. Tracing Facilities. DB2 Trace (db2trc). CLI Trace. JDBC Trace. Index.