1. A method of retrieving data from databases in a database management system having a processor, at least a first database, a second database and a third database, and a user interface coupled to the first, second and third databases, the method including the steps of: (1) generating a first request by the user interface to the first database for retrieval of a data item having a reference in the first database; (2) determining whether the data item is stored in the first database; (3) if the determination in step 2 is positive, then retrieving the data item from the first database, returning it to the user interface, and ending the retrieval procedure; (4) if the determination in step 2 is negative, then determining whether the first database's reference to the data item is a reference to a location in the second database; (5) if the determination in step 4 is positive, then generating a second request to the second database for retrieval of the data item; (6) determining whether the data item is stored at the referenced location in the second database; (7) if the determination in step 6 is positive, then retrieving the data item from the second database, and returning it to the user interface; (8) if the determination in step 6 is negative, then determining whether the referenced location in the second database includes a further reference to a location in the third database; (9) if the determination of step 8 is positive, then generating a third request to the third database for retrieval of the data item; (10) determining whether the data item is stored at the referenced location in the third database; and (11) if the determination of step 10 is positive, then retrieving the data item from the third database, returning it to the user interface, and updating the first database's reference to the data item to include a reference to the location of the data item in the third database.