Suche Idee für ein Archiv

ptolein

Erfahrenes Mitglied
Folgendes Problem:
Ich habe eine Datenbank mit ca. 26 Tabellen. Nun sollen Zeilen, die gelöscht werden sollen nicht einfach gelöscht werden, sondern in ein "Archiv" verschoben werden.
Wie mache ich das am besten? Gibt es eine gute Idee?

Bis jetzt habe ich mir überlegt, dass eine zweite DB ja Quatsch ist, da ich mich dann vor Redundanzen nicht retten kann...
Weiterhin dachte ich daran, eín jede Tabelle eine Spalte mit dem Wert "archiv" einzufügen. Macht das Sinn?

Würde mich über ein paar Denkanstöße freuen... von mir aus auch ein Wink mit dem Bretterzaun ;)
 
Du machst ein DB-Feld "archiv", das standard auf 0 ist und wenn es im Archiv sein soll setzt du es einfach auf 1.

Dann wäre die Abfrage
SELECT * FROM `tabelle` WHERE `archiv` = 0/1

:)

/€dit:
Sorry, hatte nicht bis ganz zu Ende gelesen, das wolltest du ja eh machen ;)

Klar, das ist die beste Lösung :)
 
Mein Chef möchte die Daten gern behalten, um z.B. zu vermeiden, dass "doofe" Mitarbeiter einfach was falsches löschen. Ich verstehe ihn ja, denn wenn die falschen Daten gelöscht werden, wäre das nicht so toll. Er möchte halt die Daten wirklich nur archivieren. Später hat das ganze dann eine Reportingfunktion.

Aber ändert das was am Sachverhalt? Fakt ist, dass es irgendwie archiviert werden muss, fragt sich nur wie es am schnellsten und einfachsten ist.....
 
Hm, ich mache es momentan mit einer Status Spalte, 0 steht für inaktiv, 1 für aktiv, und 2 für gelöscht/archiviert, kommt im Endeffekt auf das gleiche raus.
 
Also geht es nicht darum, Daten zu archivieren, sondern es sollen beim Löschen Sicherungskopien angelegt werden. PostgreSQL z.B. bietet die Möglichkeit Regeln zu definieren, die z.B. beim Löschen eines Datensatzes den Datensatz in eine andere Tabelle eintragen.
Das wäre wohl die beste und einfachste Möglichkeit.
 
ich würde mal sagen die Idee mit der zusätzlichen Spalte ist nicht schlecht, würde ich auch so machen...ist auch sehr einfach zu realisieren.
gruss
 
Zurück