xvi
■CONTENTS
Special Oracle Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Temporary Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Index-Organized Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
External Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Partitioned Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Range Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Interval Partitioning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Hash Partitioning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
List Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Reference Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Virtual Column-Based Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . 286
System Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Composite Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Partition Maintenance Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Data Dictionary Views for Managing Tables . . . . . . . . . . . . . . . . . . . . . . 292
Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Hash Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Oracle Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Guidelines for Creating Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Oracle Index Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Estimating the Size of an Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Creating an Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Special Types of Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Bitmap Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Reverse-Key Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Key-Compressed Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Function-Based Indexes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Partitioned Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Invisible Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Monitoring Index Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Index Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Managing Database Integrity Constraints . . . . . . . . . . . . . . . . . . . . . . . . 306
Primary Key Constraints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Not Null Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Check Constraints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Unique Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Referential Integrity Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Integrity Constraint States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Rely Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Deferrable and Immediate Constraints. . . . . . . . . . . . . . . . . . . . . . . 310