Almacenamiento de registros de dependencias

El Gestor de dependencias es responsable de la creación de registros de dependencia nuevos en la base de datos, así como de la eliminación de los registros de dependencias existentes que ya no son necesarios1.

Cada vez que un cliente del Gestor de dependencias calcula el valor de un dependiente, el cliente es responsable de identificar los precedentes utilizados en ese cálculo y de pasar ese dependiente y su conjunto de precedentes al Gestor de dependencias. El Gestor de dependencias utiliza ese dependiente para recuperar su conjunto existente de dependencias almacenadas (si hay alguno) desde la base de datos y crea o elimina registros de dependencia en línea con el nuevo conjunto de precedentes identificados por el cliente.

Normalmente, la primera vez que se invoca el Gestor de dependencias para un dependiente, el Gestor de dependencias creará varias filas nuevas en la base de datos para almacenar las dependencias de los precedentes identificados.

Sin embargo, en las invocaciones posteriores del Gestor de dependencias para el mismo dependiente, es muy común que el Gestor de dependencias encuentre que el nuevo conjunto de dependencias necesarias pasadas coincide exactamente con las que ya están almacenadas en la base de datos y, así, bajo estas circunstancias el Gestor de dependencias no debe realizar ninguna grabación de base de datos. Ocasionalmente el Gestor de dependencias encontrará que se necesita un número pequeño de filas de dependencia nuevas y/o que un pequeño número de filas de dependencia existentes son ahora extrañas y se deben eliminar; y, bajo estas circunstancias, el Gestor de dependencias realiza un pequeño número de grabaciones de base de datos para actualizar las filas almacenadas con las dependencias necesarias, dejando el grueso de los registros de dependencia sin cambios para el dependiente.

Los clientes del Gestor de dependencias pueden identificar qué registros de dependencias ya no son necesarios para un dependiente y pueden indicar al Gestor de dependencias que elimine todos los registros de dependencia de ese dependiente.

1 Cada registro de dependencia no contiene información modificable y el Gestor de dependencias no modifica nunca los registros de dependencias existentes, sólo crea registros nuevos o elimina registros existentes.