Hallo!

> Ja aber bei so kleinen Webseiten wie die meisten hier machen 
> braucht man das nicht oder?

Ich weiß, dass Du jetzt nicht die "Größe" einer Website als Maßstab
nehmen willst, aber ich benutze lieber von vornherein Transaktionen,
bevor der Kunde mit irgendwelchen Reklamationen kommt.

Z. B. ein Menu:
2 Menus sollen Ihre Position tauschen; Für die Integrität ist es
wichtig, dass entweder keine oder beide Datensätze modifiziert werden.
Wenn das erste Update klappt und das zweite nicht, kann man zwar das
erste wieder rückgängig machen, aber was ist, wenn zwischendrin der
Server abschmiert, oder ein anderer Benutzer den ersten Datensatz wieder
ändert?

Viele solche "unsicheren" Datenbankoperationen treten in der Testphase
gar nicht auf, vor allem, wenn man auch nur alleine testet. Und im
Produktionsbetrieb kann es dann auch eine ganze Weile dauern, bis die
Datenintegrität leidet. Und dann muss man das Programm ändern und
zusätzlich die Datenbank reinigen.

Z. B. verknüpfte Tabellen:
Wenn sich Schlüsselwerte ändern, muss das in der Haupt- und in der
Untertabelle erfolgen. Referentielle Integrität lässt sich ohne
Transaktionen gar nicht sicher bewerkstelligen. Der SQL Server aktiviert
und bestätigt Transaktionen sogar automatisch für Trigger-Funktionen.

Genau so wichtig wie Transaktionen ist ein Logical Record Locking für
die Datenintegrität. Es gibt zwar keine 100% Sicherheit, aber
Transaktionen und LRL sind kein großer Aufwand und deshalb nutze ich das
auch bei kleinen Datenbanken.

Freundliche Grüße
Joachim van de Bruck 


| [aspdedotnet] als archive@jab.org subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
| Sie können sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp

Antwort per Email an