On Wednesday 04 September 2002 10:16, Stefan Lagotzki wrote:
es war nur ein Uebungsbeispiel. Mir war klar, dass es IRL anders gemacht wird. Aber wenn es nur die Kontenverwaltung auf einem Rechner mit einem User waere, dann wuerde es funktionieren(??).
Transaktionen decken den (seltenen) Fall ab, daß inmitten einer solchen Abfrage z.B. der Strom ausfällt oder eine sonstige Unterbrechung geschieht. Egal, ob nun zuerst in A geschrieben und dann in B gelöscht wird, oder umgekehrt, es kommt immer zu Inkonistenzen (fehlende bzw. doppelte Einträge). Das ist sogar fast 1:1 mit Journaling Dateisystemen zu vergleichen: Auch dort wird ein Log geführt, welches im Bedarfsfall dazu dient, einen Urzustand wieder herzustellen.
In MySQL gibt es auch Transaktionen, allerdings werden die erst ab Version 4 standardmäßig mit dabei sein, und die sollte man für wichtige Daten noch nicht einsetzen.
Aber Postgres wollte ich mir sowieso schon lange mal ansehen.
Solltest du. Heut Mittag wurde 7.3beta fertig gestellt und wird morgen oder übermorgen sicher zum Download bereitstehen. Dort ist endlich ein DROP COLUMN mit drin, und auch CREATE TABLE xxx WITH OWNER yyy, was für mich eigentlich noch die letzten Kritikpunkte waren.
Praxisbeispiel: Ich habe für Kommilitonen während der Prüfungszeit eine Postgres-Datenbank bereitgestellt, damit sie sich nicht mit dieser abartigen Sybase-DB quälen mußten (und MySQL hat nur etwa 70% der Beispiele beherrscht). Nun konnte ich zwar Rechte vergeben, aber ein GRANT CREATE gab es noch nicht, so daß jeder dort unendlich viele Tabellen hätte erstellen können, wo er wiederum volle Schreibrechte drin gehabt hätte.
Josef