Foreword | | xv | |
Preface | | xvii | |
PART ONE - Introduction to DB2 UDB | | 1 | (228) |
| | 3 | (54) |
| DB2 Universal Database-The Scalable Database | | | 4 | (3) |
| DB2 Universal Database Products | | | 5 | (2) |
| | 7 | (4) |
| | 7 | (1) |
| DB2 UDB Workgroup Edition | | | 8 | (2) |
| DB2 UDB Enterprise Edition | | | 10 | (1) |
| DB2 UDB Enterprise-Extended Edition | | | 11 | (1) |
| | 11 | (3) |
| DB2 Connect Personal Edition | | | 13 | (1) |
| DB2 Connect Enterprise Edition | | | 14 | (1) |
| | 14 | (2) |
| | 16 | (10) |
| | 17 | (3) |
| | 20 | (3) |
| | 23 | (2) |
| Maintenance of Satellite Systems | | | 25 | (1) |
| | 26 | (9) |
| DB2 Data Links Manager System Overview | | | 30 | (1) |
| Components of a Data Links Server | | | 31 | (1) |
| Data Links Manager Facilities | | | 32 | (3) |
| | 35 | (5) |
| | 39 | (1) |
| Client/Server Communication Protocols | | | 40 | (1) |
| | 41 | (1) |
| | 41 | (11) |
| | 43 | (2) |
| Other Tools Available from the Control Center | | | 45 | (1) |
| | 46 | (3) |
| | 49 | (2) |
| The Command Line Processor (CLP) | | | 51 | (1) |
| | 52 | (1) |
| | 53 | (2) |
| | 55 | (2) |
| | 57 | (50) |
| | 59 | (22) |
| Windows NT/9x and OS/2 Installation | | | 59 | (10) |
| | 69 | (7) |
| | 76 | (1) |
| | 77 | (4) |
| | 81 | (6) |
| | 81 | (3) |
| | 84 | (1) |
| Using the Command Line Processor | | | 85 | (2) |
| | 87 | (6) |
| DB2 Administration Server (DAS) Instance | | | 87 | (2) |
| | 89 | (4) |
| Creating the Sample Database | | | 93 | (6) |
| | 93 | (2) |
| | 95 | (4) |
| | 99 | (1) |
| | 100 | (1) |
| | 101 | (1) |
| | 102 | (5) |
| | 107 | (62) |
| Roadmap to Client/Server Communications | | | 109 | (2) |
| Automated Configuration using Discovery | | | 109 | (1) |
| Automated Configuration Using Access Profiles | | | 110 | (1) |
| | 110 | (1) |
| | 111 | (2) |
| | 113 | (3) |
| Examining DB2 UDB Directories | | | 114 | (2) |
| | 116 | (27) |
| Automated Configuration using Discovery | | | 116 | (12) |
| | 128 | (6) |
| | 134 | (8) |
| Summary of Configuring Connections | | | 142 | (1) |
| Configuring Communications | | | 143 | (13) |
| Configuring the DB2 Instance for Communications | | | 143 | (7) |
| Configuring the DAS Instance | | | 150 | (2) |
| Configuring DB2 Discovery | | | 152 | (4) |
| | 156 | (5) |
| Binding Utilities Using the CCA | | | 158 | (3) |
| | 161 | (4) |
| Local Instance Administration | | | 162 | (2) |
| Attaching to an Instance using the Control Center | | | 164 | (1) |
| | 165 | (1) |
| | 166 | (1) |
| | 167 | (2) |
| | 169 | (60) |
| | 170 | (42) |
| | 170 | (1) |
| | 170 | (16) |
| Authorities and Privileges | | | 186 | (17) |
| Windows NT Considerations | | | 203 | (9) |
| | 212 | (6) |
| | 218 | (1) |
| | 219 | (2) |
| | 221 | (1) |
| | 222 | (7) |
PART TWO - Using SQL | | 229 | (238) |
| | 231 | (80) |
| Understanding Database Objects | | | 233 | (6) |
| | 233 | (1) |
| | 234 | (1) |
| | 234 | (1) |
| | 235 | (1) |
| | 235 | (1) |
| | 236 | (1) |
| | 236 | (1) |
| | 237 | (1) |
| | 237 | (1) |
| | 238 | (1) |
| | 238 | (1) |
| Creating a DB2 UDB Database | | | 238 | (1) |
| Managing Database Objects | | | 239 | (50) |
| Using SQL Data Definition Language (DDL) | | | 239 | (2) |
| | 241 | (22) |
| | 263 | (14) |
| | 277 | (7) |
| | 284 | (5) |
| Database Design and Implementation | | | 289 | (12) |
| DB2CERT Database Table Descriptions | | | 290 | (3) |
| Define User-Defined Data Types | | | 293 | (1) |
| | 294 | (2) |
| | 296 | (1) |
| | 297 | (1) |
| | 298 | (1) |
| | 299 | (2) |
| | 301 | (1) |
| | 302 | (2) |
| | 304 | (1) |
| | 305 | (6) |
| Manipulating Database Objects | | | 311 | (60) |
| | 312 | (36) |
| Retrieving the Entire Table | | | 312 | (2) |
| Projecting Columns from a Table | | | 314 | (1) |
| Changing the Order of the Columns | | | 314 | (1) |
| Restricting Rows from a Table | | | 315 | (1) |
| Predicate Evaluation for UDTs | | | 316 | (1) |
| Restricting Rows Using Multiple Conditions | | | 317 | (1) |
| Selecting Columns from Multiple Tables | | | 318 | (5) |
| | 323 | (1) |
| | 324 | (2) |
| | 326 | (1) |
| | 327 | (2) |
| | 329 | (2) |
| | 331 | (1) |
| Searching for String Patterns | | | 331 | (1) |
| Searching for Data in Ranges | | | 332 | (1) |
| Searching for Null Values | | | 333 | (1) |
| Searching for Negative Conditions | | | 334 | (1) |
| Searching for a Set of Values | | | 335 | (1) |
| | 335 | (2) |
| | 337 | (2) |
| | 339 | (1) |
| | 340 | (1) |
| | 341 | (2) |
| | 343 | (2) |
| | 345 | (3) |
| | 348 | (9) |
| | 348 | (4) |
| | 352 | (3) |
| | 355 | (2) |
| | 357 | (4) |
| | 358 | (1) |
| | 358 | (1) |
| | 359 | (1) |
| | 359 | (1) |
| | 360 | (1) |
| | 361 | (1) |
| | 362 | (2) |
| | 364 | (1) |
| | 365 | (6) |
| | 371 | (64) |
| | 372 | (4) |
| | 372 | (1) |
| | 372 | (1) |
| Trigger Example (After Trigger) | | | 373 | (1) |
| Trigger Example (Before Trigger) | | | 374 | (2) |
| | 376 | (4) |
| | 380 | (6) |
| | 381 | (1) |
| | 382 | (1) |
| | 382 | (2) |
| | 384 | (2) |
| | 386 | (11) |
| | 386 | (2) |
| | 388 | (1) |
| | 388 | (1) |
| | 389 | (8) |
| Advanced CASE Expressions | | | 397 | (2) |
| Using CASE expressions to Group Values | | | 397 | (1) |
| Using CASE expressions in Functions | | | 398 | (1) |
| Structured Types and Typed Tables | | | 399 | (25) |
| Creating Structured Types | | | 401 | (2) |
| Altering Structured Types | | | 403 | (1) |
| | 403 | (2) |
| | 405 | (1) |
| Inserting Rows into a Typed Table | | | 406 | (1) |
| Selecting a Row from a Typed Table | | | 407 | (1) |
| Updating and Deleting Rows from Typed Tables | | | 408 | (1) |
| Physical Implementation of Typed Tables | | | 409 | (2) |
| | 411 | (2) |
| | 413 | (1) |
| SQL Functions for typed tables and typed views | | | 414 | (1) |
| | 415 | (1) |
| Considerations when using Typed tables and views | | | 416 | (1) |
| Examples of a Typed Table Hierarchy | | | 416 | (8) |
| | 424 | (5) |
| | 424 | (2) |
| CURRENT REFRESH AGE Special Register | | | 426 | (1) |
| Considerations of using Summary Tables | | | 427 | (1) |
| System Catalog Information for Summary Tables | | | 428 | (1) |
| | 429 | (1) |
| | 430 | (5) |
| | 435 | (32) |
| | 437 | (9) |
| Concurrency Considerations | | | 438 | (8) |
| | 446 | (3) |
| | 447 | (1) |
| | 447 | (1) |
| | 448 | (1) |
| | 448 | (1) |
| Choosing an Isolation Level | | | 448 | (1) |
| | 449 | (7) |
| | 449 | (2) |
| | 451 | (1) |
| | 452 | (1) |
| | 453 | (1) |
| | 454 | (1) |
| LOCKSIZE parameter of ALTER TABLE statement | | | 454 | (2) |
| | 456 | (1) |
| | 457 | (1) |
| | 458 | (1) |
| | 459 | (8) |
PART THREE - DB2 UDB Administration | | 467 | (310) |
| | 469 | (56) |
| | 470 | (1) |
| | 470 | (2) |
| | 471 | (1) |
| | 471 | (1) |
| | 472 | (1) |
| | 472 | (1) |
| | 472 | (1) |
| | 472 | (3) |
| | 474 | (1) |
| | 474 | (1) |
| | 475 | (1) |
| | 475 | (1) |
| | 476 | (2) |
| | 476 | (1) |
| | 477 | (1) |
| | 478 | (10) |
| Sizing the Processor, Disk and Memory | | | 478 | (2) |
| | 480 | (8) |
| | 488 | (8) |
| | 488 | (4) |
| | 492 | (1) |
| | 492 | (1) |
| | 493 | (1) |
| | 493 | (1) |
| | 493 | (1) |
| | 494 | (1) |
| Creating Table Spaces Using the Control Center | | | 494 | (2) |
| | 496 | (9) |
| | 496 | (1) |
| | 497 | (1) |
| Listing Table Space Containers | | | 498 | (1) |
| | 498 | (2) |
| System Catalog Information About Table Spaces | | | 500 | (1) |
| Adding Containers to DMS Table Spaces | | | 501 | (4) |
| | 505 | (2) |
| | 507 | (3) |
| | 510 | (1) |
| | 511 | (14) |
| | 525 | (98) |
| | 526 | (3) |
| | 526 | (1) |
| Non-Delimited ASCII Files | | | 527 | (1) |
| | 528 | (1) |
| | 528 | (1) |
| | 529 | (53) |
| | 529 | (11) |
| | 540 | (15) |
| | 555 | (22) |
| | 577 | (5) |
| The SET INTEGRITY Statement | | | 582 | (5) |
| | 587 | (2) |
| | 589 | (5) |
| | 594 | (17) |
| Analyzing Data's Physical Organization | | | 594 | (6) |
| | 600 | (4) |
| | 604 | (6) |
| | 610 | (1) |
| | 611 | (2) |
| Modelling a Production Environment | | | 611 | (2) |
| | 613 | (1) |
| | 614 | (3) |
| | 617 | (1) |
| | 618 | (5) |
| | 623 | (52) |
| Database Recovery Concepts | | | 623 | (45) |
| | 624 | (1) |
| | 624 | (1) |
| | 624 | (2) |
| | 626 | (1) |
| Recoverable and Non-Recoverable Databases | | | 626 | (1) |
| Online and Offline Access | | | 626 | (1) |
| | 627 | (1) |
| | 628 | (1) |
| Primary and Secondary Log Files | | | 628 | (1) |
| | 629 | (3) |
| | 632 | (2) |
| Version Recovery using Backup and Restore | | | 634 | (15) |
| | 649 | (8) |
| | 657 | (2) |
| Other Recovery Considerations | | | 659 | (7) |
| | 666 | (2) |
| | 668 | (1) |
| | 669 | (1) |
| | 670 | (5) |
| | 675 | (102) |
| | 676 | (4) |
| | 676 | (2) |
| Performance Improvement Process | | | 678 | (1) |
| How Much Can a System Be Tuned? | | | 678 | (1) |
| | 679 | (1) |
| Monitoring Methods in DB2 UDB | | | 680 | (1) |
| Obtaining Database Access Information | | | 680 | (1) |
| | 680 | (21) |
| Overview of the SQL Compiler | | | 681 | (3) |
| | 684 | (1) |
| | 684 | (6) |
| | 690 | (8) |
| Guidelines on Using EXPLAIN Output | | | 698 | (2) |
| | 700 | (1) |
| | 701 | (30) |
| | 701 | (11) |
| | 712 | (8) |
| Visual Performance Monitors | | | 720 | (11) |
| | 731 | (1) |
| | 732 | (8) |
| Configuring Database Resources | | | 735 | (5) |
| | 740 | (5) |
| | 744 | (1) |
| | 745 | (6) |
| Intra-Partition and Inter-Partition Parallelism | | | 745 | (4) |
| Setting Up Intra-Partition Parallelism | | | 749 | (2) |
| Performance Tuning Scenario | | | 751 | (3) |
| Diagnostics and Problem Determination | | | 754 | (13) |
| Error Messages and SQL Codes | | | 754 | (7) |
| Tracing Problems in DB2 Universal Database | | | 761 | (6) |
| | 767 | (1) |
| | 768 | (3) |
| | 771 | (2) |
| | 773 | (4) |
PART FOUR - Developing Applications | | 777 | (186) |
| | 779 | (40) |
| DB2 UDB Application Development Environment | | | 780 | (3) |
| | 780 | (3) |
| Application Development Considerations | | | 783 | (1) |
| Choosing a DB2 UDB Programming Interface | | | 783 | (13) |
| | 784 | (3) |
| Call Level Interface and ODBC | | | 787 | (2) |
| Java Interfaces (JDBC and SQLJ) | | | 789 | (2) |
| | 791 | (1) |
| Microsoft Data Objects (DAO, RDO, ADO) | | | 792 | (1) |
| Other Interfaces and Tools | | | 793 | (3) |
| Choosing DB2 UDB Server-Side Features | | | 796 | (5) |
| DB2 UDB Application Overview | | | 801 | (5) |
| Using Schemas and Aliases | | | 806 | (4) |
| | 806 | (1) |
| | 807 | (3) |
| | 810 | (1) |
| | 811 | (5) |
| | 816 | (3) |
| | 819 | (74) |
| | 820 | (12) |
| | 821 | (4) |
| | 825 | (7) |
| | 832 | (27) |
| | 832 | (3) |
| | 835 | (4) |
| Error Handling - Using and Interpreting the SQLCA | | | 839 | (3) |
| Error handling - Message Retrieval | | | 842 | (2) |
| | 844 | (2) |
| | 846 | (4) |
| | 850 | (9) |
| | 859 | (14) |
| First Look at Dynamic SQL | | | 860 | (3) |
| | 863 | (1) |
| | 864 | (1) |
| Types of Dynamic SQL Statements | | | 865 | (1) |
| | 866 | (7) |
| | 873 | (1) |
| | 874 | (11) |
| | 885 | (3) |
| | 888 | (5) |
| Other Programming Methods | | | 893 | (70) |
| Support for CLI and ODBC Programming | | | 895 | (24) |
| Embedded Dynamic versus Call Level Interface | | | 895 | (1) |
| | 896 | (2) |
| Setting Up the CLI Environment | | | 898 | (6) |
| Coding a DB2 UDB CLI Application | | | 904 | (15) |
| Support For Java Programming | | | 919 | (11) |
| | 920 | (4) |
| | 924 | (3) |
| Building, Distributing and Running Java Programs | | | 927 | (3) |
| Other Application Interfaces | | | 930 | (3) |
| Programming with ActiveX Data Objects | | | 930 | (3) |
| Advanced DB2 UDB Programming Features | | | 933 | (20) |
| | 933 | (8) |
| | 941 | (5) |
| | 946 | (6) |
| | 952 | (1) |
| | 953 | (2) |
| | 955 | (2) |
| | 957 | (1) |
| | 958 | (5) |
PART FIVE - Appendices | | 963 | (40) |
| Appendix A - DB2 UDB V6.1 | | |
| Certification Test Objectives | | | 965 | (1) |
| DB2 UDB V6.1 Fundamentals (509) | | | 965 | (3) |
| DB2 UDB V6.1 Database Administration (510) | | | 968 | (2) |
| DB2 UDB V6.1 Application Development (511) | | | 970 | (3) |
| Appendix B - Example DB2 UDB Source Code | | | 973 | (30) |
Index | | 1003 | |