Introduction |
|
1 | (4) |
|
Part I SQL Tools, Tips, and Tricks |
|
|
|
|
5 | (45) |
|
|
6 | (9) |
|
|
15 | (22) |
|
|
37 | (2) |
|
|
39 | (1) |
|
|
40 | (10) |
|
Data Manipulation Guidelines |
|
|
50 | (60) |
|
|
50 | (3) |
|
|
53 | (24) |
|
|
77 | (17) |
|
Common Table Expressions and Recursion |
|
|
94 | (5) |
|
|
99 | (2) |
|
|
101 | (4) |
|
Data Modification Guidelines |
|
|
105 | (5) |
|
|
110 | (21) |
|
|
110 | (5) |
|
|
115 | (10) |
|
The RAISE_ERROR Functions |
|
|
125 | (1) |
|
MQSeries Built-in Functions |
|
|
126 | (1) |
|
XML Publishing Built-in Functions |
|
|
127 | (1) |
|
Built-in Function Guidelines |
|
|
128 | (3) |
|
Using DB2 User-Defined Functions and Data Types |
|
|
131 | (29) |
|
What Is a User-Defined Function? |
|
|
131 | (1) |
|
Types of User-Defined Functions |
|
|
131 | (20) |
|
What Is a User-Defined Data Type? |
|
|
151 | (1) |
|
User-Defined Data Types and Strong Typing |
|
|
152 | (8) |
|
Data Definition Guidelines |
|
|
160 | (116) |
|
An Overview of DB2 Database Objects |
|
|
160 | (1) |
|
|
161 | (3) |
|
Creating and Using DB2 Table Spaces |
|
|
164 | (35) |
|
DB2 Storage and STOGROUPs |
|
|
199 | (5) |
|
|
204 | (29) |
|
Normalization and Denormalization |
|
|
233 | (12) |
|
Assuring Data Integrity in DB2 |
|
|
245 | (10) |
|
Views, Aliases, and Synonyms |
|
|
255 | (11) |
|
|
266 | (1) |
|
|
266 | (8) |
|
Miscellaneous DDL Guidelines |
|
|
274 | (2) |
|
|
276 | (22) |
|
|
278 | (9) |
|
|
287 | (11) |
|
Database Change Management and Schema Evolution |
|
|
298 | (15) |
|
|
299 | (14) |
|
Using DB2 Triggers for Integrity |
|
|
313 | (16) |
|
|
313 | (11) |
|
|
324 | (5) |
|
Large Objects and Object/Relational Databases |
|
|
329 | (20) |
|
Defining the Term ``Object/Relational'' |
|
|
329 | (1) |
|
|
330 | (7) |
|
|
337 | (3) |
|
|
340 | (9) |
|
DB2 Security and Authorization |
|
|
349 | (17) |
|
Granting and Revoking Privileges |
|
|
349 | (17) |
|
Part II DB2 Application Development |
|
|
|
Using DB2 in an Application Program |
|
|
366 | (66) |
|
|
367 | (2) |
|
|
369 | (13) |
|
|
382 | (7) |
|
|
389 | (10) |
|
Embedded Select and Cursor Coding Guidelines |
|
|
399 | (4) |
|
Modifying Data with Embedded SQL |
|
|
403 | (2) |
|
Application Development Guidelines |
|
|
405 | (9) |
|
Batch Programming Guidelines |
|
|
414 | (10) |
|
Online Programming Guidelines |
|
|
424 | (6) |
|
General SQL Coding Guidelines |
|
|
430 | (2) |
|
|
432 | (22) |
|
|
432 | (2) |
|
|
434 | (8) |
|
Reasons You Should Know Dynamic SQL |
|
|
442 | (1) |
|
|
443 | (2) |
|
|
445 | (3) |
|
|
448 | (2) |
|
|
450 | (4) |
|
|
454 | (51) |
|
Program Preparation Steps |
|
|
454 | (6) |
|
|
460 | (1) |
|
|
461 | (13) |
|
|
474 | (1) |
|
|
474 | (1) |
|
|
475 | (5) |
|
|
480 | (2) |
|
|
482 | (1) |
|
Program Preparation Objects |
|
|
482 | (1) |
|
Program Preparation Guidelines |
|
|
483 | (1) |
|
|
484 | (1) |
|
|
485 | (2) |
|
|
487 | (17) |
|
Linkage Editor Guidelines |
|
|
504 | (1) |
|
Alternative DB2 Application Development Methods |
|
|
505 | (29) |
|
Developing Applications Using Only SQL |
|
|
505 | (3) |
|
Using Client/Server Programming Languages |
|
|
508 | (3) |
|
Using Fourth-Generation Languages |
|
|
511 | (2) |
|
|
513 | (4) |
|
|
517 | (1) |
|
Using ODBC (Call Level Interface) |
|
|
518 | (4) |
|
|
522 | (9) |
|
|
531 | (3) |
|
Using DB2 Stored Procedures |
|
|
534 | (29) |
|
What Is a Stored Procedure? |
|
|
535 | (3) |
|
Implementing DB2 Stored Procedures |
|
|
538 | (16) |
|
|
554 | (1) |
|
|
554 | (7) |
|
|
561 | (2) |
|
|
563 | (7) |
|
The Classic Role of the DBA |
|
|
564 | (1) |
|
The Role of the Procedural DBA |
|
|
565 | (5) |
|
|
570 | (27) |
|
|
570 | (3) |
|
Accessing DB2 Over the Internet |
|
|
573 | (5) |
|
|
578 | (5) |
|
Finding DB2 Information Using the Internet |
|
|
583 | (14) |
|
|
|
|
597 | (83) |
|
TSO (Time-Sharing Option) |
|
|
599 | (24) |
|
CICS (Customer Information Control System) |
|
|
623 | (34) |
|
IMS (Information Management System) |
|
|
657 | (13) |
|
CAF (Call Attach Facility) |
|
|
670 | (4) |
|
RRSAF (Recoverable Resource Manager Services Attach Facility) |
|
|
674 | (1) |
|
Comparison of the Environments |
|
|
675 | (3) |
|
|
678 | (2) |
|
|
680 | (18) |
|
|
680 | (2) |
|
Data Sharing Requirements |
|
|
682 | (3) |
|
The DB2 Coupling Facility |
|
|
685 | (4) |
|
Data Sharing Naming Conventions |
|
|
689 | (1) |
|
Data Sharing Administration |
|
|
690 | (4) |
|
Data Sharing Application Development Guidelines |
|
|
694 | (1) |
|
Data Sharing Administration Guidelines |
|
|
695 | (3) |
|
|
698 | (22) |
|
The Physical Storage of Data |
|
|
698 | (17) |
|
|
715 | (5) |
|
|
720 | (47) |
|
Physical Data Independence |
|
|
721 | (1) |
|
|
722 | (2) |
|
|
724 | (2) |
|
|
726 | (33) |
|
Other Operations Performed by the Optimizer |
|
|
759 | (4) |
|
Access Path Strategy Compatibility |
|
|
763 | (4) |
|
The Table-Based Infrastructure of DB2 |
|
|
767 | (13) |
|
|
767 | (10) |
|
|
777 | (3) |
|
|
780 | (32) |
|
|
780 | (3) |
|
|
783 | (1) |
|
|
783 | (3) |
|
|
786 | (2) |
|
|
788 | (1) |
|
|
789 | (1) |
|
|
790 | (2) |
|
Lock Suspensions, Timeouts, and Deadlocks |
|
|
792 | (3) |
|
|
795 | (3) |
|
|
798 | (1) |
|
Data Sharing Global Lock Management |
|
|
799 | (2) |
|
|
801 | (2) |
|
|
803 | (6) |
|
|
809 | (1) |
|
|
810 | (2) |
|
Part IV DB2 Performance Monitoring |
|
|
|
Traditional DB2 Performance Monitoring |
|
|
812 | (47) |
|
|
813 | (6) |
|
|
819 | (1) |
|
|
820 | (1) |
|
DB2 Performance Monitor (DB2 PM) |
|
|
821 | (25) |
|
|
846 | (3) |
|
Online DB2 Performance Monitors |
|
|
849 | (4) |
|
Viewing DB2 Console Messages |
|
|
853 | (5) |
|
Displaying the Status of DB2 Resources |
|
|
858 | (1) |
|
Monitoring z/OS and OS/390 |
|
|
858 | (1) |
|
|
859 | (25) |
|
|
859 | (2) |
|
Access Paths and the Plan_Table |
|
|
861 | (14) |
|
Cost Estimates and the DSN_Statement_Table |
|
|
875 | (3) |
|
Function Resolution and the DSN_Function_Table |
|
|
878 | (1) |
|
|
879 | (5) |
|
DB2 Object Monitoring Using the DB2 Catalog and RTS |
|
|
884 | (34) |
|
|
884 | (25) |
|
|
909 | (8) |
|
Reviewing the Rules for an Effective Monitoring Strategy |
|
|
917 | (1) |
|
Part V DB2 Performance Tuning |
|
|
|
|
918 | (23) |
|
Tuning the z/OS and OS/390 Environment |
|
|
918 | (21) |
|
Tuning the Teleprocessing Environment |
|
|
939 | (2) |
|
|
941 | (51) |
|
|
941 | (26) |
|
Tuning the Database Design |
|
|
967 | (2) |
|
|
969 | (18) |
|
The Causes of DB2 Performance Problems |
|
|
987 | (5) |
|
|
992 | (7) |
|
The Resource Limit Facility |
|
|
992 | (5) |
|
|
997 | (2) |
|
Part VI DB2 Performance Utilities and Commands |
|
|
|
An Introduction to DB2 Utilities |
|
|
999 | (25) |
|
|
999 | (4) |
|
|
1003 | (2) |
|
Version 7 and the State of IBM DB2 Utilities |
|
|
1005 | (2) |
|
Using Listdef and Template |
|
|
1007 | (13) |
|
Issuing SQL Statements in DB2 Utilities |
|
|
1020 | (4) |
|
Data Consistency Utilities |
|
|
1024 | (24) |
|
|
1025 | (1) |
|
|
1025 | (8) |
|
|
1033 | (2) |
|
|
1035 | (3) |
|
|
1038 | (1) |
|
|
1039 | (1) |
|
|
1040 | (2) |
|
|
1042 | (3) |
|
|
1045 | (1) |
|
|
1045 | (1) |
|
|
1046 | (2) |
|
Backup and Recovery Utilities |
|
|
1048 | (35) |
|
|
1049 | (9) |
|
|
1058 | (3) |
|
|
1061 | (3) |
|
|
1064 | (3) |
|
|
1067 | (1) |
|
|
1068 | (7) |
|
The Rebuild Index Utility |
|
|
1075 | (3) |
|
|
1078 | (1) |
|
The Report Recovery Utility |
|
|
1078 | (2) |
|
Backing Up and Restoring the System |
|
|
1080 | (3) |
|
Data Organization Utilities |
|
|
1083 | (48) |
|
|
1083 | (20) |
|
|
1103 | (4) |
|
|
1107 | (24) |
|
Catalog Manipulation Utilities |
|
|
1131 | (23) |
|
|
1131 | (1) |
|
|
1131 | (1) |
|
|
1132 | (1) |
|
|
1133 | (5) |
|
|
1138 | (13) |
|
|
1151 | (3) |
|
Stand-alone Utilities and Sample Programs |
|
|
1154 | (25) |
|
The Stand-alone Utilities |
|
|
1154 | (17) |
|
|
1171 | (8) |
|
|
1179 | (26) |
|
|
1179 | (3) |
|
Information-Gathering Commands |
|
|
1182 | (10) |
|
|
1192 | (5) |
|
Environment Control Commands |
|
|
1197 | (1) |
|
|
1198 | (1) |
|
|
1199 | (2) |
|
|
1201 | (1) |
|
|
1202 | (1) |
|
|
1203 | (2) |
|
DB2 Utility and Command Guidelines |
|
|
1205 | (9) |
|
|
1205 | (6) |
|
|
1211 | (3) |
|
|
1214 | (14) |
|
|
1214 | (10) |
|
DB2 Environmental Considerations |
|
|
1224 | (1) |
|
DB2 Contingency Planning Guidelines |
|
|
1225 | (3) |
|
Part VII The Ideal DB2 Environment |
|
|
|
Components of a Total DB2 Solution |
|
|
1228 | (30) |
|
|
1228 | (27) |
|
|
1255 | (3) |
|
|
1258 | (22) |
|
|
1258 | (7) |
|
|
1265 | (11) |
|
|
1276 | (2) |
|
|
1278 | (1) |
|
|
1279 | (1) |
|
|
1279 | (1) |
|
Part VIII Distributed DB2 |
|
|
|
|
1280 | (10) |
|
|
1280 | (1) |
|
|
1281 | (2) |
|
DRDA Architectures and Standards |
|
|
1283 | (2) |
|
|
1285 | (2) |
|
|
1287 | (2) |
|
|
1289 | (1) |
|
|
1290 | (15) |
|
Distributing Data Using DB2 |
|
|
1290 | (1) |
|
DB2 Support for the DRDA Levels |
|
|
1291 | (1) |
|
Methods of Accessing Distributed Data |
|
|
1292 | (4) |
|
System-Directed Versus Application-Directed |
|
|
1296 | (1) |
|
|
1297 | (1) |
|
|
1297 | (4) |
|
Miscellaneous Distributed Topics |
|
|
1301 | (4) |
|
|
1305 | (11) |
|
An Overview of IBM DB2 Connect |
|
|
1305 | (11) |
|
|
1316 | (20) |
|
Distribution Behind the Scenes |
|
|
1316 | (2) |
|
|
1318 | (4) |
|
|
1322 | (1) |
|
Distributed Performance Problems |
|
|
1322 | (5) |
|
Distributed Database Design Issues |
|
|
1327 | (2) |
|
Distributed Data Placement |
|
|
1329 | (1) |
|
|
1330 | (1) |
|
Distributed Security Guidelines |
|
|
1331 | (2) |
|
Miscellaneous Distributed Guidelines |
|
|
1333 | (3) |
|
Data Warehousing with DB2 |
|
|
1336 | (35) |
|
|
1337 | (3) |
|
Designing a Data Warehouse |
|
|
1340 | (3) |
|
Populating a Data Warehouse |
|
|
1343 | (6) |
|
Accessing the Data Warehouse |
|
|
1349 | (1) |
|
Managing the Data Warehouse |
|
|
1349 | (1) |
|
|
1350 | (1) |
|
DB2 Data Warehouse Center |
|
|
1351 | (2) |
|
Materialized Query Tables |
|
|
1353 | (10) |
|
General Data Warehouse Guidelines |
|
|
1363 | (5) |
|
DB2-Specific Data Warehousing Guidelines |
|
|
1368 | (3) |
|
|
|
Special Consideration for DB2 Version 6 |
|
|
1371 | (5) |
|
|
1371 | (1) |
|
|
1372 | (1) |
|
|
1372 | (1) |
|
Host Variables Without Colons |
|
|
1373 | (1) |
|
|
1373 | (1) |
|
Stored Procedure Registration |
|
|
1374 | (1) |
|
|
1375 | (1) |
|
Short Summary of DB2 V4 Through V6 Changes |
|
|
1376 | (5) |
|
|
1376 | (2) |
|
|
1378 | (1) |
|
|
1379 | (2) |
|
|
1381 | (6) |
|
|
1381 | (6) |
|
|
|
|
1387 | (9) |
|
|
1396 | (11) |
|
|
1398 | (9) |
|
|
1407 | (4) |
|
|
1411 | (5) |
|
|
1416 | (6) |
|
|
1416 | (4) |
|
Packaging and Naming Issues |
|
|
1420 | (2) |
|
|
1422 | (15) |
|
|
1422 | (1) |
|
Application Development Enhancements |
|
|
1423 | (6) |
|
Data Management Enhancements |
|
|
1429 | (6) |
|
Business Intelligence Enhancements |
|
|
1435 | (1) |
|
Additional V7 Information |
|
|
1435 | (2) |
|
|
1437 | (10) |
|
|
1437 | (1) |
|
|
1438 | (4) |
|
Programming and Development |
|
|
1442 | (2) |
|
|
1444 | (3) |
|
H Reorganizing the DB2 Catalog |
|
|
1447 | |
|
When Should the DB2 Catalog and Directory Be Reorganized? |
|
|
1448 | |
Index |
|
1371 | |