Zitat von
HaJo:
Aber was Transaktionen sind und wie man sie benutzt ist mir äusserst suspekt.
Transaktionen machen eigentlich nur wirklich Sinn, wenn es sich um Mehrbenutzersysteme handelt.
Paradox und co. sind dafür z.B. eh nicht ausgelegt, deshalb gibt es da auch keine Transaktionen. Alles, was in
Paradox zur
DB geschickt wird, wird auch sofort reingeschrieben.
Transaktionen werden gestartet. Anschliessend können Änderungen an den Datenbankrecords gemacht werden, soviele wie nötig. Erst durch ein Commit werden diese Änderungen auch für die anderen User in der
DB sichtbar, rsp. durch ein Rollback werden die Änderungen komplett verworfen. In der Session, wo du eine Transaktion startest, siehst du auch sofort die Änderungen. Fügst du also einen Datensatzu ein, ist der für dich auch gleich sichtbar, für die anderen im Netz nicht.
Nicht alle Datenbanksysteme unterstützen Transaktionen, auch nicht wenn sie als Aushängeschild Mehrbenutzerfähigkeit haben. Ich brauch da nur
MySQL zu nennen. Lediglich der Tabellentyp InnoDB bietet Transaktionen an, der Standardtyp und auch der einzige, der in der Anwendung keine Lizenzen erfordert, ist MyIsam. Aber das nur am Rande. Alle Großen (Oracle,
MSSQL...) unterstützen selbstverständlich Transaktionen.