SQL Tabellen synchronisiere

Nemesis

Nemesis

N3RD
hi,
ich möchte mir eine history von datensätzen anlegen, um änderungen nachvollziehen zu können.
dazu soll die tabelle mit den sich ändernden datensätzen, hier mal TabVar genannt mit der History-Tabelle, hier mal history genannt, verglichen werden.
hat sich dann an einem eintrag etwas geändert, so soll dieser in die history übernommen werden. was an den einträgen gleich bleibt ist der Name, damit können sie verglichen werden.

bisher habe ich nicht viel hinbekommen, ich kann lediglich einträge die noch nicht in der History vorhanden sind hinzufügen, aber wie ist es, wenn sich ein attribut geändert hat ?

zum verständnis hier mal die tabellen:

TabVar:
ID
HostName
Gebäude
Raum
Zimmer

History:
ID
HostName
Komplex
Gebäude
Zimmer

und nun soll wenn sich für einen HostNamen das Gebäude, der Komplex, das Gebäude oder der Raum geändert hat, der Eintrag in die history geschrieben werden.

was ich bisher habe, ist, dass nicht vorhandene Hostnamen ergänzt werden, diese abfrage muss vor der eigentlichen durchgeführt werden.

THX!
 
Moin,

ich würde hier Trigger und Stored Procedures verwenden für die Historie.

Dann würde ich in der Historientabelle aber die ReferenzID Speichern aus deiner TabVar Tabelle. Hinzukommt, du brauchst eine VersionierungsID.

Dann legst du Trigger auf deine Tabelle TabVar die auf INSERT, UPDATE und DELETE reagieren und dann was in die Historie weg speichern.

Mfg Frank
 
so etwas würde ich mit MASTER-SLAVE rangehen .... Das ist zwar eine Replication der Datenbank, aber du hast auch eine history. Du kannst natürlich auch nur einen MASTER einrichten ohne einen Slave, dann werden alle vorgänge dennoch gespeichert. Allerdings bin ich mir nicht sicher, ob diese von Mysql als PlainText gespeichert werden.
 
ohje, jetzt versteh ich nur noch bahnhof ^^
es geht nur darum, dass dann später einmal nachverfolgt werden kann, an welchem standort ein rechner war, also mittels abfrage, dann die "route" an der er gestanden hat nachvollzogen werden kann.
 
das hat aber doch nix mit datenbanken zu tun :> oder ? :D
 
@foexle:
Was hat das mit Master und Slave zu tun wenn du Daten Versioniert Speichern willst und diese Abfragen willst?!
 
Nunja du hast in den binlogs die history drin stehen, worüber der slave die daten abgleicht.
Aber du hast natürlich recht, für den gebrauch ist das wohl ein wenig semioptimal, das es ein wenig übertrieben ist.
Btw von einer Versionierung war doch hier nie die Rede oder ?
 
Doch. Darum geht es ja hier eigentlich und nicht um eine Master/Slave geschichte oder Wegloggen der SQL Statements.
 
ahm ... wovon habt ihr es eigentlich gerade ?

der sinn ist ... in der TabVar ändert sich bei manchen hosts der standort, und das soll in der history dokumentiert werden, damit dann mit ner einfachen abfrage in der history eine liste ausgegeben werden kann, die die standorte des rechners aufzeigt.
 
Zurück
Oben