Tom: Bestand / Buchung

Beitrag lesen

Hello,

Oder errechne ich mir den Bestand in meinem Programm anhand der Buchungen.

Ja, seit der letzten Inventur.

Wie viele Buchungen musst du denn durchhecheln? Wenn es Tausende sind, macht ein mit jeder Buchung aktualisierter Bestand wieder Sinn aus Zeitgründen.

Damit hast du dann aber ein anderes Problem, wenn nämlich zwei User zeitgleich buchen und jeder geht von dem vorherigen (für beide gleichen) Bestand aus.

Das kann nichgt passieren.
Die Bewegungsdaten sind ohnehin unabhängig von Raceconditions.
Bei den Kumulationsdaten kann das von Dir beschriebene Szenario aber auch nicht passieren, weil die Datenbank sich darum kümmert.

Die Rechnung 5-2=3 ist unabhängig von ihrem Zeitpunkt.

Das Verringern des Bestandes um 2 Einheiten wird also immer das richtige Ergebnis geben, wenn alle Werte innerhalb der erlaubten Grenzen bleiben. Dafür muss man natürlich sorgen.

Es ist also egal, ob der andere User bereits seine 2 Einheiten abziehen lassen hat, oder es noch tun muss. Die Datenbank rechnet mit ihren Werten aus der Tabelle und diese Rechnung ist atomar gekapselt.

Liebe Grüße aus Syburg bei Dortmund

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de