This document discusses hash indexes and extendible hashing. It begins by explaining basic hash tables and how they allow direct access to records via a hash function. It then describes how hashing can be used in a database management system by storing records in disk blocks based on their hashed key value. The major challenges with static hashing are overflow blocks and coping with data growth. Extendible hashing is presented as a solution that dynamically splits buckets as they overflow and uses an indirection directory that doubles in size as needed to accommodate more data.