1. A computer implemented method for determining one or more life intervals for a key in a database system for retrieving one or more past versions of a location for a data item in a database table in the database system, comprising: using a computer system which comprises at least one processor and is configured for performing: receiving the key for which it is desired to determine one or more life intervals, wherein the key is used as an input of a query statement to identify the data item in the database table; identifying a location where the key exists or should exist by using at least a database index structure that comprises a plurality of indices for the database table; determining the one or more life intervals for the key based at least in part upon analysis of a type of operation detected against the key and further in part upon whether the key existed prior to an action to retrieve the one or more past versions of the location, in which the act of determining the one or more life intervals comprises: applying a portion of a log record to restore the database index structure in its entirety to one or more prior states that include one or more past incarnations of the index, wherein the log record comprises an undo log record for the database system that is stored separately from the database table, the database table comprises a single version of the data item, and an access to the database table for retrieving the one or more past versions uses the key or a range of keys instead of one or more row-ids.