Daten ändern

DB_starter

Benutzer
Beiträge
6
Hallo @all,
Habe eine absolute Anfängerfrage.
Möchte meine erste dB modellieren und dabei muss ich mir die Frage stellen, wenn ich einen Datensatz habe zum Beispiel Mitarbeiter und dieser zieht um. So ändert sich ja die Adresse ich möchte aber die alte Adresse beibehalten? Benötige ich eine weitere Tabelle oder wie geht das? Ich würde mich über Tipps sehr freuen.
Vielen Dank
 
Werbung:

akretschmer

Datenbank-Guru
Beiträge
9.731
Hallo @all,
Habe eine absolute Anfängerfrage.
Möchte meine erste dB modellieren und dabei muss ich mir die Frage stellen, wenn ich einen Datensatz habe zum Beispiel Mitarbeiter und dieser zieht um. So ändert sich ja die Adresse ich möchte aber die alte Adresse beibehalten? Benötige ich eine weitere Tabelle oder wie geht das? Ich würde mich über Tipps sehr freuen.
Vielen Dank

Da gibt es viele Möglichkeiten. Den alten Datensatz in einer extra Logtabelle zu speichern wäre eine. Einen weiteren Record hinzuzufügen und den alten als invalid zu markieren eine andere. (partiellen unique index auf die kunden-id und where valid = true, damit nur einer gelten kann) Oder aber mehrere Datensätze und einen Gültigkeitszeitraum.

Vermutlich gibt es noch ca. 426736 andere Lösungen.
 

akretschmer

Datenbank-Guru
Beiträge
9.731
Hey vielen Dank für deinen Tipp. Du meinst also den ds aufrufen ändern und beim Speichern einen neuen erzeugen und den alten auf invalid?

Wäre eine Möglichkeit. Achte auf den Primary Key.

Du kannst auch eine Logtabelle nehmen. Falls Du PostgreSQL verwendest könnt ich Dir eine fix und fertige TRIGGER-basierte Lösung geben für sowas.
 
Werbung:
Oben