The paper studies buffer management strategies for performing relational join operations. The relations are stored in pages on secondary storage and indexes are available on all join attributes. Using graph-theoretic models, the tradeoff between the number of page accesses and the amount of internal buffer storage is analyzed. Several algorithms are given that find page access sequences. These sequences are designed either to minimize the number of page accesses or to minimize buffer requirements. The results of the paper are presented concisely and will be of interest to designers of relational database systems.