In accordance with the present invention, a data tracking scheme for a
database is provided which employs a "last-known location" register as a
part of a data block's ID. In certain object-oriented databases embodying
the present invention, for example, when an object is created, it is
assigned a physical address, which is then included as an extension of the
OID, and which is recorded in a logical address register. When the object
is moved, rather than identifying every reference to the object within the
database, only the physical address in the logical address register is
updated. When a reference to the object is encountered during the
operation of the database, the last-known-location extension of the OID is
consulted for a valid last-known location, that is, a valid physical
address. If such a valid last-known location exists, that physical
location is accessed in order to retrieve the object. If the
last-known-location extension of the OID contains an invalid last-known
location, or if the physical address indicated contains something other
than the desired object, the logical address register is accessed and the
correct physical address is found. At this point, the reference to the
object may (but need not) update the last-known address extension of the
OID of the target object.
De acordo com a invenção atual, um esquema seguindo dos dados para uma base de dados é fornecido que empregue "um registo da posição último-sabida" como uma parte de uns dados obstruiu o ID. Em determinadas bases de dados object-oriented que embodying a invenção atual, para o exemplo, quando um objeto é criado, ele é atribuído um endereço físico, que sejam incluídos então como uma extensão do OID, e que seja gravado em um registo de endereço lógico. Quando o objeto for movido, melhor que identificando cada referência ao objeto dentro da base de dados, only o endereço físico no registo de endereço lógico é updated. Quando uma referência ao objeto é encontrada durante a operação da base de dados, a extensão da último-se-posição do OID está consultada para uma posição último-sabida válida, isto é, um endereço físico válido. Se uma posição último-sabida tão válida existir, essa posição física está alcançada a fim recuperar o objeto. Se a extensão da último-se-posição do OID contiver uma posição último-sabida inválida, ou se o endereço físico indicado contiver algo à excepção do objeto desejado, o registo de endereço lógico está alcançado e o endereço físico correto é encontrado. Neste momento, a referência ao objeto pode (mas não necessite) atualizar a extensão último-sabida do endereço do OID do objeto do alvo.