SYRARE Geschrieben 22. Februar 2003 Teilen Geschrieben 22. Februar 2003 Abend Leute, Frage, wie lautet der Fachbegriff zu folgendem Problem: "Zwei Benutzer rufen die gleichen Datensätze aus einer Tabelle ab. Als Rückgabewert erhalten beide ein ungebundenes Recordset. Benutzer 1 ändert die ersten 5 Einträge und schiebt das geänderte Recordset zurück an die Datenquelle. Benutzer 2 hingegen editiert die ersten 10 Datensätze nach beliebigen Vorgaben und schickt ebenfalls seine Daten zur Datenbank zurück. Folge: Änderungen von Benutzer 1 wurden durch Daten von Benutzer 2 überschrieben. :mod:" mfg SYRARE Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crush Geschrieben 22. Februar 2003 Teilen Geschrieben 22. Februar 2003 Wenn 2 Benutzer Daten gleichzeitig bearbeiten und die Datenbank das nicht merkt würde ich sagen, daß das die operationale Konsistenz nicht gewährleistet ist und das Transaktionskonzept, welches genau deshalb erfunden wurde, wohl nicht vorhanden ist, was heutzutage eigentlich undenkbar ist. Es handelt sich um eine Transaktionskollision, bzw. einem Write-Write-Conflict welche zu Dateninkonsitzenz führt. Deshalb muß man Transaktionen mit zusätzlichen Datensätzen versionieren und somit in Versionsbäume, bzw. -ketten splitten, je nach Bedarf ist somit parallele Datenverarbeitung möglich (derartige Funktionalitäten werden aber von der Datenbank selber nicht immer direkt zur Verfügung gestellt und muß u.U. in Software implementiert werden), je nach Ast ist nur eine dieser Versionsketten aktuell - das Problem (fast) gelöst. Eine Hilfe wären noch Sperrverfahren wie das locken/unlocken (zur Bearbeitung freigeben oder schließen) der Datensätze, damit sich Transaktionen auf gleiche Datensätze nicht überschneiden können. Das Schreiben/Updaten + Committen sichert die Transaktion und verhindert dadurch parallele DB-Schreibvorgänge. Viele Sicherheitskonzepte erzeugen aber oft auch redundante Daten und verschwenden manchmal sinnlos Speicherplatz, was man eben durch das Locken verhindern kann. Ohne diese würden tatsächlich mehrere User mit dem gleichen Datensatz arbeiten ... das ist fatal. Es gibt zur Problemlösung mehrere Ansätze, die ich hier nicht weiter breittreten, sondern nur aufzählen möchte: offen/geschlossen/normal geschachtelte, mehrstufige und dynamisch strukturierte Transaktionen, um solche Probleme weiter zu vermeiden ohne die Versionierungen vornehmen zu müssen. Ein interner Sicherungsvorgang ist das Shadowing von Datensätzen. Weitere Infos zu Datenbankkonzepten kann man noch unter den Stichworten relationale, objektorientierte und objektrelationale Datenbanken finden. So, war zwar etwas mehr als gefragt, aber hoffentlich das gesuchte Wort mit dabei =8-) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SYRARE Geschrieben 23. Februar 2003 Autor Teilen Geschrieben 23. Februar 2003 Danke :uli mfg SYRARE Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.