Stoke
Grünschnabel
Hallo,
ich bin im Zuge der Erstellung eines Datenbankmodells auf ein Problem gestoßen, das etwas kompliziert zu sein scheint. Ich hoffe ihr könnt mir hierbei behilflich sein
Konkret geht es um die Verfolgung von Änderungen in Entitäten: Zeigt zum Beispiel Entität A zum Zeitpunk x auf Entität B (<fk>), dann möchte ich dass mir eine entsprechende Query die mir das karthesische Produkt der beiden Tabellen zurückgibt, die Entität B zum Zeitpunkt x liefert. Und zwar unabhängig davon ob seit x Änderungen an B durchgeführt wurden.
Das hat jetzt bestimmt niemand verstanden, deshalb ein vereinfachtes Beispiel
Nehmen wir an es gibt eine Tabelle "User" mit unter anderem dem Feld "Geburtsdatum" und eine Tabelle "Projekte" mit einem Foreign Key auf den User der das Projekt erstellt hat. Nun erstellt ein User ein Projekt. Irgendwann ändert der User sein Geburtsdatum. Ich möchte aber immer das Geburtsdatum wissen, das zu dem Zeitpunkt als das Projekt erstellt wurde aktuell war.
Ich hoffe so ist mein Problem nun verständlich.
Mir fällt jetzt kein guter Lösungsweg ein. Immer eine Kopie des Users mitzuspeichern wäre keine gute Idee glaube ich. In meinem konkreten Fall gibt es viele Werte die sich ändern können und einige Tabellen wo dies auftreten könnte.
Ich bin sicher nicht der erste mit diesem Problem, gibt es hierzu vielleicht sogar schon Best Practices?
Ein Design Pattern das in diese Richtung geht ist mir leider nicht bekannt.
Ich glaube ein Revisionssystem wäre hier die optimale Lösung, gibt es hier bereits praxiserprobte Implementierungen?
Bin über Tipps aller Art dankbar
Vielen Dank!
ich bin im Zuge der Erstellung eines Datenbankmodells auf ein Problem gestoßen, das etwas kompliziert zu sein scheint. Ich hoffe ihr könnt mir hierbei behilflich sein

Konkret geht es um die Verfolgung von Änderungen in Entitäten: Zeigt zum Beispiel Entität A zum Zeitpunk x auf Entität B (<fk>), dann möchte ich dass mir eine entsprechende Query die mir das karthesische Produkt der beiden Tabellen zurückgibt, die Entität B zum Zeitpunkt x liefert. Und zwar unabhängig davon ob seit x Änderungen an B durchgeführt wurden.
Das hat jetzt bestimmt niemand verstanden, deshalb ein vereinfachtes Beispiel

Nehmen wir an es gibt eine Tabelle "User" mit unter anderem dem Feld "Geburtsdatum" und eine Tabelle "Projekte" mit einem Foreign Key auf den User der das Projekt erstellt hat. Nun erstellt ein User ein Projekt. Irgendwann ändert der User sein Geburtsdatum. Ich möchte aber immer das Geburtsdatum wissen, das zu dem Zeitpunkt als das Projekt erstellt wurde aktuell war.
Ich hoffe so ist mein Problem nun verständlich.
Mir fällt jetzt kein guter Lösungsweg ein. Immer eine Kopie des Users mitzuspeichern wäre keine gute Idee glaube ich. In meinem konkreten Fall gibt es viele Werte die sich ändern können und einige Tabellen wo dies auftreten könnte.
Ich bin sicher nicht der erste mit diesem Problem, gibt es hierzu vielleicht sogar schon Best Practices?
Ein Design Pattern das in diese Richtung geht ist mir leider nicht bekannt.
Ich glaube ein Revisionssystem wäre hier die optimale Lösung, gibt es hier bereits praxiserprobte Implementierungen?
Bin über Tipps aller Art dankbar

Vielen Dank!