El control de versiones de tuplas (también llamado punto en el tiempo ) es un mecanismo utilizado en un sistema de administración de bases de datos relacionales para almacenar estados pasados de una relación . Normalmente, solo se captura el estado actual.
Utilizando técnicas de control de versiones de tuplas, normalmente se almacenan dos valores de tiempo junto con cada tupla : una hora de inicio y una hora de finalización. Estos dos valores indican la validez del resto de valores de la tupla.
Normalmente, cuando se utilizan técnicas de control de versiones de tuplas, la tupla actual tiene una hora de inicio válida, pero un valor nulo para la hora de finalización. Por lo tanto, es fácil y eficiente obtener los valores actuales para todas las tuplas consultando el tiempo de finalización nulo.
Una sola consulta que busca tuplas con una hora de inicio menor que, y una hora de finalización mayor que, una hora determinada (donde la hora de finalización nula se trata como un valor mayor que la hora indicada) dará como resultado las tuplas válidas en el momento dado. .
Por ejemplo, si el trabajo de una persona cambia de Ingeniero a Gerente, habrá dos tuplas en una tabla de Empleados , una con el valor Ingeniero por trabajo y la otra con el valor Gerente por trabajo. La hora de finalización de la tupla de ingeniero sería igual a la hora de inicio de la tupla de administrador.
El patrón conocido como desencadenador de registro utiliza esta técnica para almacenar automáticamente información histórica de una tabla en una base de datos .
Ver también
Referencias
- Comparación de métodos de acceso para datos que evolucionan en el tiempo , por Betty Salzberg y Vassilis J. Tsotras, ACM Computing Surveys, vol. 31, No. 2, junio de 1999.