Traditional databases capture only the most current data (snapshot) of the modeled reality. While snapshot information is enough for a number of applications, it is not sufficient for applications that require past and/or future data. Instead, a bitemporal database is needed, i.e., a database that supports both valid time (the time when an event was valid in the modeled reality) and transaction time (the time when the database was updated). While much research has been performed recently on access methods that support transaction time, not much has been done for bitemporal indexes, i.e., methods that support both transaction and valid time on the same index structure. The objective of this project is to design efficient access methods for bitemporal databases. A novel approach is used that reduces bitemporal queries to problems of partial persistence for which efficient access methods are then designed. Various basic bitemporal queries are addressed, like the bitemporal pure and range timeslice queries. Concurrency and recovery issues for the new access methods are examined. In addition, the migrati on of bitemporal data to a three-level storage architecture is examined. The results of this project will enhance the efficient implementation of temporal database management .