EIne Transaktion ist dazu da zu garantieren dass in dei
DB kommt was zusammen rein muss. Sprich entweder alles oder eben nichts.
Darum sollte man immer relativ wenig Transactieren bzw. die Transaction schnell durchführen !
Warum =>
Weil sonst keiner wirklich parallel auf die Daten zugreifen kann. Denn wenn er auch eine Transaction startet geht sehr wahrscheinlich eien schief. Naja und wenn du dass auch 10000 Transacts. ausweitest (zB. Bank und Buchungen) dann kannste dir vorstellen wieviel da daneben geht udn die Rechner bzw. die
DB hängt.
Darum wird angesprochen dass zuerst dein Programm alles Speichert und dann in eienm Rutsch an die
DB sendet.
Ein Beispiel:
Ich arbeite gerade an einer Abrechnungsverwaltung. Da geht der User durch etliche Sceens , kann x eingaben machen udn am Ende wird alles gespeichert in der
DB.
Ich habe jetzt 2 Lösungsansätze hierzu, einen falschen udn eienn richtigen.
Zuerst der Falsche.
Ich mache eien Transaktion auf und schreibe immer alles was der User verändert ind die
DB rein. LEse dort auch alles wieder aus, wenn er den Tab Sheet wechselt usw.
Die Transaction dauet dadurch , zur Not, Stunden.
Andere Möglichkeit, ich lade alle Daten in einen eigeenn Struct-Typ , lasse den User wurschteln was er will und halte alles im Speicher. Erst wenn er senden drückt geeh ich an die
DB und versuche sie zu beschreiben. Die Transaktion wird innerhal von sekunden durchgeführt und es ist unwahrscheinlich dass ein anderer User gerade die selben Daten braucht.