Speicherung von Abhängigkeitsdatensätzen

Der Abhängigkeitsmanager dafür zuständig, neue Abhängigkeitsdatensätze in der Datenbank zu erstellen und vorhandene Abhängigkeitsdatensätze zu entfernen, die nicht mehr benötigt werden.1

Immer dann, wenn ein Client des Abhängigkeitsmanagers den Wert eines Abhängigkeitsprodukts berechnet, muss der Client die für diese Berechnung verwendeten Abhängigkeitsfaktoren angeben und das Abhängigkeitsprodukt sowie die Gruppe seiner Abhängigkeitsfaktoren an den Abhängigkeitsmanager übergeben. Der Abhängigkeitsmanager verwendet dieses Abhängigkeitsprodukt, um die (gegebenenfalls) vorhandene Gruppe der gespeicherten Abhängigkeiten aus der Datenbank abzurufen, und erstellt oder entfernt Abhängigkeitsdatensätze in Übereinstimmung mit der vom Client angegebenen neuen Gruppe von Abhängigkeitsprodukten.

In der Regel erstellt der Abhängigkeitsmanager beim erstmaligen Aufruf für ein Abhängigkeitsprodukt mehrere neue Zeilen in der Datenbank, um die Abhängigkeiten von den angegebenen Abhängigkeitsfaktoren zu speichern.

Bei nachfolgenden Aufrufen des Abhängigkeitsmanagers für dasselbe Abhängigkeitsprodukt stellt der Abhängigkeitsmanager jedoch sehr häufig fest, dass die neu übergebene Gruppe von Abhängigkeiten exakt mit den Abhängigkeiten identisch ist, die bereits in der Datenbank gespeichert ist. In solchen Fällen muss der Abhängigkeitsmanager keine Schreiboperationen für die Datenbank ausführen. Gelegentlich stellt der Abhängigkeitsmanager fest, dass einige wenige neue Abhängigkeitszeilen benötigt werden und/oder einige wenige vorhandene Abhängigkeitszeilen jetzt irrelevant sind und entfernt werden müssen. In diesen Fällen führt der Abhängigkeitsmanager eine geringe Anzahl von Schreiboperationen für die Datenbank aus, um die gespeicherten Zeilen auf den aktuellen Stand der erforderlichen Abhängigkeiten zu bringen, wobei der Großteil der Abhängigkeitsdatensätze für das Abhängigkeitsprodukt nicht geändert wird.

Clients des Abhängigkeitsmanagers können angeben, dass Abhängigkeitsdatensätze für ein Abhängigkeitsprodukt nicht mehr benötigt werden, und den Abhängigkeitsmanager anweisen, alle Abhängigkeitsdatensätze für dieses Abhängigkeitsprodukt zu entfernen.

1 Jeder Abhängigkeitsdatensatz enthält keine änderbaren Informationen und der Abhängigkeitsmanager nimmt in keinem Fall Änderungen an vorhandenen Abhängigkeitsdatensätzen vor, sondern erstellt lediglich neue Datensätze oder entfernt vorhandene Datensätze.